[PR #1373] [MERGED] Add support for importing the first row of a CSV file without a header row #18061

Closed
opened 2026-04-14 20:33:38 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/1373
Author: @j-f1
Created: 7/20/2023
Status: Merged
Merged: 7/21/2023
Merged by: @j-f1

Base: masterHead: jed/headerless


📝 Commits (9)

  • 7a34965 Migrate ImportTransactions to useActions/useSelector
  • 97e0523 Reformat the import options a bit to improve consistency
  • f3a83e6 Refactor a bit more: add CheckboxOption
  • eb8596e Add support for parsing CSV files with no header row
  • 507fef3 More polish
  • ab492f5 Add release note
  • 1d0014f types!
  • 03fba90 Merge branch 'master' into jed/headerless
  • deb2954 Fix type

📊 Changes

4 files changed (+151 additions, -121 deletions)

View changed files

📝 packages/desktop-client/src/components/modals/ImportTransactions.js (+139 -118)
📝 packages/loot-core/src/client/state-types/prefs.d.ts (+1 -0)
📝 packages/loot-core/src/server/accounts/parse-file.ts (+5 -3)
upcoming-release-notes/1373.md (+6 -0)

📄 Description

Fixes #1326. Adds a new “File has header row” checkbox (checked by default, persisted per account). When this is unchecked, the file is re-parsed into an array of arrays. Since just showing the zero-based indices to choose between would be a bit unfriendly, I labelled each option a “Column n (example value from first row)” where n is one-based:

I also took the opportunity to refactor/polish the import modal a bit:

  • checking/unchecking the multiplier option no longer causes a layout shift
  • Updated the column headers to “Amount Options” and “CSV Options”
  • Added a reusable component for the checkboxes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/1373 **Author:** [@j-f1](https://github.com/j-f1) **Created:** 7/20/2023 **Status:** ✅ Merged **Merged:** 7/21/2023 **Merged by:** [@j-f1](https://github.com/j-f1) **Base:** `master` ← **Head:** `jed/headerless` --- ### 📝 Commits (9) - [`7a34965`](https://github.com/actualbudget/actual/commit/7a349656ebfb4c5181a6c482385f37f595d2e4d6) Migrate ImportTransactions to useActions/useSelector - [`97e0523`](https://github.com/actualbudget/actual/commit/97e0523bddd00e5dd5b77bebe7d1fc2a37e324f3) Reformat the import options a bit to improve consistency - [`f3a83e6`](https://github.com/actualbudget/actual/commit/f3a83e66daec8213fc663b15c11c979af27a22b2) Refactor a bit more: add CheckboxOption - [`eb8596e`](https://github.com/actualbudget/actual/commit/eb8596ed39518b2533af6403b1527ffab8aed573) Add support for parsing CSV files with no header row - [`507fef3`](https://github.com/actualbudget/actual/commit/507fef3f360c1d68f3043e41fe93a215ae116ab5) More polish - [`ab492f5`](https://github.com/actualbudget/actual/commit/ab492f55d35930ea5eb5c473fac088e04f4d5630) Add release note - [`1d0014f`](https://github.com/actualbudget/actual/commit/1d0014f196cfd4cc6cdc50537a8de2915d5bee6a) types! - [`03fba90`](https://github.com/actualbudget/actual/commit/03fba901e2af792eb9443849c1fd0fc79e3dfb84) Merge branch 'master' into jed/headerless - [`deb2954`](https://github.com/actualbudget/actual/commit/deb2954a25e064f55e10b303826d206d30e7cec5) Fix type ### 📊 Changes **4 files changed** (+151 additions, -121 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/modals/ImportTransactions.js` (+139 -118) 📝 `packages/loot-core/src/client/state-types/prefs.d.ts` (+1 -0) 📝 `packages/loot-core/src/server/accounts/parse-file.ts` (+5 -3) ➕ `upcoming-release-notes/1373.md` (+6 -0) </details> ### 📄 Description Fixes #1326. Adds a new “File has header row” checkbox (checked by default, persisted per account). When this is unchecked, the file is re-parsed into an array of arrays. Since just showing the zero-based indices to choose between would be a bit unfriendly, I labelled each option a “Column $n$ (_example value from first row_)” where $n$ is one-based: <img width=410 src=https://github.com/actualbudget/actual/assets/25517624/d77d271a-d9fc-4768-9388-f8f0f062160d> I also took the opportunity to refactor/polish the import modal a bit: - checking/unchecking the multiplier option no longer causes a layout shift - Updated the column headers to “Amount Options” and “CSV Options” - Added a reusable component for the checkboxes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-14 20:33:38 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#18061