Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Peppol eInvoicing v 16.0
  4. Sales Conditions FAQ

Peppol eInvoicing

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 16.0 Third Party 37
Download for v 16.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Purchase (purchase)
• Discuss (mail)
Community Apps Dependencies Show
• Accounting Suite Base
• EH EDI Core
Lines of code 6678
Technical Name eh_account_einvoice_peppol
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · Accounting Suite
PEPPOL BIS BILLING 3.0 FOR ODOO 19 COMMUNITY

Peppol eInvoicing

Send and receive Peppol BIS Billing 3.0 invoices on Odoo 16 Community, with a real UBL 2.1 generator, an inbound bill workflow, and pre-flight validation that catches errors before the access point does.

Free · LGPL-3TWO WAYUBL 2.1v16.0.1.6.7
Outbound UBL
Inbound bills
Pre-flight
ID checksums
No duplicates

Why this module

Peppol eInvoicing

01 / DEPTH

A real generator and a real parser

Outbound emits the actual OASIS UBL 2.1 namespaces and the Invoice-2 and CreditNote-2 roots. Inbound is a parser plus a received to parsed to matched to posted state machine that creates the vendor bill. Not field names that sound like Peppol, the actual document mechanisms.

02 / SAFETY

Caught before the access point

Every payload is checked against the high-frequency Peppol and EN 16931 invariants (mandatory elements, single currency, totals reconciled within 1 cent) before download, and a failure names the rule. Participant identifiers are checksum-validated so an invalid ABN or GLN bounces with a precise message, not a rejection hours later.

03 / OWNERSHIP

Yours to keep, yours to wire

LGPL-3 source on disk, no activation key, no phone-home. Transport is bring-your-own through a published adapter contract, and the account.move payload builder is split into override methods so a localisation can enrich party identification and per-line tax mapping without forking the module.

Day in the life

An AP clerk handles a cross-border invoice both ways.

A posted customer invoice gets one button: the generator produces the BIS Billing 3.0 XML, structurally validated for mandatory elements, single-currency consistency and total reconciliation before it is offered for download. Later the same day a supplier UBL arrives in the inbox. The poll cron parses it into header data but does not post anything. The clerk opens the record, the parser has already matched the supplier, and an accounting manager posts it as a vendor bill. When the access point retransmits the same file an hour later, the duplicate guard recognises the file hash and refuses it, so no second bill is created. None of it required an Enterprise subscription.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

INBOUND CONTROL

Posting an inbound bill is gated to accounting managers, a distinct control from parse and match. The cron auto-parses on poll but never auto-posts, so no vendor bill is ever created without a human review and a manager action.

NO DUPLICATES

A re-submitted identical UBL (same SHA-256 file hash, same supplier, same company, not previously rejected) is flagged and posting is refused, so a retrying access point cannot create a duplicate vendor bill.

CURRENCY DRIFT

Any currencyID attribute that differs from the document currency code is rejected before transmission, catching mixed-currency drift that would otherwise be rejected downstream.

ROUNDING

Line totals against the legal monetary total, and tax subtotals against the tax total, are each reconciled within a 1 cent tolerance that absorbs per-line half-up rounding residual, so a one-cent drift is named rather than shipped.

AMBIGUOUS SUPPLIER

When more than one supplier candidate matches an inbound document, the partner is left empty and the record is routed to an exception state for manual review rather than guessing the wrong vendor.

CREDIT NOTES

Credit notes are not a relabelled invoice: they use the CreditNote root and namespace, CreditNoteTypeCode 381 and CreditedQuantity, and omit DueDate, the way a compliant BIS credit note must.

EXPORT GUARD

Export refuses any move that is not posted and any document type that is not a customer invoice or credit note, with an explicit message instead of producing an invalid payload.

What is inside

Built to do the job, end to end.

  • Outbound UBL 2.1 generator. One button on a posted customer invoice or credit note renders a Peppol BIS Billing 3.0 document using the official OASIS UBL 2.1 namespaces and Invoice-2 / CreditNote-2 roots, with UN/ECE rec-20 unit codes in the unitCode attribute.
  • Structural pre-flight validation. Before download, the payload is checked against the high-frequency Peppol and EN 16931 invariants: mandatory elements, single-currency consistency, and line and tax reconciliation within 1 cent. A failure names the offending rule. This is a structural check, not full XSD validation.
  • Inbound parser and bill workflow. A complete UBL parser feeds a received to parsed to matched to posted to exception state machine that creates the vendor bill, with posting gated to accounting managers and ambiguous suppliers routed to exception for review.
  • Participant-identifier validation. Real checksums validate participant identifiers before export: ABN weighted checksum, GS1 GLN mod-10, fixed-length numeric schemes, DE VAT, FR SIRET Luhn and MY TIN, so an invalid id bounces with a precise message instead of failing at the access point.
  • Country-profile validators (opt-in). A-NZ, MY, DE and FR validators ship in tools as unit-tested, opt-in checks for jurisdiction identifiers and allowed tax categories against the BIS 3.0 payload. They do not generate national formats and are not run by the default Export button.
  • Bring-your-own access point. An adapter registry and submit/poll contract ships in-module with a manual file-drop stub. The access-point key and inbox email are stored per company and read by the poll cron, so each company in a multi-company install can route to its own access point. Live AS4 transport is a separate adapter, not included.
  • Localisation override hooks. The account.move payload builder is split into override methods for payload, party, and lines plus tax, so a localisation can enrich party identification and per-line tax mapping by inheritance.

Honest about the edges

What this does not do, so nothing surprises you.

  • No live AS4 transmission is included. A real adapter registry, submit/poll contract and a manual file-drop stub ship in-module, but live access-point transport requires a separate ERP Heritage adapter module registered under the same key.
  • Validation is structural, not full XSD. The pre-flight checker enforces the high-frequency Peppol and EN 16931 invariants (mandatory elements, single currency, total reconciliation), not the complete OASIS XSD schema; no .xsd files ship.
  • The four country profiles validate, they do not generate national formats. A-NZ, MY, DE and FR validators check identifiers and tax categories only; they do not emit MyInvois submissions, XRechnung CII or Factur-X documents, and they are opt-in rather than run by the Export button.
  • No dedicated Settings panel ships. Configuration lives on records: the Peppol endpoint id and scheme are set per partner, and the access-point key per company. There is no res.config.settings view or top-level menu in this module.
  • The low-level UBL renderers are pure functions, not inheritance override points. Override seams exist on the account.move side (payload, party, lines plus tax); the renderers in tools are module-level functions and cannot be overridden via Odoo inheritance.
Search

Odoo 16 Peppol e-invoicing, Peppol BIS Billing 3.0 Odoo Community, UBL 2.1 invoice generator Odoo, Peppol inbound vendor bill Odoo, UBL XML parser Odoo accounting, Peppol access point adapter Odoo, ABN GLN participant id validation Peppol, electronic invoicing EN 16931 Odoo, credit note UBL CreditNote Odoo, Peppol duplicate invoice detection

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Odoo Implementation • LinkedIn

v16.0.1.6.7 · LGPL-3 · Odoo 16 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with