EU E-Invoice Lifecycle Status Tracker
Track Peppol & French PDP e-invoice statuses - received, accepted, paid, rejected - in one place
A reporting and status-tracking layer that sits on top of your existing e-invoicing transport. It ingests the lifecycle responses your invoices receive over the Peppol network (UBL Invoice Response / Message Level Response) and over the French PDP / PPF reform statuses, normalises them into a single lifecycle, and tells you at a glance which invoices are accepted, paid, rejected or stuck.
What it does
Unified lifecycle
Every status message - whether it arrives over Peppol or a French PDP - is mapped onto one normalised lifecycle: Sent, Received, In Process, Under Query, Conditionally Accepted, Accepted, Rejected, Paid. The current stage is always derived from the full event history, with terminal outcomes (Paid / Rejected) taking precedence.
Two real EU transports
Peppol: parses the UBL ApplicationResponse
(Invoice Response / MLR) and maps the UNCL4343 ResponseCode
(AB, IP, UQ, CA, AP, RE, PD) plus UNCL7143 status-reason codes.
France PDP/PPF: reads the e-invoicing reform lifecycle
statuses (ids 1–13: Submitted, Rejected, Approved, Cashed…),
including the four mandatory statuses every PDP must support.
Key features
Status ingestion
Import a Peppol ApplicationResponse XML or a PDP lifecycle JSON payload through the import wizard; events route to the right tracker by invoice reference and de-duplicate automatically.
SLA & aging
Per-document SLA in days, document age, days-in-current-stage and an Overdue flag for unsettled invoices that have aged past their SLA. A daily scheduled action logs overdue documents.
Exception view
Rejected and under-query events are flagged as exceptions so your AR/AP team can act on the invoices that actually need attention.
Invoice integration
Create a lifecycle tracker straight from a customer or vendor invoice; the current e-invoice status is shown on the invoice form and list.
Outbound Peppol Response
Build a valid Peppol BIS Invoice Response (UBL ApplicationResponse) for the current stage to send upstream with your own access point (BYOK) — the module produces the payload, you transmit it.
Reporting funnel
Group trackers by current stage, transport and partner to see your entire e-invoice pipeline as a funnel from received to paid.
Supported status codes
| Transport | Raw code | Lifecycle stage |
|---|---|---|
| Peppol (UNCL4343) | AB | Received |
| Peppol (UNCL4343) | IP | In Process |
| Peppol (UNCL4343) | UQ | Under Query |
| Peppol (UNCL4343) | CA | Conditionally Accepted |
| Peppol (UNCL4343) | AP | Accepted |
| Peppol (UNCL4343) | RE | Rejected |
| Peppol (UNCL4343) | PD | Paid |
| France PDP/PPF | 1 — Submitted | Received |
| France PDP/PPF | 2 — Rejected | Rejected |
| France PDP/PPF | 5 — Approved | Accepted |
| France PDP/PPF | 10 — Refused | Rejected |
| France PDP/PPF | 12 — Cashed | Paid |
Scope & boundary
This module is a status-tracking and reporting layer on top of your existing transport. It does not connect to or impersonate an access point, a PDP or any certified service: it reads the status messages you already receive and, optionally, builds the matching Peppol Invoice Response for you to transmit with your own credentials (BYOK). No data is sent anywhere by the module itself.
We deliver the software only (BYOK — any Invoice Response is transmitted under your own Peppol access point and credentials). We are not a Peppol access point, SMP, PDP or integrator. Support is provided and your purchase is refundable.
Compatible with Odoo Community and Enterprise. Works on top of the standard Accounting application. Codes follow the published UNCL4343 / UNCL7143 code lists used by Peppol BIS and the French e-invoicing reform lifecycle status list.
Screenshots
Settings
Lifecycle Events
Import Status
Lifecycle Trackers
Update date: 2026-07-02