BAI2 — bad trailer totals and an out-of-range type code
Drie gebreken tegelijk. De 49-rekeningtrailer noemt een controletotaal en een recordaantal die geen van beide kloppen met de records erboven — de trailers zijn de eigen integriteitscontrole van het bestand, en wie ze overslaat ziet afkapping niet. En een 16-boeking draagt type code 720, uit het leningenbereik 700–799: geen credit (100–399) en geen debet (400–699), dus de richting is niet af te leiden en de boeking wordt weggelaten in plaats van geraden — waardoor ook het saldo niet meer sluit.
BAI2 (BAI version 2) — Geldig
Drie gebreken tegelijk. De 49-rekeningtrailer noemt een controletotaal en een recordaantal die geen van beide kloppen met de records erboven — de trailers zijn de eigen integriteitscontrole van het bestand, en wie ze overslaat ziet afkapping niet. En een 16-boeking draagt type code 720, uit het leningenbereik 700–799: geen credit (100–399) en geen debet (400–699), dus de richting is niet af te leiden en de boeking wordt weggelaten in plaats van geraden — waardoor ook het saldo niet meer sluit.
Wat dit bestand laat zien
Drie gebreken tegelijk. De 49-rekeningtrailer noemt een controletotaal en een recordaantal die geen van beide kloppen met de records erboven — de trailers zijn de eigen integriteitscontrole van het bestand, en wie ze overslaat ziet afkapping niet. En een 16-boeking draagt type code 720, uit het leningenbereik 700–799: geen credit (100–399) en geen debet (400–699), dus de richting is niet af te leiden en de boeking wordt weggelaten in plaats van geraden — waardoor ook het saldo niet meer sluit.
| Transacties | 2 |
|---|
De gebreken die het bevat
- TypeCodeAccount 0037284159: transaction with type code "720" skipped (direction cannot be inferred from this code). Totals below exclude it.
- Trailer-49Account 0037284159: trailer control total (11999999) ≠ sum of the 03/16 amount fields (12000000).
- Trailer-49Account 0037284159: trailer record count (4) ≠ actual records incl. continuations (5).
- BalanceAccount 0037284159: opening ± turnover (57500) ≠ closing balance (52500).
Letterlijk geciteerd uit de validator, niet geparafraseerd.
Alle partijen, IBAN's en bedragen hieronder zijn fictief. De IBAN's zijn structureel geldig — ze doorstaan de mod-97-controle — maar horen bij geen enkele echte rekening.
Bestandsinhoud
01,071000013,ACMECORP,260711,0800,6,80,10,2/
02,ACMECORP,071000013,1,260710,2400,USD,2/
03,0037284159,USD,010,5000000,,,015,5250000,,/
16,165,1000000,,ACH20260710H,CUSTOMER-PAY,PREAUTHORIZED ACH CREDIT CONTOSO LLC/
16,720,500000,,LOAN00000031,LOAN-31,LOAN PAYMENT PRINCIPAL AND INTEREST/
16,475,250000,,CHK00010061,CHECK-10061,CHECK PAID 10061/
49,11999999,4/
98,11999999,1,7/
99,11999999,1,9/
Hoe we weten dat deze resultaten kloppen
Elk bestand in deze bibliotheek gaat bij elke build door de eigen validator van de site. Het hierboven vermelde verwachte resultaat wordt door een geautomatiseerde test bevestigd: zou een bestand niet meer overeenkomen met wat deze pagina beweert, dan faalt de build. Twee overgeërfde fixtures zijn zo vóór publicatie hersteld: drie IBAN's zakten voor de mod-97-controle en meerdere namen gebruikten tekens buiten de SEPA-basistekenset.