Feature Request: Reimport Exported Transactions without Data Loss
I wanted to use the following workflow to do an in-place update of an account's history in YNAB:
1. Export the transactions for the account
2. De-duplicate the entities in the "Payee" column programmatically (e.g. 'Grocery Store', 'GROCERY STORE', 'GROCERY STORE US', ...)
3. Reimport the modified CSV and replace the old transactions in the account.
Since there is (as far as I can tell) no way to modify the Payee of multiple transactions at once, deduplicating the Payees programmatically was significantly faster than manually retyping the Payee for each of the ~1000 transactions in the account in the YNAB UI.
When I went to reimport the transactions after doing this however, I was surprised to find that YNAB cannot losslessly import its own exported data. Namely, the columns of the exported data are
Account,Flag,Date,Payee,Category Group/Category,Category Group,Category,Memo,Outflow,Inflow,Cleared
but the importer only supports parsing these columns:
Of the columns that are not supported, I think the following are necessary to provide a good user experience:
- 'Flag', which can be parsed as one of the valid colors, and default to none if the color is invalid.
- 'Cleared', which can be parsed as one of the two valid options, and default to uncleared.
- 'Category Group' and 'Category', which could be parsed as follows:
- if either are unset or contain invalid symbols, default to 'This needs a category'.
- if the 'Category Group' or 'Category' don't already exist, either
- create a new 'Category Group' and/or 'Category', or
- default to 'This needs a category'
'Account' isn't relevant since transactions must be imported into a specific account, and 'Category Group/Category' is redundant.
This would make YNAB a significantly more flexible tool that users can integrate seamlessly with other workflows.