BAI2 — bad trailer totals and an out-of-range type code
Tres defectos a la vez. El trailer de cuenta 49 declara un total de control y un número de registros que no coinciden con los registros anteriores: los trailers son la verificación de integridad del propio fichero, y quien los ignora no ve un truncamiento. Y un movimiento 16 lleva el type code 720, dentro del rango de préstamos 700–799: no es abono (100–399) ni cargo (400–699), su sentido no puede inferirse y se descarta en vez de adivinarse, por lo que el saldo tampoco cuadra ya.
BAI2 (BAI version 2) — Válido
Tres defectos a la vez. El trailer de cuenta 49 declara un total de control y un número de registros que no coinciden con los registros anteriores: los trailers son la verificación de integridad del propio fichero, y quien los ignora no ve un truncamiento. Y un movimiento 16 lleva el type code 720, dentro del rango de préstamos 700–799: no es abono (100–399) ni cargo (400–699), su sentido no puede inferirse y se descarta en vez de adivinarse, por lo que el saldo tampoco cuadra ya.
Lo que muestra este fichero
Tres defectos a la vez. El trailer de cuenta 49 declara un total de control y un número de registros que no coinciden con los registros anteriores: los trailers son la verificación de integridad del propio fichero, y quien los ignora no ve un truncamiento. Y un movimiento 16 lleva el type code 720, dentro del rango de préstamos 700–799: no es abono (100–399) ni cargo (400–699), su sentido no puede inferirse y se descarta en vez de adivinarse, por lo que el saldo tampoco cuadra ya.
| Transacciones | 2 |
|---|
Los defectos que contiene
- 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).
Citado literalmente del validador, sin parafrasear.
Todas las partes, IBAN e importes siguientes son ficticios. Los IBAN son estructuralmente válidos —superan el mod-97— pero no corresponden a ninguna cuenta real.
Contenido del fichero
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/
Cómo sabemos que estos resultados se sostienen
Cada fichero de esta biblioteca pasa por el propio validador del sitio en cada build. El resultado esperado indicado arriba lo verifica un test automatizado: si un fichero dejara de coincidir con lo que afirma esta página, el build fallaría. Dos fixtures heredadas se repararon así antes de publicarse: tres IBAN no superaban el mod-97 y varios nombres usaban caracteres fuera del juego SEPA básico.