How to Add Belgian Structured References in NetSuite

Category
October 20, 2020
3
min

NetSuite articles

netsuite-articles

Summarise the article with your AI:

Claude

ChatGPT

 Google AI

Grok

Perplexity

Written by:
Pauline
Here you can read:
Share this article on:
Illustration of a Belgian structured reference format used on NetSuite invoices and bills for SEPA-compliant payment reconciliation

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.

Get in touch

Related articles:

broad-erp-tech

Broad ERP/Tech

Expert guide to NetSuite e-invoicing for Belgium's 2026 mandate. Compare solutions, learn Peppol requirements & get implementation roadmap.

netsuite-articles

NetSuite articles

Learn about NetSuite's Custom GL Plug-in, including its setup and application, with practical examples for specialized accounting needs.

netsuite-articles

NetSuite articles

Today, NetSuite’s cloud enterprise resource planning (ERP) system gives companies all the applications they need to run their businesses efficiently while nurturing growth.

Ready to accelerate your growth?

Let's discuss how we can help you move from complexity to clarity.