Skip to main content
ERPNext Peppol E-Invoicing (EU) Connector — A build-to-order Frappe app that turns ERPNext Sales Invoices into compliant Pepp — 1/1Illustrative preview

A build-to-order Frappe app that turns ERPNext Sales Invoices into compliant Peppol BIS Billing 3.0 (EN 16931)

UBL documents and transmits them through a certified Access Point.

ECOSIRE scopes, builds, installs, and supports it — designed for EU businesses facing national and ViDA e-invoicing mandates.

What is ERPNext Peppol E-Invoicing (EU) Connector?

A build-to-order Frappe app that turns ERPNext Sales Invoices into compliant Peppol BIS Billing 3.0 (EN 16931) UBL documents and transmits them through a certified Access Point. ECOSIRE scopes, builds, installs, and supports it — designed for EU businesses facing national and ViDA e-invoicing mandates. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

EN 16931 / Peppol BIS Billing 3.0 UBL 2.1 XML generation from the ERPNext `Sales Invoice` DocType, with correct tax category, VAT breakdown, and allowance/charge mapping
`hooks.py` `doc_events` on `Sales Invoice` submit that generates and queues the e-invoice automatically, plus a client-script button for manual send and re-send
Certified Peppol Access Point integration for outbound send, with message-ID and MLR/acknowledgement tracking against a dedicated `Peppol Document` DocType
Inbound receive flow that maps supplier UBL into ERPNext `Purchase Invoice` drafts for review and matching
Pre-send validation against the EN 16931 schematron and the applicable CIUS ruleset, surfacing structural and VAT-rule errors inside ERPNext before transmission
Country-specific CIUS / national profile support (e.g. Italy, France, Belgium, Poland, Germany, Netherlands) configured to your operating countries
Peppol Participant Directory (SMP) lookup to verify the recipient's participant ID and electronic-address scheme is registered and reachable
Peppol identifier fields added to `Customer` and `Company` (endpoint ID + EAS scheme code) with validation
Whitelisted Frappe REST API methods (`@frappe.whitelist()`) for send, delivery-status, and directory lookup, callable from automations or the invoice UI
`scheduler_events` jobs that poll Access Point delivery status and retry transient send failures with exponential backoff
Human-readable error and status reporting on each `Peppol Document`, with the raw UBL and validation report attached for audit and troubleshooting
Role profile and DocType permission model that scopes e-invoicing send/receive actions and keeps the full Frappe audit trail
ViDA-ready architecture: near-real-time status handling and a pipeline that extends to continuous transaction controls / digital reporting
Built for Frappe/ERPNext v15 and v16 as a standalone installable app — no ERPNext core modification, upgrade-safe

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 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

EU e-invoicing has stopped being optional. Between existing national mandates (Italy's SdI, France's mandate rollout, Poland's KSeF, Belgium's 2026 B2B requirement) and the incoming VAT in the Digital Age (ViDA) framework, businesses running ERPNext are increasingly required to issue structured, machine-readable invoices — not PDFs — and to route them over the Peppol network. ERPNext core does an excellent job of the accounting: it produces a clean Sales Invoice, taxes, and print formats. What it does not do out of the box is emit a valid EN 16931 UBL document, apply the country-specific CIUS/national rules, look up a recipient's Peppol Participant ID, or hand the document to a certified Access Point for delivery. That gap is exactly where teams get stuck weeks before a deadline.

ECOSIRE builds a proper Frappe app — a dedicated module with its own DocTypes, hooks.py doc events, server scripts, and scheduler entries — that plugs into your existing ERPNext without forking core. On Sales Invoice submit (via a doc_events hook), the app maps ERPNext fields to a Peppol BIS Billing 3.0 payload and generates syntactically valid EN 16931 UBL 2.1 XML. Before anything leaves your system it is validated against the EN 16931 schematron and the applicable CIUS profile, so structural or VAT-rule errors surface inside ERPNext — on a linked Peppol Document DocType with a clear status and a human-readable error report — rather than as an opaque rejection from a downstream authority. Master data is handled properly too: Customer and Company gain Peppol identifiers (electronic address scheme + participant ID), and a Participant Directory lookup confirms the recipient is registered and reachable on the network before you send.

