Why Belgian structured references matter in NetSuite
While NetSuite’s field proposition is extensive for some regions, we are missing a very useful field for Belgium on both the invoice and bill.
In Belgium a common communication on invoice/bill is what is called a structured reference. This reference is made of 12 digits with the last two digits being the modulo (Euclidean remainder) of the 10 first digits divided by 97. This is one of the bill features that are unfortunately missing from the template currently provided by NetSuite.
How to add structured references to NetSuite bills and invoices in Belgium
In order to fill this gap and assist our belgian customers with their day-to-day payment reconciliation, we created a three-step solution:
Validating structured references on NetSuite vendor bills
First, on the bill record itself we added a field that will contain the structured reference.
Upon saving, if the field has been filled in, a ClientScript will be checking the validity of the field. More precisely, it checks the length of the input number (12), the type of characters (only numeric) and the validity of the reference’s last two digits with relation to the first ten (mod 97). In case any of these conditions are not met, an alert will pop up and let the user know that the structured bill reference is incorrect and what rules they should follow.
This setup implies that the responsibility of correctly inputting the structured reference number will lay with the user, as the structured reference will not be automatically generated.
Enhancing the Belgian SEPA payment file template in NetSuite
The second step is to enhance the SEPA Payment File Template for Belgium. In the <RmtInf> tag we added the specific information that indicates the presence of a structured reference. This is associated with a condition that verifies whether there is a structured reference or not. We made sure that the structured reference would always be preferred to the regular reference.
Generating structured references on NetSuite customer invoices
Lastly, on the invoice we also added a reference field for Structured references
The field gets filled by a custom script after the invoice is submitted. So the reference remains unique, we use the invoice number to generate it. The structured reference will follow the same format as mentioned above, appearing on the Invoice that is sent to the customers.
Making NetSuite payment reconciliation easier for Belgian companies
This solution aims at addressing an issue that is frequently encountered by NetSuite users in Belgium. Thanks to these customizations, NetSuite users can properly generate payment files with a structured bill reference complying with the Belgium-specific requirements and send out invoices containing structured references.
These features were designed in a way that the user keeps control over that structured reference number and is liable for its conformity on the bill-side and auto generated on the invoice-side.
Key takeaways for Belgian structured references in NetSuite
Compliant with Belgium SEPA specificities
Structured reference selected by default
User liability
A question? You would like to implement this solution?
FAQ
A structured reference is a 12-digit payment reference mandatory in Belgium where the last two digits represent the modulo 97 of the first 10 digits. This reference enables automatic payment reconciliation and is standard on Belgian invoices and bills. NetSuite lacks native support for this Belgium-specific requirement despite its importance for daily operations.
Custom field added to bill record contains structured reference. ClientScript validates upon saving by checking 12-digit length, numeric-only characters, and mod 97 correctness of last two digits against first ten. Alert appears if validation fails with rule explanation. User responsibility to input correct reference. Enhanced SEPA payment file template includes structured reference in RmtInf tag.
Custom script auto-generates structured reference after invoice submission using invoice number to ensure uniqueness. Reference follows same 12-digit format with mod 97 validation. Unlike bills where users manually enter references, invoice structured references are automatically calculated and appear on customer-facing invoices. This eliminates manual errors while maintaining Belgium compliance.
Three validation conditions enforced: exactly 12 digits required, only numeric characters allowed, and last two digits must equal modulo 97 of first ten digits (Euclidean remainder calculation). ClientScript performs real-time validation upon bill save. Failed validation triggers alert explaining which rule was violated and what user should correct.
Enhanced SEPA payment file template for Belgium includes condition verifying structured reference presence in RmtInf tag. When present, structured reference always takes priority over regular reference in payment file generation. This ensures Belgium-specific SEPA requirements are met and enables automatic payment matching by Belgian banks during reconciliation processes.
NetSuite e-invoicing for Belgium: complete implementation guide & solutions comparison
Expert guide to NetSuite e-invoicing for Belgium's 2026 mandate. Compare solutions, learn Peppol requirements & get implementation roadmap.
December 12, 2025
netsuite-articles
NetSuite articles
NetSuite Custom GL Plug-in: what is it, how to set it up and some practical examples
Learn about NetSuite's Custom GL Plug-in, including its setup and application, with practical examples for specialized accounting needs.
May 7, 2024
netsuite-articles
NetSuite articles
What is NetSuite and how does it work?
Today, NetSuite’s cloud enterprise resource planning (ERP) system gives companies all the applications they need to run their businesses efficiently while nurturing growth.