Zero-dependency Rust crate that validates German and EU payment data offline — IBAN, BIC, SEPA Creditor Identifier, USt-IdNr, SEPA character set and field lengths, amounts in integer cents — and turns a CSV export into a German findings list with line numbers.
de()mod97()length_for()parse()country()check_digits()bban()electronic()printed()masked()german_parts()check_digits_for()from_parts()from_de_parts_standard()parse()bank_code()country()location()branch()is_head_office()cargo add sepa_pruefkit
This page is the working piece. The full pack has everything below.
Catch the bad row before the bank returns it: 38 country IBAN lengths, 27 EU VAT formats, 8 modules, 34 unit tests and 7 doc tests, 0 dependencies — and a findings list in German that names
The checks here are the published, fixed ones: ISO 13616 (IBAN), ISO 9362 (BIC), ISO 7064 MOD 97-10, the EPC creditor-identifier rule, the German USt-IdNr check digit and the SEPA character set. The free public equivalents — a ban
Send it to me