TABLE OF CONTENTS
- Testing
- Peppol senders, receivers & countries
- Which countries can we SEND FROM?
- Which countries can we SEND TO?
- Can we send by GLN (Global location number) endpoint?
- Can we receive on GLN (Global location number) endpoint?
- What if the company is already registered on Peppol?
- What is the difference between SchemeID 0208 and 9925 for Belgium?
- How can we reach and/or check (non-)Belgian receivers?
- How can we check if the receiver is registered on Peppol?
- Can our customers still send invoices to companies that don’t use Peppol (yet)?
- What are the KYC requirements to register a sender?
- E-invoicing requirements & content of documents
- Sending documents and errors
- We sent a document but the recipient claims he didn’t receive it. What can we do?
- Do you retry sending?
- Can duplicates happen? How to stop double invoices?
- Is it possible to send other (PDF) files linked to a Peppol BIS XML without encapsulating these in the XML file?
- Is it possible to send an invoice to more than one receiver at once (for example cc recipient)?
- Supplier data in document can’t be matched with data of supplier. What does this error mean?
- MLR-IRM: What is ‘Message Level Response’? What is ‘Invoice Response Message’?
- Incoming documents
- France e-Invoicing (PPF/PA) – FAQ
- Current limitations on the Integration environment
- How does the supplier onboarding process work?
- Is enrollment required for send-only platforms?
- Which endpoint is used to send French invoices?
- How can I look up French recipients?
- Which document formats are registered for French suppliers on Peppol?
- Does Flowin support cross-network routing between France and Peppol?
Testing |
How to test the receiving part for Flowin?
You can set up a test receiver and test sender:
- Register a ‘sender’ supplier with supplier-ID XXX
- Register a ‘receiver’ supplier with supplier-ID YYY
- Send from sender to receiver
When using webhooks, this avoids confusion with the supplier-IDs, as it will be a different ID used to send the invoice.
Keep in mind that a receiver you create could receive documents from any other sender on the test network. Those documents should never be treated as real documents.
What is the difference between integration and production? Are documents on integration actually sent to the receiver?
Integration = test-network.
For e-invoicing, integration is connected to Peppol’s test-network. It behaves the same way as production. Invoices are sent over the test-network and can be delivered to the receivers set up on that network. However, not all receivers that are on production are registered on that test-network.
We have a few test receivers you can safely send to.
Peppol senders, receivers & countries |
Which countries can we SEND FROM?
The countries in lime highlight on this page are currently supported:
- Belgium
- Germany
- Ireland
- Luxembourg
- the Netherlands
- Sweden
The page also lists the countries that are in scope for the coming months.
Which countries can we SEND TO?
Flowin supports sending to every country that is connected to Peppol (Europe, Canada, UK, USA, Australia, etc.).
Receivers can choose which service provider to use for their Peppol registration (and may use a service provider that is not in their country of residence).
See also below: How can we check if the receiver is registered on Peppol?
Can we send by GLN (Global location number) endpoint?
Yes.
The EAS identifier is ‘0088’.
Read more: Peppol Documentation (check the most recent version of Peppol BIS Billing)
Can we receive on GLN (Global location number) endpoint?
Yes, Flowin supports receiving on GLN since 17/12/2025.
What if the company is already registered on Peppol?
To enable the receiving capability, you must set the supplier's peppolReceiver flag to true (during creation or when updating the supplier). This action triggers the Peppol registration process, meaning the supplier’s identifiers (e.g., VAT number, enterprise number) will be registered for receiving documents via the Flowin e-invoicing Peppol Access Point.
It is important to always check the status via the API by calling the Get Peppol Registrations endpoint: Peppol Registration Attributes.
AccessPoints Status: registration-failed - already-registered: The identifier is already registered on another access point. The supplier will need to deregister there. The accessPoints field contains the names of the Access Point where the supplier is currently registered.
The registration will be automatically retried once daily for the next 30 days.
What is the difference between SchemeID 0208 and 9925 for Belgium?
Each country has its own Scheme Identifiers. For Belgium, the use of 0208 (followed by company registration number) is mandatory, while 9925 (followed by VAT number) is optional.
To be Peppol compliant, it is mandatory to use 0208 and register each Belgian company with the company registration number.
We strongly advise to also register each Belgian company with 9925 and the VAT number, so as to avoid missing any documents sent to the VAT number.
| SchemeID | Identifier | Example |
| 0208 | Company registration number | xxxxxxxxxx |
| 9925 | VAT number | BExxxxxxxxxx |
Read more: How can we reach and/or check (non-)Belgian receivers?
How can we reach and/or check (non-)Belgian receivers?
Check with your customer: the sender should know the identifier.
Each country has its own Scheme Identifiers. For example, in Belgium: use 0208 before the company registration number.
Frequently used identifiers in Belgium and neighboring countries:
| Country | SchemeID | Identifier | Example |
| BE | 0208 | Company registration number | xxxxxxxxxx |
| BE | 9925 | VAT number | BExxxxxxxxxx |
| DE | 9930 | VAT number | DExxxxxx |
| LU | 9938 | VAT number | LUxxxxxx |
| LU | 0240 | Register of legal persons (Matricule) | LUxxxxxxxx |
| NL | 0106 | Company registration number | xxxxxxxx |
| NL | 9944 | VAT number | NLxxxxxxxxxxxx |
| NL | 0190 | OIN number | xxxxxxxxxxxxxxxxxxxx |
| SE | 0007 | Organization number (Swedish legal entities) | xxxxxx-xxxx |
| IE | 9935 | VAT number | IE followed by a combination of 8 or 9 letters & numbers |
| FR | 0225 | FRCTC Electronic Address | 9 numbers |
How can we check if the receiver is registered on Peppol?
You could offer this functionality in your software via the API: Peppol Customer search
There are 2 options:
- check before sending
- do a batch lookup of all the possible customers beforehand (better performance when sending batch invoices)
If you do not offer this, your customer could use peppolcheck.be or the site Peppol Participant Information.
To use the site Peppol Participant Information, follow these steps:
- In the field ‘Identifier value’: enter the SchemeID followed by the identifier. For example:

