Bank-targeted QA guideHow to Test an IBAN and BIC for a Specific Bank
A useful bank-specific fixture records the requested target, the BIC actually embedded or matched, and the registry snapshot used to produce it.
Implementation rule: Treat format/checksum, bank-code generation and registry evidence as separate assertions. A matching BIC still does not prove that an account exists or can receive a payment.
Implementation sequence
1. Choose the exact scopeUse bank name for a bank-wide task and BIC11 only when the receiving system needs that exact branch. Do not silently replace a branch with its head office.
2. Inspect coverage firstConfirm that the current registry has the requested country and target before spending generation credits.
3. Generate synthetic rowsKeep the seed or fixture identifier so a failed integration test can be reproduced.
4. Compare requested and actual BICStore both fields. Literal BIC11 equality is stronger evidence than a shared BIC8 prefix.
5. Pin source evidenceRecord the catalog version, fingerprint and preparation time with the fixture.
6. Test the receiving systemCapture its name, version and failed assertion using synthetic data only.
Portable fixture evidence
{
"iban": "FR...synthetic...",
"requested_bic": "AGRIFRPP831",
"actual_bic": "AGRIFRPP831",
"match_level": "exact_bic",
"format_checksum": "passed",
"registry_snapshot": "<version>"
}
Run the small offline contract in the public IBAN banking QA examples repository. It needs no account or API key.
Questions teams should settle
Does the generated IBAN belong to that bank?
It is synthetic test data produced against a documented bank-code and registry scope. It is not evidence that a live account was assigned by the bank.
Can BIC8 replace BIC11?
Only if the receiving system accepts bank-level scope. An exact branch requirement must keep literal BIC11 matching.
Test one real integration workflow
Start with a bounded synthetic sample. Record the receiving system and its exact result, then choose recurring access only when the task returns in another working cycle.
IBANgen provides synthetic QA data and validation evidence. It does not verify account ownership, balances, assignment, reachability or payment execution.