Have you given any thought to e-invoicing yet? It’s already mandatory in Belgium and will become mandatory in the Netherlands in 2028.
E-invoicing for online shops means that invoices are automatically sent in a structured digital format (usually via the Peppol network), which ensures faster processing and fewer errors. It is on the rise and is mandatory in many countries for B2B and public sector contracts. For B2C, it is not mandatory, but it is efficient when linked to accounting software.
I have government contracts where invoices can now only be accepted via e-invoicing, which isn’t exactly ideal, hence my question.
I look forward to your responses,
Regards, Martin
Translated with DeepL.com (free version)
e-invoicing (Peppol)
- martindavinci
- Member
- Posts: 38
- Joined: Mon Mar 08, 2021 8:33 am
- Phoenix Version: 1.1.0.5
- Has thanked: 2 times
- burt
- Core Team
- Posts: 4550
- Joined: Tue Oct 29, 2019 9:37 am
- Phoenix Version: v1.1.0.8
- : Buy Me A Beverage
- Has thanked: 252 times
- Been thanked: 412 times
Re: e-invoicing (Peppol)
New Customer Data modules to capture:
When the invoice is issued (i.e. finalised, not at checkout):
Or an extra button to press.
---
The main challenge is ensuring the data is valid. Before sending, you must guarantee:
-> the access point will reject the invoice
-> you fix, and re-submit
Practical advice
Do not send at checkout - only when the invoice is final
Do not attempt to "fix" data at send-time - validate beforehand or at worst, allow re-submit
Do not assume existing order data is sufficient ... a simple validation step before sending would be good. Maybe a button somewhere to allow shopowner to see what Peppol will receive before finalised send ?
Peppol Status column in Orders page
To Send [eg on new Orders not yet finalised]
Failure [allow re-try]
Success
---
It's a lot of jigsaw pieces.
From which you need to make a clear picture.
What's your next move?
- `customers_peppol_id`
- `customers_vat_id`
- B2B (PEPPOL)
- B2G (PEPPOL)
- B2C (most likely no PEPPOL)
When the invoice is issued (i.e. finalised, not at checkout):
- Take a snapshot of the Order data
- Transform it into a structured payload (JSON is the easiest way here)
- Send it to your chosen Peppol access point (whichever one needs to support JSON)
Or an extra button to press.
---
The main challenge is ensuring the data is valid. Before sending, you must guarantee:
- Customer has a valid `customers_peppol_id` (if not skip PEPPOL entirely)
- VAT numbers are present and correctly formatted (for B2B)
- Country codes are ISO 2 letter
- Line-level tax calculations are correct (not just order totals)
- Totals reconcile exactly (no rounding differences)
- Required address fields are populated (not blank)
-> the access point will reject the invoice
-> you fix, and re-submit
Practical advice
Do not send at checkout - only when the invoice is final
Do not attempt to "fix" data at send-time - validate beforehand or at worst, allow re-submit
Do not assume existing order data is sufficient ... a simple validation step before sending would be good. Maybe a button somewhere to allow shopowner to see what Peppol will receive before finalised send ?
Peppol Status column in Orders page
To Send [eg on new Orders not yet finalised]
Failure [allow re-try]
Success
---
It's a lot of jigsaw pieces.
From which you need to make a clear picture.
What's your next move?