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