- Home
- Apps
- SaaS Tools
- Peppol EU E-Invoicing (BIS 3.0 / EN16931)
Illustrative previewA build-to-order ERPNext app that generates, sends and receives Peppol BIS Billing 3.0 (UBL 2.1,
EN16931) e-invoices through your EU Access Point provider.
ECOSIRE scopes, builds, installs and supports it — this is not a one-click marketplace download.
What is Peppol EU E-Invoicing (BIS 3.0 / EN16931)?
A build-to-order ERPNext app that generates, sends and receives Peppol BIS Billing 3.0 (UBL 2.1, EN16931) e-invoices through your EU Access Point provider. ECOSIRE scopes, builds, installs and supports it — this is not a one-click marketplace download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Most EU finance teams running ERPNext hit the same wall as ViDA and national e-invoicing mandates approach: ERPNext core produces a PDF Sales Invoice and a print format, but nothing that speaks Peppol. There is no native UBL 2.1 generation, no EN16931 semantic validation, no Access Point transport, and no inbound e-document lane. That leaves teams re-keying invoices into a government or provider portal, or running a spreadsheet-to-portal shuffle that breaks the moment volume, entity count or cross-border traffic grows. Once a tax authority or a large customer requires structured e-invoicing, a PDF is no longer a legal invoice — and ERPNext, out of the box, cannot produce the structured document the network expects.
ECOSIRE builds a proper Frappe app — its own module, DocTypes, roles and permissions — that lives inside your ERPNext bench rather than beside it. The core is a UBL 2.1 generator that maps the ERPNext Sales Invoice and credit notes to a compliant Peppol BIS Billing 3.0 document: seller and buyer Party blocks with the correct Peppol participant IDs and scheme identifiers (0088 GLN, 0192 org number, VAT-based schemes), InvoiceLine rows carrying EN16931 tax categories, allowances and charges, rounding and the mandated code lists. Every document is run through EN16931 / BIS 3.0 schematron validation before it is allowed to leave the system, so malformed documents are caught at source instead of being rejected days later by the receiver's Access Point.
Technically, generation and dispatch hook into the ERPNext document lifecycle. hooks.py doc events on Sales Invoice (on_submit, on_cancel) trigger UBL build and transmission; a dedicated Peppol Document DocType stores the generated XML, the transmission ID, participant details and a status field, giving finance a clean audit trail. Outbound transmission calls your chosen Peppol Access Point service provider's API — we integrate with the provider you already use or help you select one; ECOSIRE does not become the Access Point itself. Inbound documents are polled on a scheduler_events cron, parsed from UBL back into ERPNext, and matched against open Purchase Order / Purchase Invoice records with clear exception handling when a match is uncertain. Participant lookup and validation (SML/SMP-style resolution via the provider) is exposed as a whitelisted method so users can verify a counterparty is Peppol-reachable before sending. A client script surfaces send status, validation errors and a "resend" action directly on the invoice form, and role profiles keep e-invoicing actions scoped to finance staff.
Because this is build-to-order, nothing is a black box. After a short scoping call we confirm your legal entities, VAT scheme identifiers, Access Point provider, the document types in scope (invoice, credit note, self-billing) and any country-specific CIUS profiles you need. ECOSIRE then builds against your Frappe/ERPNext v15 or v16 bench, validates on a staging copy of your data through real UAT with your finance team, and installs to production with a rollback plan. You receive the full source, a git repository handover, technical and user documentation, a training session and a post-go-live support window — so the app is yours to run, extend and audit, not a subscription you rent.
What you get
- Installable source code for your version of the app — a proper Frappe app (module, DocTypes, server scripts, client scripts, hooks)
- Installation and configuration on your ERPNext v15/v16 bench, including Access Point provider credentials and participant setup
- Technical documentation: DocType and field reference, hook and scheduler map, whitelisted API methods, and the UBL field mapping
- End-user guide plus a live training session for your finance team on send, receive, matching and error handling
- UAT on a staging copy of your data with a documented test plan, plus a production rollback plan
- Post-go-live support window for defect fixes and questions after cutover
- Git repository handover with full commit history so the code is yours to audit and extend
- Configuration record of legal entities, VAT scheme identifiers and in-scope document types and CIUS profiles
Who this is for
EU Finance / Accounting Manager
Owns AR/AP in ERPNext and is accountable for meeting ViDA and national e-invoicing mandates. Needs outbound Peppol invoices and inbound receipt to work without manual portal re-keying, with a clear audit trail per document.
Group Controller (multi-entity)
Runs several EU legal entities on one ERPNext instance and needs each entity's correct Peppol participant ID, VAT scheme and country CIUS profile handled automatically, with consolidated status visibility across all entities.
ERPNext System Administrator / Frappe Developer
Maintains the bench and wants a real Frappe app — clean DocTypes, hooks and whitelisted methods — installed with source and git handover, not an opaque connector they cannot audit or extend on v15/v16.
Finance Operations / AP Clerk
Processes incoming invoices daily and needs received Peppol documents to land as matched draft Purchase Invoices, with a clear exception queue when a document does not match an open order.
How Peppol EU E-Invoicing (BIS 3.0 / EN16931) Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Peppol / EN16931 output | Purpose-built UBL 2.1 BIS 3.0 with pre-dispatch schematron validation | Whatever your team builds and validates itself | Generic UBL export, validation depth varies | None — PDF and print format only |
| Access Point transport | Integrated with your chosen provider's API, no lock-in | You wire and maintain the integration | Often tied to one bundled provider | Not available |
| Inbound receive + matching | Scheduled poll, parse to draft Purchase Invoice, match with exception queue | Build the whole inbound lane yourself | Frequently send-only or basic import | Not available |
| ERPNext integration | Native Frappe app: DocTypes, hooks, scheduler, whitelisted methods | Depends on your developers' patterns | Varies; some patch core or bolt on loosely | N/A |
| Code ownership | Full source + git repo handover, yours to extend | You own it but carry the full build cost | Usually closed / subscription | N/A |
| Multi-entity / country CIUS | Per-entity participant, VAT scheme and CIUS configured for you | You design and test the logic | Limited or single-country focus | Not available |
| Delivery model | Build-to-order, one working week, UAT on staging + rollback plan | Months of in-house build and QA | Instant install but generic fit | Immediate but does the job partially or not at all |
| Support & upgrades | Post-go-live window + optional retainer, v15/v16 tracked | Your team maintains it indefinitely | Vendor SLA, roadmap not yours to steer | Core support only, no Peppol |
Frequently Asked Questions about Peppol EU E-Invoicing
How long does delivery take?
This is a build-to-order app, so there is no instant download. Typical delivery is one working week from confirmed scope. The timeline starts once we have agreed your legal entities, VAT scheme identifiers, Access Point provider, in-scope document types and any country CIUS profiles on a short scoping call. Complex multi-entity or multi-country setups sit at the longer end of that range.
Do you become our Peppol Access Point?
No. ECOSIRE builds the ERPNext-side app that generates, validates and exchanges UBL documents, and integrates with your Peppol Access Point service provider's API. You keep (or we help you choose) a certified Access Point — we do not run the network transport ourselves, which keeps you free to change provider later.
How does support and updates work after go-live?
Every build includes a post-go-live support window for defect fixes and questions. Because you receive the full source and a git repository, your own team can also maintain and extend the app. Beyond the initial window, we offer ongoing support and update retainers — including keeping the app aligned with new BIS 3.0 code-list releases and Frappe/ERPNext v15/v16 upgrades — quoted separately.
Which ERPNext versions are supported?
We build against Frappe/ERPNext v15 and v16. The app is a standard Frappe app installed on your bench, using supported extension points (DocTypes, `hooks.py` doc events, `scheduler_events`, whitelisted methods and client scripts) rather than core patches, so it survives ERPNext upgrades within the supported range.
Can it handle inbound invoices, not just sending?
Yes. A scheduled job polls your Access Point for received Peppol documents, parses the UBL back into ERPNext as draft `Purchase Invoice` records, and matches them against open `Purchase Order` / `Purchase Invoice` entries. Documents that cannot be matched confidently drop into an exception queue for a clerk to review, rather than being auto-posted.
Will it work for multiple legal entities and countries?
Yes. The app resolves the correct Peppol participant ID, VAT scheme identifier and country-specific CIUS profile per entity, so a single ERPNext instance can send compliant documents from several EU companies. The entities and countries in scope are agreed during scoping and configured during the build.
Do we own the code?
Yes. You receive installable source for your version and a git repository handover with full commit history. The app is yours to audit, run and extend — it is not a hosted subscription that stops working if you stop paying.
Related Modules

