Belgian structured communication (OGM/VCS) explained
The Belgian structured communication, known as OGM or VCS, is a 12-digit payment reference written as +++123/4567/89002+++. The last two digits are check digits: the remainder of the other ten divided by 97. It lets a seller match a payment to its invoice without guesswork.
In Dutch it is the gestructureerde mededeling, in French the communication structurée. Febelfin, the Belgian financial sector federation, describes it as a national standard that has been widely used for decades, and Belgian banks carried it over to SEPA credit transfers, instant transfers and direct debits.
The format
| Form | What it looks like | Where you see it |
|---|---|---|
| Written | +++010/8068/17183+++ | On the invoice, in three, four and five digits between plus signs |
| Electronic | 010806817183 | Inside the payment itself, as 12 digits with no separators |
Both lines above are Febelfin's own example. The plus signs and slashes are there for people; banks work with the 12 digits.
How the check digits work
- Take the opening ten digits. Say they are
1234567890. - Divide by 97 and keep the remainder. 1234567890 divided by 97 leaves 2.
- Write the remainder as two digits:
02. That is the check number. - If the remainder is 0, the check number is
97, never00.
The full reference becomes +++123/4567/89002+++. For the zero case, the digits 0000000097 leave no remainder, so their reference is +++000/0000/09797+++.
The check catches typing slips. Mistype a digit or swap two, and the remainder is very unlikely to still fit, so the reference fails the check.
How payers and banks use it
- Typing it in. According to Febelfin, banks in Belgium validate the check digits when someone enters a structured communication by hand in online banking, so a reference with wrong check digits is caught before the payment goes out.
- Bulk payments. Businesses that upload batches of payments are strongly advised to check the digits themselves before sending.
- Inside the payment. In the bank's ISO 20022 message the reference sits in the structured creditor reference, with the type code
SCOR, the issuerBBAand the 12 digits as the reference. - On the statement. The receiving bank passes the reference on to the account holder, including on electronic statements, which is what makes matching possible. How camt.053 bank statements are matched to invoices shows where it turns up.
- Direct debits too. The same structured reference can travel with a SEPA direct debit; how SEPA Direct Debit mandates and batches work covers the rest of that process.
Choosing the ten digits
The rule fixes the check digits, not what the opening ten mean. Many sellers derive them from the invoice number, padded with zeros, so a reference points straight at one invoice. Others combine a customer number with a counter. Whatever the scheme, keep it stable: a reference should never change after the invoice is sent, and two open invoices should never share one. The guide to invoice numbering has more on keeping a sequence clean.
Common mistakes
- Wrong check digits. A reference calculated by hand or by a spreadsheet formula that forgets the "0 becomes 97" rule fails at the bank.
- Reference in the free-text field. If a payer types the 12 digits into the ordinary message field with other words, the bank treats it as plain text. Matching then depends on someone reading it.
- One transfer for several invoices. A payment carries one structured reference. When a customer pays two invoices together, expect to match the second by hand.
- Reusing a reference. Sending the same reference on a corrected invoice, or on a second invoice to the same customer, makes payments ambiguous.
- Missing from the invoice. Put the reference near the amount and the IBAN, where the payer looks. An EPC QR code can carry a reference as well, which saves typing altogether.
OGM or RF reference?
The RF creditor reference (ISO 11649) is the international counterpart. It starts with RF and two check digits, and it is widely supported across SEPA countries. The Belgian structured communication remains the familiar choice for Belgian payers and their banks. A seller with customers in several countries may use both, depending on who pays. Either way, the reference belongs on the invoice next to the other payment details, a point the invoice checklist also makes.
Frequently asked questions
What is a gestructureerde mededeling?
It is the Dutch name for the Belgian structured communication: a 12-digit payment reference, written as +++XXX/XXXX/XXXXX+++, whose last two digits are a check number. In French it is called the communication structurée.
How do I calculate the mod 97 check digits?
Divide the opening ten digits by 97 and take the remainder, written as two digits. If the remainder is 0, use 97 instead. Those two digits complete the 12-digit reference.
What happens if a customer enters the reference wrongly?
If they type it into the structured field of Belgian online banking, the bank generally refuses a reference whose check digits don't fit. If they put it in the free-text message instead, the payment goes through, but it arrives as plain text and may need matching by hand.
Can a foreign customer pay with a Belgian structured communication?
Sometimes. It is a Belgian addition to SEPA, so many banks outside Belgium offer no structured field for it and the payer types it as free text. Many sellers show the invoice number too, or use an RF creditor reference for customers abroad.
Run your business on Apple.
Create your account on the web, then set up your workspace in the app on your iPhone, iPad or Mac.
Create your account


