ERP and SaaS integration guide

Server-Side IBAN and Bank Metadata Validation for ERP and SaaS

Use a server-side preflight when new supplier, payroll or payout records arrive regularly. Keep structural validity and observed bank metadata separate in your data model.

Implementation rule: Send bounded batches from your server, apply a timeout, and preserve unknown metadata as unknown. Never expose the IBANgen API key in browser JavaScript.

Implementation sequence

1. Normalize locallyTrim spaces and reject impossible input sizes before calling a remote service.
2. Call from the serverKeep the API key in a server environment variable and use HTTPS.
3. Separate result layersStore format/checksum and bank metadata status in different fields.
4. Handle explicit 4xx responsesInvalid input and exhausted quota require different operator actions.
5. Fail safely on timeoutReturn an unavailable or unknown state; do not convert an outage into invalid bank details.
6. Measure the working cycleTrack successful tasks and the next real use date, not raw request volume alone.

Bounded server-side preflight

from bank_metadata_preflight import preflight

result = preflight(["DE89370400440532013000"])
row = result["results"][0]
assert row["format_checksum"] in {"passed", "failed"}
assert row["bank_metadata"] in {"observed", "unknown", "locked"}

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 valid mean the account exists?

No. The endpoint checks implemented structure and can return observed bank metadata. It does not confirm assignment, ownership, balance or payment acceptance.

Should unknown metadata block onboarding?

Not automatically. Unknown can mean unsupported scope, missing registry evidence or a transient service problem. Your workflow should route it for review.

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.