Transmission runs through your chosen certified Peppol Access Point. We integrate the AP's API for outbound send and for inbound receive (mapping incoming supplier UBL back into ERPNext Purchase Invoice drafts), track the message and its acknowledgements against the Peppol Document record, and use Frappe scheduler_events to poll delivery status and retry transient failures with backoff. Whitelisted Frappe REST methods expose send/status/lookup actions so your own automations or a client-side script button on the invoice can trigger and monitor transmission. Role profiles and DocType permissions keep e-invoicing operations scoped to the right users, and every action is written to the Frappe audit trail. The design targets ViDA readiness — continuous transaction controls and near-real-time reporting — so the same pipeline extends as the digital reporting requirements land.

Because this is build-to-order, nothing is guessed. We start with a short scoping call to confirm your EU country/countries, the specific CIUS/national profile(s) you need, your Access Point provider, and your ERPNext version (v15 or v16). We build against a copy of your data on a staging bench, run UAT with real invoices end-to-end (generate → validate → send → acknowledge), and only then install on production behind a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full app source and its git repository, so you are never locked to us — though a post-go-live support window is included for the settling-in period.

What you get

  • Installable Frappe app source code for your ERPNext version (v15 or v16), building on your confirmed CIUS profiles and Access Point
  • Installation and configuration on your bench, including `hooks.py` events, scheduler jobs, Peppol identifiers, and Access Point credentials
  • UAT on a staging bench with real invoices exercised end-to-end (generate → validate → send → acknowledge), plus a documented production rollback plan
  • Technical documentation: DocType and field reference, hook/scheduler map, whitelisted REST endpoints, and validation/error handling
  • User guide plus a live training session for your finance/operations team on issuing, monitoring, and correcting e-invoices
  • Git repository handover with full commit history so you own and can extend the codebase
  • Post-go-live support window for bug fixes and configuration adjustments during the settling-in period
  • Handover of the CIUS/profile configuration and Access Point setup notes so future changes are self-serviceable

Who this is for

Finance/Compliance Lead at an EU SME on ERPNext

Responsible for meeting a national e-invoicing mandate (or preparing for ViDA) and needs invoices issued in valid Peppol BIS 3.0 through a certified Access Point without leaving ERPNext or manually re-keying into a portal.

ERPNext Systems/IT Administrator

Owns the ERPNext bench and wants a clean, upgrade-safe Frappe app with proper DocTypes, hooks, and whitelisted APIs — not core patches — so v15/v16 upgrades and future CIUS changes stay manageable.

Cross-border EU seller or multi-entity group

Trades across several EU countries and needs multiple country-specific CIUS profiles, participant-directory lookups, and per-company Peppol identifiers driven from a single ERPNext instance.

Accounting/ERP consultancy serving EU clients

Delivers ERPNext to EU customers and needs a maintainable, source-owned Peppol connector with documentation and a repo they can support and rebrand for their clients.

How ERPNext Peppol E-Invoicing (EU) Connector Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Peppol BIS 3.0 / EN 16931 UBLBuilt-in, validated against schematron before sendDepends on your team building it correctlyUsually supported, to the app's fixed interpretationNot produced — ERPNext emits PDF/print formats only
Country CIUS / national profilesConfigured to the exact countries you confirmEach profile is separate in-house workWhatever the vendor pre-packagedNone
Access Point transmissionIntegrated with your chosen certified AP, send + receiveYou build and maintain the AP integrationOften tied to the vendor's own AP/serviceNo network transmission
Fit to your ERPNext & dataScoped to your fields, versions (v15/v16), and workflowFully bespoke but you carry all the effortGeneric; you adapt to its assumptionsN/A
Source code ownershipFull source + git repo handed overYou own it — and all the maintenanceTypically closed / licensed, no repoCore only
ViDA readinessArchitected for continuous controls / digital reportingOnly if you design for itVaries by vendor roadmapNo
Time to liveone working week from confirmed scopeMonths of build, test, and compliance workFast to install, slow to bend to edge casesImmediate, but non-compliant for e-invoicing
Support & updatesPost-go-live window + optional maintenanceYour team owns every fixVendor SLA, tied to subscriptionCommunity/ERPNext releases only