- Click ‘Show details’.
Can our customers still send invoices to companies that don’t use Peppol (yet)?
Yes: they can use a different delivery method such as email.
Important: in Belgium, e-invoicing is mandatory since January 2026, for transactions between companies that are subject to VAT.
What are the KYC requirements to register a sender?
KYC is required for each customer you onboard.
- Company:
- Name
- Enterprise number
- Country
- Contact email
- Company representative:
- Belgium: A photo of the front side of the Belgian electronic identity card of the Legal Representative.
Important : the Legal representative is the person who is registered as such in the Belgian Official Journal. - Other countries: a scan of the company's entry in the business registration directory (full document).
Note: If the company is managed through one or more companies, the business register scans of all companies need to be provided, up to where the given legal representative can be linked to the supplier.
- Belgium: A photo of the front side of the Belgian electronic identity card of the Legal Representative.
Data verification is done once the information is entered.
If the supplier is rejected, the rejectReason field in the Supplier Attributes (see documentation) will show the reason why. In this case, the supplier needs to be created again with the correct data.
E-invoicing requirements & content of documents |
Which formats are compliant?
Since 1st January 2026, all invoices between 2 Belgian entities with a Belgian VAT-number need to be EN16931 compliant:
- Peppol BIS3 is compliant
It is the standard specification used within the Peppol network for domestic and cross-border e-invoicing within the EU: this standard is supported by all senders and receivers. - UBL.BE is no longer a legally compliant format for use between companies.
It is a Belgian-specific extension on the EN16931.
If you have registered receivers for UBL.BE type invoices, you can remove the UBL.BE format by patching the supplier with the desired formats.
Do enterprises who do self-billing also have to send via Peppol?
Yes, self-billing also falls under the e-invoicing requirements applicable since 1st January 2026. The supplier must be registered as a receiver.
Flowin supports self-billing.
Read more: Please check the latest Self-billing specification on the Peppol Documentation
What are the requirements for adding discounts to UBL invoices?
This is determined in the Peppol Documentation concerning Allowances.
Read more: Peppol Documentation (check the most recent version of Peppol BIS Billing with details on cac:AllowanceCharge)
Examples:
Peppol BIS 3 invoice Allowance examples
Peppol BISV3 Belgian examples (see bottom of the page)
What is the maximum size of a UBL?
100 MB is the maximum, including attachments.
It is best practice to keep the size as low as possible, especially during the early adopter phase when a number of these documents still go to mailboxes instead of software/systems as intended.
Please check more details here: Peppol Documentation
Our customer has successfully sent an invoice but now wants to change the document. What to do?
Once an invoice is sent via Peppol, it is delivered to the receiver and the content of the document cannot be modified.
Inform your customer about the legally required steps to follow for the correction of an erroneous invoice, regardless of when the error is discovered:
- Create a credit note to cancel (part of) the invoice and send it the same way and to the same receiver.
- Create a new invoice with the correct details and with a new invoice number. Send it the same way and to the same receiver.
These steps need to be followed even in the event of minor textual changes.
Sending documents and errors |
We sent a document but the recipient claims he didn’t receive it. What can we do?
Use Transmission ID:
Once a document is successfully sent to a receiver's Peppol Access Point, the document status will indicate a ‘transmission ID’ (this is the first level of feedback, acknowledging the transfer of the document from the sender’s access point to the receiver’s access point). The sender should share this transmission ID with the receiver, so that the receiving party can check with their Peppol Access Point provider.
If there is no transmission ID, this means the document was NOT sent. Try sending the document again at a later time.
Check validation rules:
Some receivers have extra validation rules after accepting the document. An example is the Flemish Government who requires a correctly formatted order reference, more info can be found here:
- Website of the Flemish government
- Mercurius for the private sector
Sending failed?
If Flowin was not able to send the document to the receiver, the document status will indicate an error. In most cases, this will be linked to a problem with the receiver's Peppol Access Point. Try sending the document again at a later time.
Check the status: Peppol Outbound Invoice Attributes
For more information about possible errors, please see the Flowin API Reference.
Do you retry sending?
Flowin contains a retry delivery mechanism that is triggered when Flowin receives a technical error from the Peppol AP of the receiver.
With this mechanism, Flowin will automatically retry delivery for up to 24 hours.
During this retry period:
- The document status will remain “sending”.
- If delivery is successful within 24 hours, the status will automatically update to “sent”.
- If the document cannot be delivered after 24 hours, the status will be updated to “send error”.
Can duplicates happen? How to stop double invoices?
Flowin doesn’t check for duplicates.
You are advised to provide checks for this, to ensure that each document is unique and cannot be sent more than once. When receiving invoices for your customer, Flowin doesn’t check for duplicates either.
Is it possible to send other (PDF) files linked to a Peppol BIS XML without encapsulating these in the XML file?
Yes: you could add a link in the UBL in the tag ExternalReference.
You will be required to host those links yourself. They cannot point to a Flowin location.
Read more: Peppol Documentation (check the most recent version of Peppol BIS Billing with details on cac:ExternalReference)
Is it possible to send an invoice to more than one receiver at once (for example cc recipient)?
No.
Flowin/Peppol does not natively support sending a single invoice to multiple recipients. Sending behavior similar to CC email or BCC email is not possible. There cannot be more than one EndpointID (identifier of the receiver).
Unless the receiving access point handles this particular behavior, you will need to send the document twice.
The Flowin infrastructure does not include any replication or duplication mechanism to facilitate sending an automatic copy of an outgoing invoice to an additional access point.
Supplier data in document can’t be matched with data of supplier. What does this error mean?
The invoice could not be sent due to the error: ‘Value found in xxxx can't be matched with internal supplier data: xxx’
This error means, for example, that the name of the sender does not match exactly with the name that was used to create this sender on Flowin. The difference in the name could be due to a recent change or could be a typo.
Before sending documents, we check whether the name and IBAN match.
You can correct this by changing the UBL so that the UBL tag is generated correctly, or allow your customer to change the data via your software.
More info: see the UBL tags in Document verification.
MLR-IRM: What is ‘Message Level Response’? What is ‘Invoice Response Message’?
Flowin offers MLR (automatic) and IRM (optional). Please see our documentation for more details on implementation and webhooks.
MLR (Message Level Response) is a Peppol message that is automatically sent from the receiving service provider to the sending service provider, to indicate if the structural content of the document is correct. This is handled by the access point (Flowin) and is translated into technical status of the document.
IRM (Invoice Response Message) is a Peppol message that can be sent from the buyer (recipient of the document) to the seller (sender of the document) to indicate the business status of the document that was sent to the buyer. For example, a buyer can indicate that an invoice has been paid.
Sending IRM: This will have to be triggered by the receiving party’s software through our API.
Receiving IRM: We translate the technical process into business statuses and provide webhooks as these messages are asynchronous.
Incoming documents |
Can we put incoming invoices temporarily on hold?
Flowin does not provide such a feature.
You can set up systems to allow for this, so that your customer can check the invoice before processing it.
Do we need to provide the inbound documents to the supplier?
Yes.
We do not offer an alternative way to deliver the documents, such as email or FTP,... .
Please see our documentation for more information: Peppol Inbound Documents.
How long do documents remain available for download?
All inbound and outbound documents are kept for 6 months.
Inbound documents can be downloaded multiple times if needed.
More info about Peppol:
France e-Invoicing (PPF/PA) – FAQ |
Last updated: 23/07/26
Current limitations on the Integration environment
Receiving is not supported yet.
- Sending a document to a receiver may remain in created (technicalStatus) because the French implementation expects feedback from the receiver, such as approval or rejection.
- Since receiving is not fully supported yet, the receiver feedback cannot always be returned to the sender.
- In the Integration environment, some onboarding steps may still require manual Flowin approval, especially when test identity documents.
- Offboarding or setting peppolReceiver: false is currently not fully implemented and will only result in a change on Flowin's side, not on Peppol.
- Re-onboarding an already offboarded end user is not possible: the supplier is created, but no enrollment is created. You will need to use a new SIREN.
- Creating a supplier for a stopped company can result in the supplier being created in created status, without an enrollment being created.
How does the supplier onboarding process work?
The end-to-end onboarding process consists of two steps:
- Supplier Creation
- Supplier Enrollment
Full onboarding flow
- Create the supplier using POST /suppliers.
- Flowin automatically prepares an enrollment for the supplier.
- Flowin notifies your platform when the enrollment URL is ready via:
- eInvoicing.supplier.enrollment.updated webhook (recommended), or
- polling GET /suppliers/{id}/enrollment.
- Retrieve the enrollment URL using GET /suppliers/{id}/enrollment.
- Share the URL with the supplier.
- The supplier opens the enrollment URL and completes the required identity verification flow through the iopole portal.
- If receiving is enabled, the supplier signs the mandate.
- Flowin finalizes onboarding and sends the eInvoicing.supplier.onboarded webhook.
Only after the eInvoicing.supplier.onboarded webhook is received is the supplier fully onboarded and able to exchange invoices through Flowin.
Integration environment notes
- The portal is managed by an official Platforme Agrée partner, so some behaviour may not be fully controlled by Flowin.
- When testing identity verification, a specimen ID can be used, together with dummy names and data.
- Company documents, such as a KBIS-like document, may also be requested during testing. In Integration, these are manually checked by Flowin, so a test document can be used.
- After the form is completed, the enrollment/onboarding status may not immediately move to completed in Integration because Flowin may still need to manually approve the test onboarding.
Is enrollment required for send-only platforms?
Yes.
For outbound-only (send-only) scenarios, the enrollment process is still required.
The only step that is skipped is the mandate signature. Identity verification and enrollment remain mandatory.
Important limitation
Offboarding or setting peppolReceiver: false is currently not fully implemented and will only result in a change on Flowin's side, not on Peppol.
Which endpoint is used to send French invoices?
The same invoice submission endpoint is used:
/peppol/suppliers/{supplierId}/invoices
Supported document formats:
- UBL 2.1
- Factur-X
- France CIUS
- France Extended
Maximum file size: 50 MB
For French format resources and schematron references, see the FNFE-MPE resources page.
Integration environment behaviour
- You should be able to send UBL documents to onboarded French suppliers in Integration.
- A sent document may remain in created status because receiving and receiver feedback are not fully implemented yet. The French implementation for Peppol expects an response from the receiver, such as approval or rejection.
- Validations are performed by our French partner/platform, not by Flowin directly. This means a document can receive an rejection from the partner validation.
How can I look up French recipients?
Use the same endpoint as for Peppol recipient lookups:
POST /peppol/customer-searches
Supported identifier
For France, use:
0225:SIREN (9-digit company identifier)
Example:
1{
2 "data": {
3 "type": "peppolCustomerSearch",
4 "attributes": {
5 "customerReference": "0225:952360097"
6 }
7 }
8 }Do not use scheme 0002 for French SIREN lookup. French registrations only include scheme 0225.
Which document formats are registered for French suppliers on Peppol?
When registering a French supplier on Peppol, Flowin enables the following invoice and credit-note formats.
It is not possible to change or choose these formats.
| Document | Format | Version | French profile | Peppol process profile |
|---|---|---|---|---|
| Credit note | Peppol BIS Billing 3.0 | UBL 2.1 | Standard EN 16931 | French regulated billing |
| Credit note | Peppol BIS Billing 3.0 | UBL 2.1 | Standard EN 16931 | Peppol BIS Billing |
| Credit note | France CIUS | UBL 2.1 | French CIUS 1.0 | French regulated billing |
| Credit note | France Extended | UBL 2.1 | French Extended 1.0 | French regulated billing |
| Invoice | Peppol BIS Billing 3.0 | UBL 2.1 | Standard EN 16931 | French regulated billing |
| Invoice | Peppol BIS Billing 3.0 | UBL 2.1 | Standard EN 16931 | Peppol BIS Billing |
| Invoice | France CIUS | UBL 2.1 | French CIUS 1.0 | French regulated billing |
| Invoice | France Extended | UBL 2.1 | French Extended 1.0 | French regulated billing |
| Invoice | Factur-X | D22B | Factur-X 1.0 | French regulated billing |
| Invoice | Cross Industry Invoice | D22B | French CIUS 1.0 | French regulated billing |
| Invoice | Cross Industry Invoice | D22B | French Extended 1.0 | French regulated billing |
Technical registration details
| Document type | Customization ID | Version | Profile ID |
|---|---|---|---|
| CreditNote | urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 | 2.1 | urn:peppol:france:billing:regulated |
| CreditNote | urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 | 2.1 | urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
| CreditNote | urn:cen.eu:en16931:2017#compliant#urn:peppol:france:billing:cius:1.0 | 2.1 | urn:peppol:france:billing:regulated |
| CreditNote | urn:cen.eu:en16931:2017#conformant#urn:peppol:france:billing:extended:1.0 | 2.1 | urn:peppol:france:billing:regulated |
| Invoice | urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 | 2.1 | urn:peppol:france:billing:regulated |
| Invoice | urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 | 2.1 | urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
| Invoice | urn:cen.eu:en16931:2017#compliant#urn:peppol:france:billing:cius:1.0 | 2.1 | urn:peppol:france:billing:regulated |
| Invoice | urn:cen.eu:en16931:2017#conformant#urn:peppol:france:billing:extended:1.0 | 2.1 | urn:peppol:france:billing:regulated |
| Factur-X | urn:cen.eu:en16931:2017#conformant#urn:peppol:france:billing:Factur-X:1.0 | D22B | urn:peppol:france:billing:regulated |
| CrossIndustryInvoice | urn:cen.eu:en16931:2017#compliant#urn:peppol:france:billing:cius:1.0 | D22B | urn:peppol:france:billing:regulated |
| CrossIndustryInvoice | urn:cen.eu:en16931:2017#conformant#urn:peppol:france:billing:extended:1.0 | D22B | urn:peppol:france:billing:regulated |
Does Flowin support cross-network routing between France and Peppol?
No. Cross-network exchange between France (PPF + PA network), and Peppol is not yet supported via Flowin.
Applications must therefore not assume that invoices can automatically be routed between French PPF/PA participants and Peppol participants.