From 249aab274b5970b610048999223760824e5d1a60 Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 15:21:25 +0000 Subject: [PATCH 1/6] fix(#2495): fixed gocardless import ID --- packages/loot-core/src/server/accounts/sync.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/loot-core/src/server/accounts/sync.ts b/packages/loot-core/src/server/accounts/sync.ts index 5add734d796..8bc51f3ceee 100644 --- a/packages/loot-core/src/server/accounts/sync.ts +++ b/packages/loot-core/src/server/accounts/sync.ts @@ -364,7 +364,10 @@ async function normalizeBankSyncTransactions(transactions, acctId) { date: trans.date, notes: notes.trim().replace('#', '##'), category: trans.category ?? null, - imported_id: trans.transactionId, + imported_id: + !trans.cleared || trans.transactionId + ? trans.transactionId + : `${trans.account}-${trans.internalTransactionId}`, imported_payee: trans.imported_payee, cleared: trans.cleared, }, From 16aab5cefbbaa8727b1784bd7c6f6d23cdd5319f Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 15:37:20 +0000 Subject: [PATCH 2/6] chore: added release note --- upcoming-release-notes/4241.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 upcoming-release-notes/4241.md diff --git a/upcoming-release-notes/4241.md b/upcoming-release-notes/4241.md new file mode 100644 index 00000000000..3084c09875d --- /dev/null +++ b/upcoming-release-notes/4241.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [NullScope] +--- + +Fix GoCardless transaction ID to fallback to it's own generated ID From 9a0b8b82e65f18e3cf58c1657ad2222ba6e87077 Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 15:45:56 +0000 Subject: [PATCH 3/6] chore: updated release note --- upcoming-release-notes/4241.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upcoming-release-notes/4241.md b/upcoming-release-notes/4241.md index 3084c09875d..386e0858515 100644 --- a/upcoming-release-notes/4241.md +++ b/upcoming-release-notes/4241.md @@ -3,4 +3,4 @@ category: Bugfix authors: [NullScope] --- -Fix GoCardless transaction ID to fallback to it's own generated ID +Fix GoCardless transaction ID to fallback to it's own generated ID on sync From ec16c990417c4a28d275ff32f8b4474feed08e43 Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 15:53:14 +0000 Subject: [PATCH 4/6] refactor: made condition more clear --- packages/loot-core/src/server/accounts/sync.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/loot-core/src/server/accounts/sync.ts b/packages/loot-core/src/server/accounts/sync.ts index 8bc51f3ceee..693893c376e 100644 --- a/packages/loot-core/src/server/accounts/sync.ts +++ b/packages/loot-core/src/server/accounts/sync.ts @@ -365,9 +365,9 @@ async function normalizeBankSyncTransactions(transactions, acctId) { notes: notes.trim().replace('#', '##'), category: trans.category ?? null, imported_id: - !trans.cleared || trans.transactionId - ? trans.transactionId - : `${trans.account}-${trans.internalTransactionId}`, + trans.cleared && !trans.transactionId + ? `${trans.account}-${trans.internalTransactionId}` + : trans.transactionId, imported_payee: trans.imported_payee, cleared: trans.cleared, }, From fcbc9067f47a3aecb67d0279ea0c97fc81e04e09 Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 18:42:33 +0000 Subject: [PATCH 5/6] Revert "refactor: made condition more clear" This reverts commit ec16c990417c4a28d275ff32f8b4474feed08e43. --- packages/loot-core/src/server/accounts/sync.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/loot-core/src/server/accounts/sync.ts b/packages/loot-core/src/server/accounts/sync.ts index 693893c376e..8bc51f3ceee 100644 --- a/packages/loot-core/src/server/accounts/sync.ts +++ b/packages/loot-core/src/server/accounts/sync.ts @@ -365,9 +365,9 @@ async function normalizeBankSyncTransactions(transactions, acctId) { notes: notes.trim().replace('#', '##'), category: trans.category ?? null, imported_id: - trans.cleared && !trans.transactionId - ? `${trans.account}-${trans.internalTransactionId}` - : trans.transactionId, + !trans.cleared || trans.transactionId + ? trans.transactionId + : `${trans.account}-${trans.internalTransactionId}`, imported_payee: trans.imported_payee, cleared: trans.cleared, }, From 5eda09e160d4b4b6c1cbc78450ac85328e742639 Mon Sep 17 00:00:00 2001 From: Bruno Ribeiro Date: Sat, 25 Jan 2025 18:49:29 +0000 Subject: [PATCH 6/6] fix: added edge case --- packages/loot-core/src/server/accounts/sync.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/loot-core/src/server/accounts/sync.ts b/packages/loot-core/src/server/accounts/sync.ts index 8bc51f3ceee..75651164212 100644 --- a/packages/loot-core/src/server/accounts/sync.ts +++ b/packages/loot-core/src/server/accounts/sync.ts @@ -351,6 +351,12 @@ async function normalizeBankSyncTransactions(transactions, acctId) { trans.cleared = Boolean(trans.booked); + let imported_id = trans.transactionId; + + if (trans.cleared && !trans.transactionId && trans.internalTransactionId) { + imported_id = `${trans.account}-${trans.internalTransactionId}`; + } + const notes = trans.remittanceInformationUnstructured || (trans.remittanceInformationUnstructuredArray || []).join(', '); @@ -364,10 +370,7 @@ async function normalizeBankSyncTransactions(transactions, acctId) { date: trans.date, notes: notes.trim().replace('#', '##'), category: trans.category ?? null, - imported_id: - !trans.cleared || trans.transactionId - ? trans.transactionId - : `${trans.account}-${trans.internalTransactionId}`, + imported_id, imported_payee: trans.imported_payee, cleared: trans.cleared, },