actualbudget / actual-server

Actual's server
https://actualbudget.org
MIT License
3.14k stars 598 forks source link

[Bug]: GoCardLess sync for BNP bank results in identical "payee" and "notes" in case of card payment #347

Closed vojeroen closed 5 months ago

vojeroen commented 5 months ago

Verified issue does not already exist?

What happened?

When syncing an account with GoCardLess to a BNP bank account, the "payee" and "notes" fields don't seem to contain appropriate information for card payments.

Example of a card payment: CleanShot 2024-05-01 at 09 52 17@2x

Example of a bank transfer: CleanShot 2024-05-01 at 09 54 12@2x

These result in the following entries in Actual: CleanShot 2024-05-01 at 09 56 08@2x

As you can see, for the bank transfer, everything is fine. The debtor name and account are used as payee, and the notes are as expected.

However, for the card payment, the payee contains the same information as the notes:

Payee = Digital Ticketin Bruxelles, Betaling Met Debetkaart Nummer [redacted] Digital Ticketin Bruxelles 23/04/2024 Bancontact Bankreferentie : [redacted] Valutadatum : 23/04/2024 Notes = DIGITAL TICKETIN BRUXELLES, BETALING MET DEBETKAART NUMMER [redacted] DIGITAL TICKETIN BRUXELLES 23/04/2024 BANCONTACT BANKREFERENTIE : [redacted] VALUTADATUM : 23/04/2024

This raises two concerns:

  1. The payee is always unique, because it includes transaction information. Setting up automatic rules to put transactions of the same shop in a category, is therefore impossible; filtering on payee is impossible, etc...
  2. The payee is repeated in the notes. This is not a problem as such, it's just an unnecessary repetition of information and makes the field a bit harder to read.

What error did you receive?

No errors occurred.

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Safari

Operating System

Mac OSX (browser) Linux (docker host)

MatissJanis commented 5 months ago

👋 Feel free to update the existing BNP bank mapper here or a create a new one if this is a different bank: https://github.com/actualbudget/actual-server/blob/master/src/app-gocardless/banks/bnp-be-gebabebb.js

We don't have access to all the banks of the world, so patching all the GoCardless data inconsistencies (which actually stem from the banks sending inconsistent data) in Actual is near impossible. However, contributions to the bank mappers from the community are more than welcome.