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 Access Point: Commercial (BYO REST) v 19.0
  4. Sales Conditions FAQ

Peppol Access Point: Commercial (BYO REST)

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 7
Download for v 19.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!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · Accounting Suite
ERP Heritage Accounting Suite

Peppol Commercial Access Point

Send customer invoices directly to any commercial Peppol access point over REST API without the need for Enterprise edition or third-party hosted services.

Free · LGPL-3REST APIBearer Authv19.0.1.0.0
REST submit to custom endpoint
Configurable poll paths
Base64 document encoding
Flexible JSON parsing
Stdlib HTTP only

Why this module

Peppol Commercial Access Point

Independence

No third-party dependency

Send directly to your Peppol access-point account without relying on a third-party invoice service or a hosted proxy. You control the credentials and the endpoint.

Flexibility

Configurable REST shape

Accommodate variations in access-point API design via configurable paths (submit_path, poll_path) and multi-field response mapping, so you can integrate with different providers.

Lightweight

Minimal overhead

Adapter-only module with no UI dependencies. Reuses the parent Peppol framework for company setup, UBL generation, and inbound document parsing. No extra database tables.

Day in the life

A financial controller sends invoices via Peppol

1. Admin installs module and configures parent eh_account_einvoice_peppol. 2. Controller navigates to company settings and selects the 'Commercial' access-point adapter, enters the REST base URL and API key from their Peppol provider. 3. Controller creates a sales invoice, sets customer's Peppol ID (e.g. 0151:53004085616), clicks Send via Peppol. Module POSTs the UBL XML to the provider's /documents endpoint with Bearer auth, records the transmission ID. 4. Overnight, the poll cron queries the provider's /inbound endpoint, fetches any arrived invoices from customers, and creates inbound records. 5. Controller reviews inbound invoices in the Peppol inbox, matches to POs, posts them.

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.

Malformed JSON

If an inbound message JSON is malformed or lacks expected fields (document, messageId, etc.), the adapter gracefully skips it or fills with empty strings rather than crashing the poll.

Base64 decode error

If a document field is not valid base64, the adapter catches the exception and stores an empty byte string, allowing the poll to continue and create a record the user can inspect.

Missing credentials

If base_url or api_key are blank in config, the adapter raises AccessPointError at instantiation, preventing silent failures.

Response format variation

The adapter accepts either a JSON object with 'messages' key or a direct array, and looks for document in 'document' or 'xml' fields, accommodating provider differences.

What is inside

Built to do the job, end to end.

  • adapters/commercial_ap.py. CommercialAccessPoint class with submit() and poll() methods. Reads config['credentials'] for base_url, api_key, sender_id, submit_path, poll_path. POST to endpoint with base64-encoded UBL; GET poll endpoint with since timestamp. Flexible JSON parsing for transmission_id and inbound messages.
  • adapters/__init__.py. Module entrypoint that imports commercial_ap, triggering adapter registration via register_adapter('commercial', ...) call in commercial_ap.py.
  • tests/test_commercial_ap.py. 4 TransactionCase tests: adapter registration, missing credentials error, submit request construction (URL, headers, body structure), poll response mapping. All HTTP mocked, no network access.
  • __init__.py. Module initialization file that imports adapters subpackage, loading the CommercialAccessPoint adapter and registering it in the parent Peppol framework's adapter registry.

Honest about the edges

What this does not do, so nothing surprises you.

  • Requires parent module eh_account_einvoice_peppol to be installed and configured first.
  • Does not generate UBL XML, validate Peppol IDs, or parse inbound documents; all handled by parent.
  • Does not provide a configuration UI; company must set REST credentials and paths via parent module's company-level config mechanism.
  • Depends on customer having an active account with a commercial Peppol access point and valid API credentials.
  • Does not handle document encryption, signing, or AS4 protocol; the access-point provider handles those entirely.
Search

Peppol access point, REST API adapter, e-invoicing transmission, Odoo Community Peppol, UBL over REST, commercial access point, BYO API key, invoice transmission, inbound polling, Peppol REST client, API authentication, no IAP e-invoicing, Odoo 19 Peppol

More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 19
Employment Hero Webhook

Inbound webhook receiver for the Employment Hero people and payroll platform on Odoo 19 Community

USD 369
Mauritius e-Invoicing

Real-time fiscalisation of customer invoices and credit notes with the Mauritius Revenue Authority e-Invoicing (E...

USD 49
User Access Studio

A user driven access overlay for Odoo 19

USD 9
Employment Hero Canada

The Canada country pack for the ERP Heritage Employment Hero integration

USD 39
Employment Hero Documents

Sync Employment Hero documents into the Odoo Documents app

USD 59
Employment Hero Payroll Bridge

Imports finalised pay run journals from the Employment Hero payroll platform (KeyPay) into Odoo Community account...

ERP Heritage

v19.0.1.0.0 · LGPL-3 · Odoo 19 Community

Developed by ERP Heritage - Top Odoo Partner • LinkedIn

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Purchase (purchase)
• Discuss (mail)
Community Apps Dependencies Show
• Peppol eInvoicing
• Accounting Suite Base
• EH EDI Core
Lines of code 6976
Technical Name eh_account_einvoice_peppol_ap_commercial
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/

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