Reference tests
14 of 14 reference cases pass against the deployed code (run 2026-11-13). Each expected result was worked out by hand first. Machine-readable: tests.json. Rules and calendars come from stored libraries, not a live government feed; a holiday or deadline answer is not legal advice.
| Route | Case | Input | Expected | Result |
|---|---|---|---|---|
/transfer | Valid German IBAN, EUR DE89 3704 0044 0532 0130 00 is the standard published example IBAN. | {"iban":"DE89370400440532013000","amount":"12.50","currency":"EUR"} | ok:true, failed:[] | pass |
/transfer | IBAN with broken check digits Check digits 00 are never valid under ISO 7064 mod 97. | {"iban":"DE00370400440532013000"} | ok:false, failed contains iban | pass |
/transfer | EUR transfer to a non-SEPA country US has no IBAN scheme. | {"iban":"US12345678901234567890","currency":"EUR"} | not ok or unknown input | pass |
/transfer | Remittance text with an emoji SEPA allows basic Latin only. | {"iban":"DE89370400440532013000","reference":"Rechnung 😀"} | failed contains reference_charset | pass |
/invoice | Net + VAT = gross, 19 percent 100 x 1.19 = 119. | {"net":"100.00","vat":"19.00","gross":"119.00","country":"DE"} | ok:true | pass |
/invoice | Gross does not add up 100 + 20 = 120, not 119. | {"net":"100.00","vat":"20.00","gross":"119.00","country":"DE"} | ok:false, failed contains sum | pass |
/invoice | German VAT id with wrong checksum DE123456789 fails the German check digit. | {"net":"100.00","vat":"19.00","gross":"119.00","country":"DE","vatid":"DE123456789"} | ok:false | pass |
/deadline | 5 business days from Tue 2026-12-22, Bavaria Dec 23, 24, 28, 29, 30. Dec 25 is a holiday, Dec 26 to 27 is a weekend. | {"date":"2026-12-22","days":"5","country":"DE","region":"BY"} | result 2026-12-30 | pass |
/deadline | Going back 1 business day from Monday 2026-12-28 Sunday, Saturday and Friday Dec 25 are skipped. | {"date":"2026-12-28","days":"-1","country":"DE"} | result 2026-12-24 | pass |
/deadline | Impossible date is unknown, not charged Feb 30 does not exist. | {"date":"2026-02-30","days":"3","country":"DE"} | known:false (HTTP 404) | pass |
/holidays | Bavaria 2026 public holidays Easter Sunday 2026 is April 5. | {"country":"DE","year":"2026","region":"BY"} | 12 holidays incl. Good Friday 2026-04-03 and Corpus Christi 2026-06-04 | pass |
/holidays | Unknown country No such calendar. | {"country":"ZZ","year":"2026"} | known:false (HTTP 404) | pass |
/cryptopay | Native USDC on Base Circle's native USDC on Base. | {"to":"0x6f73838AAeC194CAc6e620454Ec5EA498BFFB914","chain":"base","token":"USDC"} | ok:true, contract 0x8335...2913 | pass |
/cryptopay | Zero address as recipient Funds sent there are burned. | {"to":"0x0000000000000000000000000000000000000000","chain":"base","token":"USDC"} | ok:false | pass |