Check an IBAN Before It Locks Onto Your Invoice
· 4 min read
You issue an invoice for 4,200 euros, net 30. The client approves it on day two, pays on day 28, and the money never lands. Three weeks later you find out one digit in your IBAN was wrong. The payment either bounced back (best case) or hit an account that was not yours (worse case, and slower to unwind).
Bank details are a locked field once an invoice is issued. That is deliberate, because a payment instruction should not change after the recipient has agreed to pay it. But it also means a typo you did not catch at draft stage stays on the invoice permanently. Fix it and you are issuing a new invoice, restarting the clock. So the check has to happen before you hit send.
What an IBAN actually encodes
An IBAN is not a random string. It is structured, and the structure is what lets you catch most errors before a bank ever sees it. Reading left to right:
- Two letters for the country.
DEfor Germany,FRfor France,GBfor the United Kingdom,NLfor the Netherlands. - Two check digits. These are calculated from the rest of the number using a fixed formula (mod-97). They exist precisely to catch typos.
- The country-specific part: the bank identifier, branch code where relevant, and the account number.
The length is fixed per country. A German IBAN is always 22 characters. A French one is 27. A Dutch one is 18. If someone hands you a 21-character German IBAN, you already know it is wrong without doing any math. Get the definition and the country structure from the entry on the International Bank Account Number if you want the full breakdown.
How to validate an IBAN in three checks
You can do a solid manual pass in under a minute.
Check the country code and length. Confirm the first two letters match the country the account is held in, then count the characters. A quick length mismatch is the most common typo: a dropped digit, a doubled one, a stray space. Strip any spaces first; IBANs are often written in groups of four for readability, but the real value has none.
Run the check digits. This is the part that catches a transposed pair or a single wrong number even when the length is correct. The mod-97 calculation is standard and does not depend on knowing the bank. You do not want to do it by hand on every invoice. Paste the number into an IBAN validator and it tells you in a second whether the check digits agree with the rest of the number.
Match it against a known-good source. Validation confirms the number is well-formed. It does not confirm it is your account. A well-formed IBAN can still belong to someone else. So compare the value against your bank statement, your online banking screen, or the details your bank issued in writing. Copy from that source rather than retyping.
One caution: a validator confirms the math, not the ownership. It will happily pass a valid IBAN for an account that is not yours. The math check and the source check do different jobs, and you need both.
What else belongs next to the IBAN
For a cross-border payment, the IBAN rarely travels alone. Most international transfers also need a SWIFT or BIC code to route to the right bank. Some UK domestic details still lean on the sort code and account number format instead of, or alongside, the IBAN. Put the wrong combination on the invoice and the client's accounts payable team either pays into the wrong rails or emails you asking for the missing piece, and now your net 30 is really net 45.
If you invoice across borders often, the surrounding fields matter as much as the account number. Currency, tax treatment, and bank routing all interact. The practical walkthrough on currency, tax, and bank details for cross-border invoices covers what to put where, and the broader guide to invoicing across borders ties it together.
Catch it at draft, not after approval
The whole point of validating before you issue is that the correction stays cheap. While an invoice is still a draft, you can edit anything. Once it moves to Sent and the client marks it Viewed or Approved, the bank details are locked, and the only fix is a fresh invoice with a new number.
Build the check into your pre-send routine. When you put together a new invoice, paste your payment details from your banking source, run the IBAN through the validator, and confirm the SWIFT or BIC alongside it. It takes less time than the email you would otherwise send apologizing for the delay. The before-sending checklist is a good place to slot this in so it happens every time rather than only when you remember.
Recipients on JupiterInvoice can correct their own billing entity, address, PO number, and AP contact without you reissuing anything. Your bank details are not on that list, and they should not be. That number is the one field where a mistake costs you real money and real weeks, so it earns the extra thirty seconds before you send.