e-invoicing

Compliance Network Implementation Guide

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 SCICloudStatusCode in this reference.
PPF ProcessConditionCode

A code the Portail Public de Facturation (PPF) returns in its own response documents (CDAR format). Only some SCICloudStatusCode values 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.
Note:

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

Note:

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 AcknowledgementDocument block 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 referenceTransactionId that links back to your original submission. Use this value to match the PPF's response to the specific status you sent.