E-reporting & Certified Platform (PDP) — Documentation
Install and configure the e-reporting module: VAT regime, periodicity, PDP submission (API or manual), invoice lifecycle and automatic cron.
This module transmits your B2C transaction data (e-reporting) and your invoice lifecycle statuses to the French tax administration, as part of the French e-invoicing reform. It generates the flux in the format expected by the DGFiP (CII semantics, flux 10, in XML and JSON) and submits it to your certified platform (Plateforme Agréée, PDP), or lets you deposit it manually. This guide covers installation, configuration and day-to-day use.
Regulatory reminder. From September 1st, 2026, receiving electronic invoices becomes mandatory for all companies, while issuing and e-reporting become mandatory for large and mid-size companies. SMEs and micro-businesses follow on September 1st, 2027. Each missing e-reporting transmission is subject to a 250 € fine (capped at 45,000 €/year).
Requirements
- PrestaShop 8.0 to 9.x, PHP 7.4 to 8.3.
- Your SIREN number (9 digits).
- Knowledge of your VAT regime (standard, simplified, or VAT franchise).
- For automatic submission: the connection details provided by your certified platform (submission URL, status URL, OAuth2 credentials or API key). These are not required in manual mode.
Installation
- In the back office, open Modules > Module Manager, click Upload a module and select the ZIP file.
- Once installed, click Configure. The module automatically creates its tables and an E-reporting tab under Orders.
- Go to the Settings tab for the initial configuration.
Initial configuration
All settings live in the Settings tab of the module configuration page.
Identity and regime
- SIREN: your 9-digit number. It identifies the seller party in every transmitted flux.
- VAT regime: determines the frequency of your transmissions. Standard = ten-day, simplified = monthly, VAT franchise = bimonthly.
- Activity type: goods, services or mixed. Services and mixed activities enable payment tracking, since VAT is due on collection for those.
- Start date: the earliest date from which the module collects transactions. Set it no earlier than the date you become subject to the obligation.
Collection options
- Include intra-EU B2B sales: adds sales to businesses in another EU member state, which are also subject to e-reporting.
- Include credit slips: integrates credit slips (order slips) into the flux as negative amounts.
Choosing the submission mode
The PDP mode setting determines how fluxes are transmitted.
Manual mode
The module generates the fluxes; you download them as XML or JSON and deposit them yourself on your platform’s portal, then mark the transmission as deposited. This is the recommended mode if your platform has no API yet, or if you prefer to keep control.
API mode
The module submits fluxes to your platform automatically. Fill in:
- Submission URL and status URL provided by your platform.
- Authentication mode: OAuth2 (client credentials), API key, or static Bearer.
- Depending on the mode: token URL, Client ID and Client Secret for OAuth2; or API key; or Bearer token.
- Payload format: XML or JSON, depending on what your platform’s API expects.
Use the Test PDP connection button to validate your credentials before going live.
The secret is preserved. When you save the settings while leaving the Client Secret or API Key field empty, the previously stored value is kept. You therefore don’t need to re-enter the secret on every change.
Generating and transmitting a period
From the dashboard
The Dashboard tab shows due periods, each with its legal deadline. An overdue period is flagged in red. Click Generate next to a period to produce its flux. The Generate all button processes every elapsed period at once.
From the Transmissions tab
The Transmissions tab lists every generated flux with its status. For each transmission you can:
- View the VAT-rate breakdown detail.
- Download the flux as XML or JSON.
- In API mode, click Submit to PDP.
- In manual mode, mark the transmission as deposited, then accepted or rejected based on the platform’s feedback.
- Delete a transmission as long as it has not been submitted.
Transmission statuses. A transmission moves through draft, generated, submitted, accepted, rejected or error. A transmission that is already submitted or accepted can no longer be deleted, to preserve your audit trail.
Periodicity by regime
The module computes periods automatically based on the configured regime, in accordance with decree 2022-1299:
- Standard — ten-day: three periods per month (1st-10th, 11th-20th, 21st-end of month). Each flux must be deposited within 10 days after the end of the period.
- Simplified — monthly: one transmission per month, to be deposited between the 25th and 30th of the following month.
- VAT franchise — bimonthly: one transmission every two months.
How amounts are computed
The module rebuilds the VAT-rate breakdown from real order lines. It adds shipping at the carrier rate, includes gift wrapping, and folds rounding differences and discounts onto the largest bucket so that transmitted totals match your order totals exactly. Foreign-currency orders are converted at the rate recorded at the time of sale. Credit slips, if enabled, are integrated as negative amounts and allocated proportionally across the rates of the original order.
Invoice lifecycle
The Lifecycle tab lets you track your invoice statuses: deposited, rejected, refused and cashed. Payments are detected automatically from PrestaShop order payments, and moving an order to a “paid” state records the cashed status. You can also enter a status manually for a given order. In addition, every back-office order page displays a panel summarizing its e-reporting status.
Cron automation
The Dashboard tab shows a token-secured cron URL. Set up a scheduled task (cron) at your host to call this URL, for example once a day. On each call, the module generates all elapsed periods and, if Automatic submission is enabled in API mode, submits the fluxes to your platform.
Keep the cron URL confidential. It contains a token that authorizes flux generation and submission. Do not share it publicly. If you believe it has been exposed, regenerate the token in the settings.
Test mode
Enable Test mode to validate the full chain with no real effect. Every flux transmitted in this mode carries the test indicator defined by the official format: your platform treats it as a trial. A TEST MODE banner stays visible in the interface while the option is active. Disable it before your first real transmission.
Frequently asked questions
Am I concerned if I only sell to consumers?
Yes. B2C sales fall precisely under e-reporting: their transaction data must be transmitted periodically, even though no electronic invoice is issued.
Does the module work with my certified platform?
The API client is generic and compatible with any platform exposing a REST API with OAuth2, API key or Bearer authentication. If your platform has no API, manual mode remains available.
Is it compatible with the DataFirefly Factur-X module?
Yes. Both modules are complementary: Factur-X covers B2B electronic invoicing, this module covers B2C transaction e-reporting and the invoice lifecycle. They can be used together without conflict.
What if I install the module mid-year?
Set the Start date to the date from which you become subject to the obligation. The module only generates periods from that date onward.