BAI2 — bad trailer totals and an out-of-range type code
Três defeitos de uma vez. O trailer de conta 49 declara um total de controlo e um número de registos que não correspondem aos registos acima — os trailers são a verificação de integridade do próprio ficheiro, e quem os ignora não vê um truncamento. E um movimento 16 traz o type code 720, na faixa de empréstimos 700–799: não é crédito (100–399) nem débito (400–699), o sentido não pode ser inferido e o registo é descartado em vez de adivinhado — daí o saldo também já não reconciliar.
BAI2 (BAI version 2) — Válido
Três defeitos de uma vez. O trailer de conta 49 declara um total de controlo e um número de registos que não correspondem aos registos acima — os trailers são a verificação de integridade do próprio ficheiro, e quem os ignora não vê um truncamento. E um movimento 16 traz o type code 720, na faixa de empréstimos 700–799: não é crédito (100–399) nem débito (400–699), o sentido não pode ser inferido e o registo é descartado em vez de adivinhado — daí o saldo também já não reconciliar.
O que este ficheiro mostra
Três defeitos de uma vez. O trailer de conta 49 declara um total de controlo e um número de registos que não correspondem aos registos acima — os trailers são a verificação de integridade do próprio ficheiro, e quem os ignora não vê um truncamento. E um movimento 16 traz o type code 720, na faixa de empréstimos 700–799: não é crédito (100–399) nem débito (400–699), o sentido não pode ser inferido e o registo é descartado em vez de adivinhado — daí o saldo também já não reconciliar.
| Transações | 2 |
|---|
Os defeitos que contém
- 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 do validador, sem paráfrase.
Todas as partes, IBAN e montantes abaixo são fictícios. Os IBAN são estruturalmente válidos — passam no mod-97 — mas não correspondem a nenhuma conta real.
Conteúdo do ficheiro
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/
Como sabemos que estes resultados se mantêm
Cada ficheiro desta biblioteca passa pelo próprio validador do site em cada build. O resultado esperado indicado acima é verificado por um teste automatizado: se um ficheiro deixasse de corresponder ao que esta página afirma, o build falharia. Duas fixtures herdadas foram reparadas assim antes da publicação: três IBAN falhavam o mod-97 e vários nomes usavam caracteres fora do conjunto SEPA básico.