[Bug]: parseQIF function does not return assigned category thus category is empty on import modal #1625

Open
opened 2026-02-28 19:49:05 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @mrmajmaj on GitHub (Nov 27, 2024).

Verified issue does not already exist?

  • I have searched and found no existing issue
  • I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file)

What happened?

When a QIF file is being imported, qif2json function successfully parses transactions and assigns a category if there is here. But on the return of parseQIF function that assigned category is not being returned as map only returns below properties here

      .map(trans => ({
        amount: trans.amount != null ? looselyParseAmount(trans.amount) : null,
        date: trans.date,
        payee_name: trans.payee,
        imported_payee: trans.payee,
        notes: trans.memo || null,
      }))

In turn categories of imported transactions are not showing up on the import modal. You can also see other parsing functions such as parseCSV on the same file returns all properties, but not parseQIF or parseOFX functions. I can't upload QIF file here for testing but here is contents of the test file

!Type:Bank
D6/24/2024
T-100,58
POutlet
LUsual Expenses:Shopping
MPay Designer Outlet NR:123123123 Mall
^
D6/23/2024
T-20,15
PGroceriesYou
LGroceries
MPay Groceries NR:123123123 Another mall
^
D6/22/2024
T-156,99
PNike
LUsual Expenses:Shopping
MPay Nike NR:123123123123 Nike store
^
D6/21/2024
T-40,60
PRestaurantExample
LFood
MPay Food NR:123123123123 Outlet
^

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Chrome

Operating System

Linux

Originally created by @mrmajmaj on GitHub (Nov 27, 2024). ### Verified issue does not already exist? - [X] I have searched and found no existing issue - [X] I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file) ### What happened? When a QIF file is being imported, `qif2json` function successfully parses transactions and assigns a category if there is [here](https://github.com/actualbudget/actual/blob/master/packages/loot-core/src/server/accounts/qif2json.ts#L73). But on the return of `parseQIF` function that assigned category is not being returned as map only returns below properties [here](https://github.com/actualbudget/actual/blob/master/packages/loot-core/src/server/accounts/parse-file.ts#L109) ``` transactions: data.transactions .map(trans => ({ amount: trans.amount != null ? looselyParseAmount(trans.amount) : null, date: trans.date, payee_name: trans.payee, imported_payee: trans.payee, notes: trans.memo || null, })) ``` In turn categories of imported transactions are not showing up on the import modal. You can also see other parsing functions such as `parseCSV` on the same file returns all properties, but not `parseQIF` or `parseOFX` functions. I can't upload QIF file here for testing but here is contents of the test file > !Type:Bank D6/24/2024 T-100,58 POutlet LUsual Expenses:Shopping MPay Designer Outlet NR:123123123 Mall ^ D6/23/2024 T-20,15 PGroceriesYou LGroceries MPay Groceries NR:123123123 Another mall ^ D6/22/2024 T-156,99 PNike LUsual Expenses:Shopping MPay Nike NR:123123123123 Nike store ^ D6/21/2024 T-40,60 PRestaurantExample LFood MPay Food NR:123123123123 Outlet ^ ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Chrome ### Operating System Linux
GiteaMirror added the good first issuetransaction importbug labels 2026-02-28 19:49:05 -06:00
Author
Owner

@youngcw commented on GitHub (Dec 4, 2024):

feel free to open a PR to fix this if you found the root issue.

@youngcw commented on GitHub (Dec 4, 2024): feel free to open a PR to fix this if you found the root issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#1625