- Shipped
- November 13, 2026 at 12:16 AM UTC
- Author
- Kamo
- Commit
- b595af1
The services now answer a refusal as {error, code, params}. The Invoice tab (work orders and retail orders), its Issue Credit Note, Record Refund, Void Invoice, Record Payment and Email Invoice / Receipt / Credit Note dialogs, and Accept Card Payments show the dictionary words for the code (app/lib/invoiceRefusal.ts), with amounts formatted in the reader's locale and the invoice's currency. A refusal with no code, or a code this page does not know yet, still shows the service's English sentence, so nothing reads worse than before. The card payments proxy passes the code on.
