From 7c0c440df28cb44fa20623cd830f75f6e5c133ed Mon Sep 17 00:00:00 2001 From: Jed Fox <git@jedfox.com> Date: Sat, 1 Jul 2023 06:28:27 -0400 Subject: [PATCH] Fix importing transfers from YNAB4/5 (#1224) --- packages/import-ynab4/importer.js | 1 + packages/import-ynab5/importer.js | 4 ++++ upcoming-release-notes/1224.md | 6 ++++++ 3 files changed, 11 insertions(+) create mode 100644 upcoming-release-notes/1224.md diff --git a/packages/import-ynab4/importer.js b/packages/import-ynab4/importer.js index c0633e67b..d8b71b0ef 100644 --- a/packages/import-ynab4/importer.js +++ b/packages/import-ynab4/importer.js @@ -222,6 +222,7 @@ async function importTransactions(data, entityIdMap) { transaction.subTransactions && transaction.subTransactions.map((t, i) => { return { + id: entityIdMap.get(t.entityId), amount: amountToInteger(t.amount), category: getCategory(t.categoryId), notes: t.memo || null, diff --git a/packages/import-ynab5/importer.js b/packages/import-ynab5/importer.js index 581f23fc6..d7f79aadd 100644 --- a/packages/import-ynab5/importer.js +++ b/packages/import-ynab5/importer.js @@ -164,6 +164,9 @@ async function importTransactions(data, entityIdMap) { for (let transaction of data.transactions) { entityIdMap.set(transaction.id, uuidv4()); } + for (let transaction of data.subtransactions) { + entityIdMap.set(transaction.id, uuidv4()); + } await Promise.all( Object.keys(transactionsGrouped).map(async accountId => { @@ -180,6 +183,7 @@ async function importTransactions(data, entityIdMap) { if (subtransactions) { subtransactions = subtransactions.map(subtrans => { return { + id: entityIdMap.get(subtrans.id), amount: amountFromYnab(subtrans.amount), category: entityIdMap.get(subtrans.category_id) || null, notes: subtrans.memo, diff --git a/upcoming-release-notes/1224.md b/upcoming-release-notes/1224.md new file mode 100644 index 000000000..9d8b75890 --- /dev/null +++ b/upcoming-release-notes/1224.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [j-f1] +--- + +Imports from YNAB4/nYNAB will now link transfer transactions correctly -- GitLab