Belgian Structured Communication Generator
Type an invoice number and get a valid Belgian structured communication - gestructureerde mededeling in Dutch, communication structurée in French, OGM or VCS for short - in the familiar +++123/4567/89012+++ format with correct mod-97 check digits. Then send it straight into a SEPA payment QR code with one click, so your customer scans and pays with the reference already attached.
模式
输入任意内容——字母、斜杠和短横线会被去除,剩下的数字将成为基础号码。
添加用于传递到二维码的付款信息
可选。填写这些信息后,“在 SEPA 二维码中使用”按钮会一起带过去,让二维码生成器打开时整笔转账信息已经填好。
您的 gestructureerde mededeling 将显示在这里
在左侧输入发票号以计算 mod-97 校验位。
How the mod-97 check works
A structured communication is always twelve digits: ten you choose, plus two check digits. The check digits are simply the ten-digit base number divided by 97, keeping the remainder. There is one special case that trips up nearly every home-made implementation - when the remainder is zero, the check digits are written as 97, never as 00. That is why the base 0000000000 gives +++000/0000/00097+++.
The +++ and / characters are pure decoration for human eyes. Some Belgian banks print *** instead, and both mean the same thing. Your accounting system should store the twelve bare digits.
Why the QR handoff matters
A structured communication only helps if the customer actually types it into the right field. In practice plenty of them paste it into the free-text message box instead, where the bank treats it as ordinary text and your reconciliation breaks. A SEPA payment QR code removes that risk entirely: the reference travels inside the code, in the structured-reference slot, so the banking app puts it in the correct field every time. That is what the “Use in a SEPA QR code” button here does - it opens our SEPA payment QR generator with this reference, and optionally your name, IBAN and amount, already filled in.
常见问题
Hoe kan ik een gestructureerde mededeling berekenen vanuit mijn factuurnummer?
Type the invoice number into the field above. Letters, slashes and dashes are stripped automatically, the remaining digits are padded to ten with leading zeros, and the two mod-97 check digits are appended. An invoice numbered 2026/0114 becomes the base 0020260114 and the tool prints the finished +++ reference plus the twelve bare digits for your accounting software.
Comment fonctionne ce générateur de communication structurée gratuit ?
It divides your ten-digit base number by 97 and keeps the remainder as the two check digits, with the standard exception that a remainder of zero is written as 97. Everything runs in your browser - no account, no upload, no limit on how many references you generate. You can also switch to check mode and paste a reference you received to confirm it is genuine.
What happens if my invoice number is longer than 10 digits?
A structured communication has room for exactly ten free digits, so something has to give. This tool keeps the last ten digits, because the tail of an invoice number is normally the part that distinguishes one invoice from another while the leading digits repeat a year or a branch code. If that rule does not suit your numbering scheme, shorten the number yourself before generating the reference.
Why do the check digits show 97 instead of 00?
Because a remainder of zero is deliberately written as 97 in the Belgian scheme. Check digits of 00 would make it impossible to distinguish a genuine reference from an empty or truncated one, so the specification substitutes 97. It is the single most common bug in home-grown implementations, and it only ever appears for base numbers that happen to be exact multiples of 97.
Can I put a structured communication inside a SEPA QR code?
Yes, and it belongs in the structured-reference field rather than the free-text one. Use the "Use in a SEPA QR code" button and the reference is carried into our SEPA payment QR generator through the page's ?ref= parameter, already switched to structured mode and already validated. Fill in the optional name, IBAN and amount first and those travel across too, so the QR generator opens with the whole transfer ready.
Is a structured communication the same as an RF creditor reference?
No. A structured communication is a Belgian domestic format that Belgian banks recognise; an RF Creditor Reference is the ISO 11649 standard understood across the whole SEPA area. They use the same mod-97 arithmetic but different layouts. If you invoice customers outside Belgium, generate an RF reference with our Nordic payment reference generator instead - it works everywhere a structured communication does not.