Creating and validating a CDAR lifecycle file
France onlyA CDAR (Cross Domain Acknowledgement and Response), also referred to as CDV (Document d'Acheminement et de Validation) in French e-invoicing specifications, is a standardized UN/CEFACT XML message used to report invoice lifecycle status transitions such as approval, dispute, suspension, refusal, payment, or cash receipt.
1. Status codes and phase mappings
Lifecycle statuses fall into two phases, defined by AcknowledgementDocument/TypeCode (MDT-77):
| Phase | MDT-77 | Purpose |
|---|---|---|
| Processing | 23 | Business lifecycle transitions managed by buyers and sellers. |
| Transmission | 305 | Technical transport and routing updates. Status codes include 10 (Submitted), 51 (Issued), 43 (Received), 8 (Rejected), and 48 (Made Available). |
| Lifecycle Status Code MDT-105 | Action / Status Description | Applicable To | MDT-40 Role | MDT-77 | Status Code MDT-88 | Reason Code Required? MDT-113 | Obligated PPF Status? |
|---|---|---|---|---|---|---|---|
200* | Submitted / Deposited (Déposée) | Sales | WK | 305 | 10 | Optional (NON_TRANSMISE) | Yes |
201* | Taken over (Prise en charge) | Purchase | BY | 23 | 5 | No | No (PDP exchange) |
202* | Received (Reçue par plateforme) | Purchase | WK | 305 | 43 | No | No (PDP exchange) |
203* | Made available (Mise à disposition) | Purchase | WK | 305 | 48 | No | No (PDP exchange) |
204* | Taken over (Prise en charge) | Purchase | BY | 23 | 45 | No | No (PDP exchange) |
205 | Approve invoice (Approuvée) | Purchase | BY | 23 | 1 (Accepted) | No | No (PDP exchange) |
206** | Partially approve (Approuvée partiellement) | Purchase | BY | 23 | 5 / 1 | Yes | No (PDP exchange) |
207 | Dispute invoice (Litige) | Purchase | BY | 23 | 46 (Under Query) | Yes | No (PDP exchange) |
208 | Suspend invoice (Suspendue) | Purchase | BY | 23 | 39 (On Hold) | Yes | No (PDP exchange) |
209 | Completed (Complétée) | Sales | SE | 23 | 37 | No | No (PDP exchange) |
210 | Refuse invoice (Refusée) | Purchase | BY | 23 | 50 (Refused) | Yes | Yes |
211 | Payment sent (Paiement émis) | Purchase | BY | 23 | 47 (Paid) | No | No (PDP exchange) |
212 | Payment cashed / received (Encaissée) | Sales | SE | 23 | 47 (Paid) | No | Yes (Requires amount details) |
213* | Business rejection (Rejetée métier) | Platform | WK | 305 | 8 | Yes | Yes |
220** | Cancelled (Annulée) | Sales | SE | 23 | — | No | No (PDP exchange) |
221** | Routing error (Erreur de routage) | Sales / Purchase | SE / BY | 305 | 8 | Yes | No (PDP exchange) |
501** | Inadmissible (Irrecevable) | System | WK | 305 | 8 | Yes | No (PDP exchange) |
* Unsupported by Banqup manual flow (handled automatically via platform transmission).
** Planned for future releases.
2. Structural field rules
A valid lifecycle transition requires key identification fields, including the message ID (MDT-4), timestamp (MDT-8), target invoice ID (MDT-87), and lifecycle status code (MDT-105).
The required fields are grouped by their location in the CDAR structure.
Context
rsm:ExchangedDocumentContext
| MDT Code | Element | Rule / Requirement |
|---|---|---|
MDT-2 | ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID | PPF Submissions: Must be omitted or contain $\le 3$ characters. PDP Exchange: Must equal one of REGULATED, NON_REGULATED, B2C, B2CINT, B2BINT, B2G, or OUTOFSCOPE. |
MDT-3 | ram:GuidelineSpecifiedDocumentContextParameter/ram:ID | Required. • PPF Submissions: Must equal urn.cpro.gouv.fr:1p0:CDV:einvoicingF2 when the recipient is the PPF (schemeID = 0238 and RoleCode = DFH). • PDP Exchanges: Must equal urn.cpro.gouv.fr:1p0:CDV:invoice. |
Document Header
rsm:ExchangedDocument
| MDT Code | Element Tag / Path | Rule / Requirement |
|---|---|---|
MDT-4 | ram:ID | Required unique message ID. |
MDT-5 | ram:Name | Required message name. |
MDT-8 | ram:IssueDateTime | Required timestamp in YYYYMMDDHHMMSS format with @format="204". |
MDT-19 | SenderTradeParty/ram:GlobalID | Required 4-digit platform/PPF serial number with @schemeID="0238" (MDT-18) for PPF submissions. May be absent in PDP-to-PDP exchanges. |
MDT-21 | SenderTradeParty/ram:RoleCode | Required. Must be WK for transmission phase (305), or one of BY, SE, AB, DL, SR, WK, PE, PR, II, IV for processing phase (23). |
MDT-38 | IssuerTradeParty/ram:GlobalID | Mandatory when MDT-77 = 23 (Processing phase). @schemeID (MDT-37) is 0002 (SIREN, 9 digits) or 0238 (Platform ID, 4 digits). When MDT-77 = 305 (Transmission phase), contains the platform's own 4-digit ID with @schemeID="0238" (same as MDT-19), paired with MDT-40 = WK. Note: rule BR-FR-CDV-07 in the V1.4.0 schematron has a known bug (duplicate rule context and tautological XPath condition) — online validators based on V1.4.0 will not flag violations of this rule. |
MDT-39 | IssuerTradeParty/ram:Name | Optional if RoleCode is WK. |
MDT-40 | IssuerTradeParty/ram:RoleCode | Required. Must be WK for transmission phase (305), or BY, SE, AB, DL, SR, PE, PR, II, IV for processing phase (23). |
MDT-57 | RecipientTradeParty/ram:GlobalID | Required. @schemeID (MDT-56) must be one of: 0002, 0009, 0223, 0227, 0224, 0228, 0229, 0226, or 0238. |
MDT-58 | RecipientTradeParty/ram:Name | Required for PPF profile (PPF); optional if role is WK. |
MDT-59 | RecipientTradeParty/ram:RoleCode | Required. Allowed values: BY, SE, AB, DL, SR, PE, PR, II, IV, WK, DFH. |
MDT-73 | RecipientTradeParty/URIUniversalCommunication/ram:URIID | Mandatory unless RoleCode (MDT-59) is WK or DFH. |
Acknowledgement Header
rsm:AcknowledgementDocument
| MDT Code | Element Tag / Path | Rule / Requirement |
|---|---|---|
MDT-74 | ram:MultipleReferencesIndicator/udt:Indicator | Required; must equal false. |
MDT-77 | ram:TypeCode | Required (23 for processing, 305 for transmission). |
MDT-78 | ram:IssueDateTime | Required timestamp with @format="204". |
Target Invoice Reference
rsm:AcknowledgementDocument/ram:ReferenceReferencedDocument
| MDT Code | Element Tag / Path | Rule / Requirement |
|---|---|---|
MDT-87 | ram:IssuerAssignedID | Required invoice ID. Max 35 alphanumeric characters and allowed special characters ( , -, +, _, /). No leading, trailing, or consecutive spaces. |
MDT-88 | ram:StatusCode | Optional UNTDID 1373 standard status code. • Phase 305: Must be one of 10, 51, 43, 8, 48. • Phase 23: Must be one of 45, 39, 37, 50, 49, 47, 46, 1, 5. |
MDT-91 | ram:TypeCode | Required invoice type code. Must be one of: 380 (Commercial invoice), 381 (Credit note), 384 (Corrected invoice), 386 (Prepayment invoice), 389 (Self-billed invoice), 393 (Factored invoice), 396 (Factored credit note), 261 (Self-billed credit note), 262 (Credit note for Global Allowance), 471 (Self-billed corrected invoice), 472 (Factored corrected invoice), 473 (Factored self-billed corrected invoice), 500 (Self-billed prepayment invoice), 501 (Self-billed factored invoice), 502 (Factored self-billed credit note), or 503 (Prepayment credit note). |
MDT-95 | ram:ReceiptDateTime | Required timestamp in format 204. |
MDT-97 | ram:ReferenceTypeCode | Required for PPF submissions; must equal urn.cpro.gouv.fr:1p0:CDV:einvoicingF2. May be omitted in PDP-to-PDP exchanges. |
MDT-100 | ram:FormattedIssueDateTime | Required invoice issuance date (BT-2) with @format="102" in YYYYMMDD format (unless status is 501). |
MDT-105 | ram:ProcessConditionCode | Required lifecycle transition code. |
MDT-129 | ram:IssuerTradeParty/ram:GlobalID | Required (unless status is 501). Must contain seller SIREN with @schemeID="0002" (MDT-130) matching invoice BT-30. |
MDT-132 | ram:IssuerTradeParty/ram:RoleCode | Optional; if present, must equal SE. |
MDT-96 | ram:AttachmentBinaryObject | Prohibited for PPF submissions; any CDV containing attachments will be rejected. |
Status Detail Block
rsm:AcknowledgementDocument/ram:ReferenceReferencedDocument/ram:SpecifiedDocumentStatus
| MDT Code | Element Tag / Path | Rule / Requirement |
|---|---|---|
MDT-113 | ram:ReasonCode | Mandatory for statuses 206, 207, 208, 210, 213, 221, and 501. Schematron rule BR-FR-CDV-15 currently enforces this for 206, 207, 208, 210, 213, and 501; 221 is required per specification but not enforced by BR-FR-CDV-15 (the allowed code ROUTAGE_ERR is validated by BR-FR-CDV-CL-09 if the field is present). |
MDT-115 | ram:ProcessConditionCode | Required for PPF profile; matches the lifecycle status in MDT-105. |
MDT-116 | ram:ProcessCondition | Required for PPF profile; textual status description. |
MDT-121 | ram:RequestedActionCode | Required for PPF profile; code from Invoice Action Codes list. |
MDT-124-2 | ram:SequenceNumeric | Required whenever a status detail block (MDG-37) is present. |
MDT-126 | ram:IncludedNote/ram:Content | Mandatory explanatory text for 208 (Suspend), 210 (Refuse), reason AUTRE, or functional errors. |
| N/A | SpecifiedDocumentCharacteristic | Required for payment received status (212). MDT-207 (TypeCode) must be one of: MEN (gross amount received incl. VAT / TTC), MPA, RAP, ESC, RAB, REM, MAP, MAPTTC, MNA, MNATTC, CBB, DIV, DVA, MAJ. At least one block with MDT-207 = MEN is required, and every MEN block must include a gross amount received incl. VAT (MDT-215), currency (MDT-216), and VAT rate breakdown (MDT-224). |
3. Standard reason codes and action codes
Reason codes are carried in MDT-113 and are required for specific lifecycle statuses.
Invoice Action Codes (MDT-121)
| Code | Description |
|---|---|
NOA | No Action required. |
PIN | Payment Instruction required. |
NIN | New Invoice required. |
CNF | Credit Note for Full amount required. |
CNP | Credit Note for Partial amount required. |
CNA | Credit Note or Amendment required. |
OTH | Other action required. |
Refuse Invoice 210 (B2B & B2G)
| Code | Description | Scope |
|---|---|---|
TX_TVA_ERR | Incorrect VAT rate applied. | B2B & B2G |
MONTANTTOTAL_ERR | Invoiced total amount incorrect. | B2B & B2G |
CALCUL_ERR | Calculation error in line items or tax. | B2B & B2G |
NON_CONFORME | Missing legal notices; invoice non-compliant. | B2B & B2G |
DOUBLON | Duplicate invoice detected. | B2B & B2G |
DEST_ERR | Invoice sent to wrong legal entity or recipient. | B2B & B2G |
TRANSAC_INC | Transaction unknown or goods/services not received. | B2B & B2G |
EMMET_INC | Issuer unknown to recipient. | B2B & B2G |
CONTRAT_TERM | Commercial contract or agreement expired. | B2B & B2G |
DOUBLE_FACT | Service or delivery already invoiced. | B2B & B2G |
CMD_ERR | Order number incorrect, missing, or already invoiced. | B2B & B2G |
ADR_ERR | Postal or legal address error. | B2B & B2G |
REF_CT_ABSENT | Missing required contractual reference. | B2B & B2G |
RETRAIT_MAN_SERV | Service / mandate withdrawal. | B2G Only |
ST_CT_NON_DECLAR | Subcontractor / Contract status not declared. | B2G Only |
SUPPR_COMP_AVOIR | Account deletion via credit note. | B2G Only |
TRANSF_PMNT_REGIE | Payment transfer to revenue office. | B2G Only |
CONTACT_ACHTR | Buyer contact error. | B2G Only |
AUTRE | Miscellaneous refusal (requires detailed explanation in MDT-126). | B2G Only |
COORD_BANC_ERR | Beneficiary banking information (IBAN/BIC) incorrect. | B2G Only |
LIVR_INCOMP | Partial delivery cannot be fully billed. | B2G Only |
Suspend Invoice 208
| Code | Description |
|---|---|
JUSTIF_ABS | Mandatory supporting documentation missing. |
COORD_BANC_ERR | Beneficiary banking information (IBAN/BIC) incorrect. |
CMD_ERR | PO reference number missing, incorrectly formatted, expired, or unmapped. |
SIRET_ERR | Establishment identifier (SIRET) incorrect. |
CODE_ROUTAGE_ERR | Internal routing data field (e.g., Service Code) incorrect. |
REF_CT_ABSENT | Mandatory contract identifier or framework agreement reference missing. |
REF_ERR | Technical tracking or contractual reference error. |
Partially Approve Invoice 206
| Code | Description |
|---|---|
AUTRE | Miscellaneous dispute (requires detailed explanation in MDT-126). |
CMD_ERR | PO reference number missing, incorrectly formatted, or unmapped. |
SIRET_ERR | Establishment identifier (SIRET) incorrect or invalid. |
CODE_ROUTAGE_ERR | Internal routing data field (e.g., Service Code) incorrect. |
REF_CT_ABSENT | Required contractual processing reference absent. |
REF_ERR | Technical tracking or contractual reference error. |
PU_ERR | Billed unit price deviates from contractually agreed amount. |
REM_ERR | Agreed commercial allowances/discounts missing or miscalculated. |
QTE_ERR | Invoiced quantities do not match delivered/accepted quantities. |
ART_ERR | Line-item product code or service nature does not match order. |
MODPAI_ERR | Incorrect payment method, payment window, or net due date. |
QUALITE_ERR | Products/services fail quality or conformity checks. |
LIVR_INCOMP | Partial delivery; invoice cannot be fully processed. |
Dispute Invoice 207
| Code | Description |
|---|---|
AUTRE | Miscellaneous rejection (requires detailed explanation in MDT-126). |
COORD_BANC_ERR | Beneficiary banking information (IBAN/BIC) incorrect or unrecognized. |
TX_TVA_ERR | Incorrect or unauthorized tax percentage. |
MONTANTTOTAL_ERR | Invoiced total amount miscalculated. |
CALCUL_ERR | Line calculation discrepancy. |
NON_CONFORME | Missing statutory legal phrases or required notices. |
DOUBLON | Duplicate submission. |
DEST_INC | Unknown or unmapped destination recipient. |
DEST_ERR | Invoice targets wrong buyer identity or incorrect SIREN. |
TRANSAC_INC | Billed goods/services not physically received or executed. |
EMMET_INC | Security/anti-spam block; supplier identity cannot be validated. |
CONTRAT_TERM | Commercial contract or agreement expired or ended. |
DOUBLE_FACT | Specified items or transactions billed elsewhere. |
CMD_ERR | Missing, incorrect, or invalid PO reference number. |
ADR_ERR | Address detail discrepancy. |
SIRET_ERR | Destination establishment identifier (SIRET) incorrect or invalid. |
CODE_ROUTAGE_ERR | Internal routing data field (e.g., Service Code) incorrect. |
REF_CT_ABSENT | Required contractual processing reference absent. |
REF_ERR | Technical tracking or contractual reference error. |
PU_ERR | Billed unit price deviates from contractually agreed amount. |
REM_ERR | Agreed commercial allowances/discounts missing or miscalculated. |
QTE_ERR | Invoiced quantities do not match physically delivered/accepted quantities. |
ART_ERR | Line-item product code or service nature does not match order. |
MODPAI_ERR | Incorrect payment method, payment window, or net due date. |
QUALITE_ERR | Products/services fail quality or conformity checks. |
LIVR_INCOMP | Delivery is partial and cannot be fully billed. |
Business Rejection 213
| Code | Description |
|---|---|
MONTANTTOTAL_ERR | Total amount error. |
CALCUL_ERR | Arithmetic / calculation error. |
DOUBLON | Duplicate invoice transaction. |
DEST_INC | Unknown or unmapped destination recipient. |
ADR_ERR | Recipient address error. |
REJ_SEMAN | Semantic validation rule failure. |
REJ_UNI | Uniqueness constraint failure. |
REJ_COH | Coherence check error. |
REJ_ADR | Addressing failure. |
REJ_CONT_B2G | B2G compliance check failure. |
REJ_REF_PJ | Missing or invalid attachment reference. |
REJ_ASS_PJ | Attachment association error. |
Inadmissible 501 & Routing Error 221
| Status | Code | Description |
|---|---|---|
| 501 | IRR_VIDE_F | File is empty. |
| 501 | IRR_TYPE_F | Unsupported file type. |
| 501 | IRR_SYNTAX | XML syntax or XSD validation error. |
| 501 | IRR_TAILLE_PJ | Attachment size limit exceeded. |
| 501 | IRR_NOM_PJ | Attachment filename format error. |
| 501 | IRR_VID_PJ | Empty attachment file. |
| 501 | IRR_EXT_DOC | Prohibited document extension. |
| 501 | IRR_TAILLE_F | Total message file size limit exceeded. |
| 501 | IRR_ANTIVIRUS | Virus / malware detected in submission. |
| 501 | IRR_NOM_F | File naming convention error. |
| 221 | ROUTAGE_ERR | Internal routing error between platforms. |
4. Complete XML example
This example is for Approved status 205 exchanged between partner platforms (PDPs). Status 205 is an optional status exchanged between PDPs and is not submitted directly to the PPF. For PDP-to-PDP exchanges, ram:ID in GuidelineSpecifiedDocumentContextParameter is set to urn.cpro.gouv.fr:1p0:CDV:invoice.
View complete CDAR XML example
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossDomainAcknowledgementAndResponse
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossDomainAcknowledgementAndResponse:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
<rsm:ExchangedDocumentContext>
<ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:ID>REGULATED</ram:ID>
</ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn.cpro.gouv.fr:1p0:CDV:invoice</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<rsm:ExchangedDocument>
<ram:ID>75cf7950-92ac-469c-899a-3ed127635ee1</ram:ID>
<ram:Name>FAC-26-000007_04-CDV-205_Approuvee</ram:Name>
<ram:IssueDateTime>
<udt:DateTimeString format="204">20260826115735</udt:DateTimeString>
</ram:IssueDateTime>
<ram:SenderTradeParty>
<ram:RoleCode>WK</ram:RoleCode>
</ram:SenderTradeParty>
<ram:IssuerTradeParty>
<ram:GlobalID schemeID="0002">848023644</ram:GlobalID>
<ram:RoleCode>BY</ram:RoleCode>
</ram:IssuerTradeParty>
<ram:RecipientTradeParty>
<ram:GlobalID schemeID="0002">951028422</ram:GlobalID>
<ram:RoleCode>SE</ram:RoleCode>
<ram:URIUniversalCommunication>
<ram:URIID schemeID="0225">951028422</ram:URIID>
</ram:URIUniversalCommunication>
</ram:RecipientTradeParty>
</rsm:ExchangedDocument>
<rsm:AcknowledgementDocument>
<ram:MultipleReferencesIndicator>
<udt:Indicator>false</udt:Indicator>
</ram:MultipleReferencesIndicator>
<ram:TypeCode>23</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="204">20260826115735</udt:DateTimeString>
</ram:IssueDateTime>
<ram:ReferenceReferencedDocument>
<ram:IssuerAssignedID>FAC-26-000007</ram:IssuerAssignedID>
<ram:StatusCode>1</ram:StatusCode>
<ram:TypeCode>380</ram:TypeCode>
<ram:ReceiptDateTime>
<udt:DateTimeString format="204">20260826115735</udt:DateTimeString>
</ram:ReceiptDateTime>
<ram:FormattedIssueDateTime>
<qdt:DateTimeString format="102">20260806</qdt:DateTimeString>
</ram:FormattedIssueDateTime>
<ram:ProcessConditionCode>205</ram:ProcessConditionCode>
<ram:ProcessCondition>Approuvée</ram:ProcessCondition>
<ram:IssuerTradeParty>
<ram:GlobalID schemeID="0002">951028422</ram:GlobalID>
<ram:RoleCode>SE</ram:RoleCode>
</ram:IssuerTradeParty>
</ram:ReferenceReferencedDocument>
</rsm:AcknowledgementDocument>
</rsm:CrossDomainAcknowledgementAndResponse>
5. Pre-submission checklist
Before submitting a CDAR file, complete these checks in order:
1. Validate the XML file
-
Encoding
- XML declaration is
<?xml version="1.0" encoding="UTF-8"?> - File is UTF-8 encoded without a BOM
- XML declaration is
-
File structure
- Root element is
rsm:CrossDomainAcknowledgementAndResponse - Required namespaces are declared, including:
urn:un:unece:uncefact:data:standard:CrossDomainAcknowledgementAndResponse:100 - No
AttachmentBinaryObjectis present
- Root element is
-
Schema validation
- Validate the file against the CDAR XSD using an XML validator.
- An XSD check verifies the XML structure and data types. It does not enforce the business rules described below.
2. Check the CDAR content
-
Header
- Guideline ID is
urn.cpro.gouv.fr:1p0:CDV:einvoicingF2for PPF submissions orurn.cpro.gouv.fr:1p0:CDV:invoicefor PDP exchanges ram:IDis unique- Required timestamps contain 14 digits and use
format="204" - Sender
GlobalIDcontains the 4-digit platform ID and usesschemeID="0238"(PPF submissions only; absent in PDP-to-PDP exchanges) - Sender role is
WKfor Phase 305 IssuerTradeParty/GlobalID(MDT-38) contains the platform's 4-digit ID (schemeID="0238") whenTypeCode=305, paired withRoleCode = WK
- Guideline ID is
-
Target invoice
IssuerAssignedIDmatches the invoice ID (max. 35 characters)FormattedIssueDateTimematches BT-2- Seller SIREN matches BT-30, with scheme
0002and roleSE
-
Status
ProcessConditionCodecorresponds to the intended lifecycle statusMDT-115,MDT-116, andMDT-121are present when a status detail block is populated for PPF profileSequenceNumericis present whenever a status detail block is includedReasonCode(MDT-113) is present for206,207,208,210,213,221, and501IncludedNoteis provided for208,210, reasonAUTRE, or functional errors
3. Check PPF submission rules
Only the following lifecycle statuses can be submitted directly to the PPF:
| Status | Meaning |
|---|---|
200 | Submitted / Deposited |
210 | Refused |
212 | Payment cashed / received |
213 | Business rejection |
-
PPF status
ProcessConditionCodeis one of200,210,212, or213- Do not submit platform-to-platform statuses such as
201,202,203,205,206,207, or208directly to the PPF
-
Payment received (
212)- Amount type is
MEN MDT-215contains the gross amount received incl. VAT (TTC)MDT-216contains an ISO 4217 currency codeMDT-224contains the VAT rate breakdown- Missing VAT breakdowns result in rejection
- Amount type is
-
Required invoice data
- Invoice ID (
MDT-87), issue date (MDT-100), and seller SIREN (MDT-129) contain valid values
- Invoice ID (
4. Flow 6 rejection codes
Flow 6 (Flux 6) defines the UN/CEFACT CDAR XML messages used to transmit invoice lifecycle status updates and e-reporting acknowledgments between private platforms and the PPF.
| Code | Description |
|---|---|
REJ_INC | Inconsistency in CDV statuses |
REJ_INEX | Non-existent status code |
REJ_RG | Business rule violation |
REJ_HAB | Authorization or role code error |
REJ_ENCAISSEMENT | Cash receipt amount not broken down by VAT rate |