mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-15 22:54:03 -05:00
Closed
opened 2026-04-10 18:05:01 -05:00 by GiteaMirror
·
18 comments
No Branch/Tag Specified
master
dependabot/npm_and_yarn/npm_and_yarn-cd62b4b37a
enforce-append-only-migrations-ci
claude/error-codes-worker-boundary-26i5uu
api-browser-custom-data-dir
tabedzki/feat/replacing-month-picker-with-day-picker
delay-initial-sync-until-loaded
jfdoming/mobile-app-build
cross-version-sync-compat
jfdoming/api-tokens-part-1
jfdoming/api-tokens-part-2
jfdoming/api-tokens-part-3
jfdoming/mobile-app-updates
claude/budget-version-migration-compat-151jlr
claude/worker-error-serialization-9iqtl7
claude/react-table-library-research-afx83z
claude/issue-8401-regression-test-9nw9l3
jfdoming/mobile-app-foundation-part-1
jfdoming/mobile-app-scaffold
release
ai-fix-cleanup-def-8290
claude/relaxed-shannon-jusywa
claude/fervent-keller-s6f2fq
claude/determined-feynman-st1y9z
claude/wizardly-einstein-vi2wce
claude/sweet-albattani-7nseio
feat/bank-sync-per-budget-file
claude/affectionate-cannon-y0kc82
claude/dependabot-findings-m9pgmb
claude/mac-app-ios-publish-zjs1lz
claude/vigilant-tesla-aiiyos
depot-migrate-secrets-1781296330308
claude/quirky-cerf-v5qck7
claude/animation-removal-alternative-2etfh1
claude/netlify-preview-comments-consolidate-9XPYa
osc/7391-error-boundaries-reports
claude/pensive-dijkstra-7DYui
claude/server-app-version-mismatch-HTCGv
claude/pr-8027-review-feedback-mELuO
claude/zealous-wozniak-e5pO0
claude/intelligent-heisenberg-BSHJq
claude/translation-download-refactor-jFRsO
claude/mobile-performance-ideas-G9PAO
claude/github-issue-7988-5A5ly
blacksmith-migration-ff70d2d
claude/great-mayer-KRvOk
claude/react-native-ios-compilation-fcJh5
claude/serene-goldberg-58xv0
claude/kind-euler-LVG3K
release-automation/edge-nightly
7710-bundle-migrations
claude/fix-docker-build-error-WMfed
claude/llm-compatible-release-notes-t20Nr
7710-tests-tdd
cursor/transaction-table-rewrite-f077
claude/plan-ci-secure-context-OtEe1
claude/fix-issue-7667-DPXi3
cursor/resolve-pr-7449-ee11
claude/fix-typescript-build-error-JPtZ5
copilot/add-repository-configs-to-packages
worktree-compressed-drifting-ritchie
claude/api-consumer-verification-kfz1K
pr-7454
claude/fix-issue-7410-LLLQ4
revert-7281-generate-icons
react-query-useSchedules
copilot/sub-pr-6140
package-upgrades
v26.7.0
v26.6.0
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
tech-support
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#7952
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Phil89a on GitHub (Mar 29, 2024).
Original GitHub issue: https://github.com/actualbudget/actual/issues/2519
Verified issue does not already exist?
Is this related to GoCardless, Simplefin or another bank-sync provider?
What happened?
I am not sure if this is a bug with Actual or GoCardLess or Open Banking, but since yesterday I am getting duplicate transactions imported when sync'ing with Barclays Bank. If I delete a duplicate, it comes back on the next sync. I have tried unlinking the account and creating a new account and linking that - no difference. I have also created a new file, linked the Bank Accounts and still I get duplicates (mostly duplicated twice, but sometimes 3 times)
This has been working fine for weeks now; just started yesterday.
Basically I can't use Actual as the duplicates can't be removed and throw my budgeting out.
Any ideas how to fix this - or track down the issue?
What error did you receive?
No error; just duplicated transactions (in my case about 100 of them)
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
Safari
Operating System
Mac OSX
@Phil89a commented on GitHub (Mar 30, 2024):
Update - have ruled out that the problem is with Barclays' Open Banking side by linking the accounts via another service and sync'ing the accounts. No duplicates.
So it is either with GoCardLess or Actual. Anyway to get a better idea where ?
@Phil89a commented on GitHub (Mar 30, 2024):
Further update - removed Actual completely and created a new Docker Container and database. Also, recreated my Secrets key with GoCardless and tried again. Still importing duplicates - I think this points to a problem with Actual talking to GoCardLess but I am no expert.
Actual is still unusable for me 🙁
@MatissJanis commented on GitHub (Mar 30, 2024):
👋 Hi! Can you please provide a way to reproduce this issue? Without being able to reproduce there is very little we can do to help here.
@Phil89a commented on GitHub (Mar 30, 2024):
Not sure how I can provide a way to reproduce. I can recreate the problem for me just by sync'ing with the bank.
I am assuming something is wrong with the logic that is matching existing transactions with the transactions being imported and that is stopping it recognising the transaction is there, so creates it again.
Is there any data I could provide from the database that may help identify what might be happening?
I did look for an Ignore option that would ignore the erroneous transactions as that would enable me to ignore these.
Please let me know if I can provide anything as I really want to keep using Actual but with things "randomly" duplicating I can't 🙁
@MatissJanis commented on GitHub (Mar 30, 2024):
With those two artefacts I should be able to reproduce the issue.
@Phil89a commented on GitHub (Mar 30, 2024):
OK, will do this - can you point me how to get to the server logs?
@MatissJanis commented on GitHub (Mar 30, 2024):
That very much depends on how you are hosting Actual. Sadly I won't be able to help with that.
@Phil89a commented on GitHub (Mar 30, 2024):
It’s okay - thought it was an Actual Server Log - but it is in the Docker Container’s Logs :-).
Will send it over in a few mins
@Phil89a commented on GitHub (Mar 30, 2024):
OK - hopefully got the right files....
You will see in this extract it duplicates the transaction on the 2nd Jan - only duplicates it once. If I delete it it comes back; if I delete it and the original they both come back
Let me know if you need anything else
Thanks
Exported Budget.zip
Log File Extract.txt
@MatissJanis commented on GitHub (Mar 30, 2024):
So looking at the
.txtfile (server logs): you have two transactions on the 2nd of Jan. They are not duplicated. They are two unique transactions. Each has its own unique transaction ID.@Phil89a commented on GitHub (Mar 30, 2024):
But there should only be one transaction for that date. If I check the bank statement, there is only one credit for interest. So is duplicated from that point of view. Somewhere a new transaction is being created between bank and Actual ??PhilOn 30 Mar 2024, at 21:26, Matiss Janis Aboltins @.***> wrote:
So looking at the .txt file (server logs): you have two transactions on the 2nd of Jan. They are not duplicated. They are two unique transactions. Each has its own unique transaction ID.
{
"bookingDate": "2024-02-01",
"valueDate": "2024-02-01",
"bookingDateTime": "2024-02-01T00:38:36Z",
"valueDateTime": "2024-02-01T00:00:00.000Z",
"transactionAmount": {
"amount": "0.06",
"currency": "GBP"
},
"remittanceInformationUnstructured": "INTEREST PAID GROSS FOR PERIOD 2JAN/31JAN",
"internalTransactionId": "9f38623478143f92fb8921ac635342f2",
"date": "2024-02-01"
},
{
"bookingDate": "2024-02-01",
"valueDate": "2024-02-01",
"bookingDateTime": "2024-02-01T00:00:00Z",
"valueDateTime": "2024-02-01T00:38:36.530Z",
"transactionAmount": {
"amount": "0.06",
"currency": "GBP"
},
"remittanceInformationUnstructured": "INTEREST PAID GROSS FOR PERIOD 2JAN/31JAN",
"internalTransactionId": "3e1aa309baa54d381315bcb857b9bee0",
"date": "2024-02-01"
},
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>
@MatissJanis commented on GitHub (Mar 30, 2024):
If GoCardless (and by extension your banks API) returns two transactions - we just take that and import it in Actual. The disconnect has to be somewhere between the bank and GoCardless, so I'd recommend reaching out to GoCardless first and see why they return an extra transaction that you're not seeing in your bank.
@Phil89a commented on GitHub (Mar 30, 2024):
Ok thanks - will doOn 30 Mar 2024, at 21:34, Matiss Janis Aboltins @.***> wrote:
If GoCardless (and by extension your banks API) returns two transactions - we just take that and import it in Actual. The disconnect has to be somewhere between the bank and GoCardless, so I'd recommend reaching out to GoCardless first and see why they return an extra transaction that you're not seeing in your bank.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>
@londondev77 commented on GitHub (Apr 4, 2024):
I am having the exact same issues with Barclays. I delete the duplicate transactions and they reappear on the next sync. It also happens if I zero out the transaction. Regardless of whether GoCardless is returning duplicate transactions, shouldn't my manual overrides persist when syncing or does this mean GoCardless is returning different transactionIDs each time so Actual doesn't realise to keep my manual overrides?
I couldn't get the server log files to display my duplicate transactions however I went onto the GoCardless website and created a test account to view the data - this clearly showed the duplicate transactions, example below. Different internalTransactionIDs, bookingDateTime and valueDateTime values transposed between the two - exactly the same as in a comment above.
@Phil89a - can you report back if you have any success with GoCardless? I'll also contact them and will report back if I have any success.
@Phil89a commented on GitHub (Apr 4, 2024):
@londondev77 Will do
@londondev77 commented on GitHub (Apr 4, 2024):
Response from GoCardless
@Phil89a commented on GitHub (Apr 12, 2024):
@londondev77 GoCardLess have just told me this is fixed. I have deleted my duplicated transactions, re-sync'ed and no duplicates appeared
@londondev77 commented on GitHub (Apr 12, 2024):
@Phil89a - thanks for the headsup. Looks like it's working correctly for me too.