Paytm Business Gateway for ERPNext
A build-to-order Frappe app that wires Paytm Payments into ERPNext — UPI, wallet, netbanking, cards, and Paytm Postpaid — with hosted checkout, server-side verification, and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after we scope your requirements.

PayU Gateway for ERPNext
A build-to-order PayU integration for ERPNext that unifies cards, UPI, netbanking, EMI and local methods across India, LATAM and EMEA. ECOSIRE builds it as a proper Frappe app, installs it on your bench, and supports it after go-live.

Pharmacy POS & Dispensing for ERPNext
A pharmacy checkout for ERPNext with FEFO batch/expiry control, prescription capture and refill tracking, and generic-substitute suggestions — built, installed and supported by ECOSIRE as a build-to-order Frappe app on v15/v16.

Philippines Payroll (SSS/PhilHealth/Pag-IBIG) for ERPNext
A Philippines-localized payroll app for ERPNext that automates SSS, PhilHealth, Pag-IBIG (HDMF) contributions, BIR withholding tax and 13th-month pay. ECOSIRE builds it to your scope, installs it on your Frappe bench, and supports it after go-live.
Peppol EU E-Invoicing
A build-to-order ERPNext app that generates, sends and receives Peppol BIS Billing 3.0 (UBL 2.1, EN16931) e-invoices through your EU Access Point provider. ECOSIRE scopes, builds, installs and supports it — this is not a one-click marketplace download.
- UBL 2.1 XML generation mapping the ERPNext `Sales Invoice` and credit notes to Peppol BIS Billing 3.0, compliant with the EN16931 semantic model
- EN16931 / BIS 3.0 schematron validation runs before dispatch — malformed documents are blocked at source with human-readable error messages on the invoice form
- Correct Peppol `Party` identification: participant IDs and scheme codes (0088 GLN, 0192 org number, VAT-based schemes) for seller and buyer
- Outbound transmission through your existing or selected Peppol Access Point service provider's API — no lock-in to a single provider