Payment accounts per currency required an IBAN for every non-SEK
currency. USD (ABA routing number) and GBP (sort code) accounts have no
IBAN, so a Wise US or UK receiving account could only be saved by
pasting an IBAN from another currency, which then printed on the invoice
and misrouted the payment.
- InvoicePaymentAccount gains bank_code (routing number / sort code) and
foreign_account_number; JSONB column, no migration.
- Rule, shared by the Zod schema, the client validation and
hasUsableInvoicePaymentAccount: a foreign account is usable with an
IBAN, or, only for NON_IBAN_CURRENCIES (USD, GBP), with bank_code +
foreign_account_number + BIC. EUR/NOK/DKK still require IBAN.
- Settings: the two fields appear only for USD/GBP with the identifier
named per currency (Routing number (ABA) / Sort code), a hint that IBAN
may be left empty, and IBAN no longer marked required there.
- Invoice PDF renders the routing row with the same per-currency label
plus the foreign account number, in both sv and en.
Reported via gnubok_feedback 2026-08-03.
Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>