fix(payments): correct pain.001 dialect per Swedbank Validex run (#1507)

* fix(payments): correct pain.001 dialect per Swedbank Validex run

Real MIG validation (eken.validex.net) rejected the first generated file
on four rules: character set (e-acute in names), missing InitgPty OrgId,
BGNR creditors demanding a BGNR debtor, and Strd lacking RfrdDocAmt.
Names and messages now transliterate to the MIG set, the org number is
required at batch creation (settings first, companies fallback), bankgiro
payees debit the company bankgiro in their own PmtInf group when one
exists (IBAN otherwise, with Cdtr PstlAdr/Ctry SE always present), and
structured OCR remittance repeats the amount as RfrdDocAmt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(payments): review quick wins on the MIG pass

NFC-normalize before transliteration (decomposed marks from PDF-pasted
names fold to the precomposed forms the map knows), a dedicated settings
link label for the missing-org state, and coverage for an invalid
company bankgiro being dropped from the debtor snapshot.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-08-10 20:53:43 +02:00
committed by GitHub
co-authored by Claude Fable 5 Jakob Wennberg
parent f0bedc14af
commit fea5dfd1f9
9 changed files with 281 additions and 54 deletions
+2
View File
@@ -910,7 +910,9 @@
"pain001_agreement_warning": "The file is in ISO 20022 format (pain.001) and is uploaded in your internet bank. Some banks require a file communication agreement; verify that your bank accepts the file well before the payment date.",
"debtor_missing_iban": "The company IBAN is missing and is needed as the sender account in the payment file.",
"debtor_missing_bic": "The company bank's BIC is missing and could not be derived.",
"debtor_missing_org": "The company organisation number is missing and must be stated as the sender identity in the payment file.",
"debtor_missing_link": "Open Settings → Invoicing",
"debtor_missing_org_link": "Open Settings → Company",
"history_title": "Payment files",
"th_created": "Created",
"th_count": "Count",
+2
View File
@@ -910,7 +910,9 @@
"pain001_agreement_warning": "Filen är i ISO 20022-format (pain.001) och laddas upp i internetbanken. Vissa banker kräver filkommunikationsavtal; kontrollera att din bank tar emot filen i god tid före betaldagen.",
"debtor_missing_iban": "Företagets IBAN saknas och behövs som avsändarkonto i betalfilen.",
"debtor_missing_bic": "Företagsbankens BIC saknas och kunde inte härledas.",
"debtor_missing_org": "Företagets organisationsnummer saknas och måste anges som avsändaridentitet i betalfilen.",
"debtor_missing_link": "Öppna Inställningar → Fakturering",
"debtor_missing_org_link": "Öppna Inställningar → Företag",
"history_title": "Betalfiler",
"th_created": "Skapad",
"th_count": "Antal",