France application response and status codes
A consolidated reference for every status code you can receive during France e-invoicing and e-reporting.
About this reference
Every notification you receive for France contains one or more status codes. These status codes provide the following information about the SCICloudStatusCode:
-
The matching French reform code
-
Who sends it
-
Whether it's mandatory to the Plateforme Agréée (PA)
-
What it means
Three independent code sets appear in France notifications. They're all three-digit numbers, but they don't overlap in meaning:
- SCICloudStatusCode
- A Sovos platform code. This is the primary code to rely on. It tells you exactly where a document is in the workflow and if you need to take any action.
- French reform code
-
France's e-invoicing reform (XP Z12-014) defines this code. It always appears alongside the matching
SCICloudStatusCodein this reference. - PPF ProcessConditionCode
-
A code the Portail Public de Facturation (PPF) returns in its own response documents (CDAR format). Only some
SCICloudStatusCodevalues have a matching PPF code.
A separate code, SCIStatusAction, tells you whether a response requires action from you (for example, NOA for "no action required").
Status code lookup
| Code | Context | Status or reason | Go to |
|---|---|---|---|
| 102 | Invoice delivery | Déposée (Submitted) | Invoice delivery phase codes |
| 102 | E-report | Sovos validation passes | E-Report status codes |
| 104 | E-report | Sent to PPF for validation | E-Report status codes |
| 203 | Invoice treatment | Approuvée (Approved) | Invoice treatment phase codes |
| 204 | Invoice delivery | Émise par la plateforme (Issued) | Invoice delivery phase codes |
| 206 | Invoice treatment | Complétée (Completed) | Invoice treatment phase codes |
| 213 | Invoice treatment | Paiement transmis (Payment sent) | Invoice treatment phase codes |
| 214 | Invoice delivery | Reçue par la plateforme (Received) | Invoice delivery phase codes |
| 215 | Invoice delivery | Mise à disposition (Made available) | Invoice delivery phase codes |
| 216 | Invoice treatment | Prise en charge (Acknowledged) | Invoice treatment phase codes |
| 217 | Invoice treatment | Approuvée partiellement (Partially approved) | Invoice treatment phase codes |
| 218 | Invoice treatment | En litige (Disputed) | Invoice treatment phase codes |
| 219 | Invoice treatment | Suspendue (Suspended) | Invoice treatment phase codes |
| 220 | Invoice treatment | Encaissée (Payment received) | Invoice treatment phase codes |
| 228 | E-report | PPF accepts the report, workflow complete | E-Report status codes |
| 234 | E-report | PPF didn't receive the report (schema or filename error) | E-Report status codes |
| 235 | E-report | PPF received the report, still validating | E-Report status codes |
| 401 | Invoice delivery | Rejetée (Rejected) | Invoice delivery phase codes |
| 401 | E-report | Sovos validation fails | E-Report status codes |
| 405 | Invoice treatment | Refusée (Refused) | Invoice treatment phase codes |
| 407 | E-report | PPF rejects the report | E-Report status codes |
| 409 | Invoice delivery | Erreur_Routage (Routing error) | Invoice delivery phase codes |
| REJ_COH | PPF rejection reason | Data elements inconsistent with each other | PPF rejection reason codes |
| REJ_ENCAISSEMENT | PPF rejection reason | Collected amount doesn't match declared VAT | PPF rejection reason codes |
| REJ_HAB | PPF rejection reason | Not authorized, or missing permission | PPF rejection reason codes |
| REJ_INC | PPF rejection reason | Inconsistent with the invoice's current lifecycle state | PPF rejection reason codes |
| REJ_INEX | PPF rejection reason | Not allowed at this point in the lifecycle | PPF rejection reason codes |
| REJ_PER | PPF rejection reason | Submission date doesn't match the reporting period | PPF rejection reason codes |
| REJ_RG | PPF rejection reason | A business rule isn't satisfied | PPF rejection reason codes |
| REJ_SEMAN | PPF rejection reason | A field value doesn't conform to the required format | PPF rejection reason codes |
| REJ_UNI | PPF rejection reason | Sovos already processed this data | PPF rejection reason codes |
Invoice delivery phase codes
The delivery phase covers an invoice moving from Sovos to the buyer's platform (PA). Sovos and the buyer's platforms set these statuses automatically. You don't submit them.
| SCICloudStatusCode | French reform code | Sender | Mandatory to PPF | Description |
|---|---|---|---|---|
| 102 | 200 | Sovos | Yes | Déposée (Submitted). Sovos validates and transmits the invoice. This is the primary submission confirmation: The PPF has received the invoice. It now exists in the regulatory record. |
| 204 | 201 | Sovos | No | Émise par la plateforme (Issued). Sovos forwards the invoice to the buyer's PA. This status is optional. |
| 214 | 202 | Buyer's PA | No | Reçue par la plateforme (Received). The buyer's PA confirms receipt. This status is optional. |
| 215 | 203 | Buyer's PA | No | Mise à disposition (Made available). The buyer's PA delivers the invoice to the buyer. This status is optional. |
| 229 | Not applicable | PPF | Not applicable | The PPF receives the invoice successfully (PPF mandate code 500). Sovos generates this as a separate, client-visible notification when it receives that signal from the PPF. This status belongs to a distinct flow from 102 (Déposée). It doesn't replace or precede Déposée. Both statuses can appear independently for the same invoice. This is the e-invoicing delta status for document.receivedSuccessfullyByTaxAuthority. E-reports use a separate code, 235, for the same underlying PPF mandate code and meaning. |
| 401 | 213 | Sovos or buyer's PA | Yes | Rejetée (Rejected). The invoice fails functional validation. See Troubleshoot issues for remediation steps. |
| 409 | 221 | Sovos | Not applicable | Erreur_Routage (Routing error). Sovos couldn't route the document to the intended recipient. Sovos generates and delivers a CDAR for this status. Verify the buyer's address is registered and active in the Annuaire, then resubmit. |
Codes 204, 214, and 215 are optional. The buyer's PA isn't forced to send them, and the PPF doesn't receive them. Their absence doesn't indicate a problem.
Invoice treatment phase codes
The treatment phase covers business actions the buyer or seller posts against an invoice after it's delivered. Buyers and sellers submit these statuses themselves, as a Standard Business Document (SBD) containing a CDAR body.
| SCICloudStatusCode | French reform code | Sender | Mandatory to PPF | Description |
|---|---|---|---|---|
| 216 | 204 | Buyer | No | Prise en charge (Acknowledged). The buyer acknowledges receipt of the invoice. |
| 203 | 205 | Buyer | No | Approuvée (Approved). The buyer accepts the invoice in full. |
| 217 | 206 | Buyer | No | Approuvée partiellement (Partially approved). The buyer accepts the invoice in part. This can lead to a credit note. |
| 218 | 207 | Buyer | No | En litige (Disputed). The buyer disputes all or part of the invoice. You have to include a reason code. |
| 219 | 208 | Buyer | No | Suspendue (Suspended). The buyer is waiting for supporting documents before processing. As the seller, respond with Complétée (206), then attach the requested documents. |
| 206 | 209 | Seller | No | Complétée (Completed). This status is the seller's response to Suspendue. |
| 405 | 210 | Buyer | Yes | Refusée (Refused). The buyer refuses the invoice in full. You have to include a reason code. See Refusée: what happens next. |
| 213 | 211 | Buyer or seller | No | Paiement transmis (Payment sent). The buyer or seller made a payment. This status is optional but useful for treasury matching. |
| 220 | 212 | Seller | Yes, conditionally | Encaissée (Payment received). This status is mandatory when VAT is due on collection. See Encaissée: when it's mandatory. |
- Refusée: what happens next
- When you submit Refusée, Sovos sends the status to the PPF, which cancels the VAT pre-fill for both parties. Use Refusée only when you refuse the invoice in full, not for disputes about content (use En litige instead). If you refuse an invoice, don't book it. After Refusée is set, the invoice lifecycle closes at the PPF. No further mandatory statuses can post against it.
- Encaissée: when it's required
- In France, VAT on services is due when payment is received by default, not at invoice date. Encaissée is required for service invoices where the seller hasn't elected TVA sur débits (VAT on debit), and for down payment invoices subject to the same rule. Report it to the PPF in these cases. Submit it as soon as payment is reconciled.
E-report status codes
Code 235 below and code 229 in Invoice delivery phase codes both represent the PPF successfully receiving a document under PPF mandate code 500. Sovos uses separate delta codes for e-reports (235) and invoices (229), even though the PPF-side code and meaning are the same.
These codes apply to e-reports (Flow 10) rather than invoices. Errors can occur at three points: Sovos validation, PPF receipt, or PPF processing.
| SCICloudStatusCode | PPF code | Sender | Description |
|---|---|---|---|
| 401 | Not applicable | Sovos | Sovos validation fails. Fix the XML or SBDH errors then resubmit. |
| 102 | Not applicable | Sovos | Sovos validation passes. Sovos sends the report to the PPF next. |
| 104 | Not applicable | Sovos | Sovos sends the report to the PPF. The PPF now performs its own validation. |
| 235 | 500 | PPF | The PPF receives the report and is still validating it. Wait for a final status: 228 or 407. |
| 234 | 501 | PPF | The PPF doesn't receive the report due to a report schema or filename error. Sovos handles this automatically. Contact Sovos Support if the status doesn't resolve. |
| 407 | 301 | PPF | The PPF rejects the report. Review the parsed error details in the notification, correct the data, and resubmit. |
| 228 | 300 | PPF | The PPF accepts the report. The workflow is complete. |
PPF rejection reason codes
When the PPF rejects a regulatory data extract, a report, or a mandatory lifecycle status, the rejection notification includes one or more of these reason codes.
| Code | Applies to | Meaning |
|---|---|---|
| REJ_SEMAN | Invoice regulatory data (Flow 1), e-reports (Flow 10) | One or more field values don't conform to the required format. |
| REJ_UNI | Invoice regulatory data (Flow 1), e-reports (Flow 10) | Sovos already processed this data. |
| REJ_COH | Invoice regulatory data (Flow 1), e-reports (Flow 10) | One or more data elements are inconsistent with each other. |
| REJ_PER | E-reports (Flow 10) | The submission date doesn't align with the declared reporting period. |
| REJ_INC | Required lifecycle statuses | One or more statuses are inconsistent with the invoice's current lifecycle state. |
| REJ_INEX | Required lifecycle statuses | One or more statuses are incorrect or not allowed at this point in the lifecycle. |
| REJ_RG | Required lifecycle statuses | One or more business rules aren't satisfied. |
| REJ_HAB | Required lifecycle statuses | The request isn't authorized, or it requires a permission you don't hold. |
| REJ_ENCAISSEMENT | Encaissée statuses | The collected payment amount doesn't match the VAT breakdown declared on the invoice. |
For all PPF rejections, correct the data and resubmit. The original required status obligation remains, so you must resubmit a PPF-rejected Encaissée or Refusée with corrected data.
Correlate a response with its original document
Use one of these two mechanisms, depending on what you submitted:
- For invoices and e-reports
-
For invoices and e-reports, the CDAR
AcknowledgementDocumentblock references the original document by invoice number, issue date, and seller SIREN. - For a lifecycle status you submitted
-
For a lifecycle status you submitted, the notification includes a
referenceTransactionIdthat links back to your original submission. Use this value to match the PPF's response to the specific status you sent.