Frequently Asked Questions about ERPNext Peppol E-Invoicing (EU) Connector

How long does delivery take?

This is a build-to-order product, not an instant download. Typical delivery is one working week from confirmed scope. The clock starts once we've agreed your EU country/countries, the required CIUS/national profiles, your Access Point provider, and your ERPNext version on the scoping call. Tighter deadlines can sometimes be accommodated — tell us the date and we'll be honest about what's feasible.

Is this an existing app I can just download from the Frappe marketplace?

No. ECOSIRE builds it for you around your specific compliance profile and Access Point, then installs and supports it. You receive the full source and the git repository at handover, so you own the code and are never locked to us.

Do I need a Peppol Access Point, and does this replace it?

You need a certified Access Point to send and receive on the Peppol network — this connector integrates with one rather than replacing it. If you don't have a provider yet, we'll advise on options during scoping and integrate the one you choose. The connector handles generation, validation, transmission, and status tracking inside ERPNext; the AP handles the certified network delivery.

Which countries and profiles are supported?

The base is Peppol BIS Billing 3.0 / EN 16931, which is EU-wide. On top of that we configure the country-specific CIUS or national rules you operate under (for example Italy, France, Belgium, Poland, Germany, or the Netherlands). We build exactly the profiles you confirm at scoping; additional countries can be added later.

Will this survive ERPNext upgrades?

Yes. It ships as a standalone Frappe app that hooks into ERPNext via `hooks.py` doc events, whitelisted methods, and scheduler events — it does not modify ERPNext core. It's built for Frappe/ERPNext v15 and v16, which keeps your version upgrades clean.

What about support and updates after go-live?

A post-go-live support window is included for bug fixes and configuration adjustments while the system settles in. Because e-invoicing rules and the ViDA framework evolve, we also offer an ongoing maintenance arrangement to keep CIUS profiles and validations current — quoted separately. Since you hold the source and repo, your own team can maintain it too.

How does validation prevent rejected invoices?

Before any document leaves ERPNext, the app validates the generated UBL against the EN 16931 schematron and your applicable CIUS ruleset. Errors are shown inside ERPNext on the linked `Peppol Document` with a human-readable report, so structural or VAT-rule problems are caught and fixed before the Access Point ever sees them.

Request a quote

ERPNext Peppol E-Invoicing (EU) Connector

A build-to-order Frappe app that turns ERPNext Sales Invoices into compliant Peppol BIS Billing 3.0 (EN 16931) UBL documents and transmits them through a certified Access Point. ECOSIRE scopes, builds, installs, and supports it — designed for EU businesses facing national and ViDA e-invoicing mandates.

  • EN 16931 / Peppol BIS Billing 3.0 UBL 2.1 XML generation from the ERPNext `Sales Invoice` DocType, with correct tax category, VAT breakdown, and allowance/charge mapping
  • `hooks.py` `doc_events` on `Sales Invoice` submit that generates and queues the e-invoice automatically, plus a client-script button for manual send and re-send
  • Certified Peppol Access Point integration for outbound send, with message-ID and MLR/acknowledgement tracking against a dedicated `Peppol Document` DocType
  • Inbound receive flow that maps supplier UBL into ERPNext `Purchase Invoice` drafts for review and matching

Request a Quotation

Tell us about your ERPNext Peppol E-Invoicing (EU) Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.