Skip to main content
Version: 1.0.0

Send MLR response


Send a Message Level Response, also known as MLR, to acknowledge, accept, or reject an incoming Peppol invoice.

Endpoint​

PropertyValue
URLPOST /peppol/send-mlr
MethodPOST
AuthR-Auth: <company-jwt>
Content-Typeapplication/json
Base URLStage Environment https://api-fr-stage.docnova.ai/
Production Environment https://api-fr.docnova.ai/

Example Request​

curl --location '{{baseUrl}}/peppol/send-mlr' \
--header 'Content-Type: application/json' \
--header 'R-Auth: {{companyJwt}}' \
--data-raw '{
"companyId": "{{companyId}}",
"invoiceId": "{{invoiceId}}",
"responseCode": "ACCEPTANCE",
"note": null,
"errorLines": null
}'

Request body​

{
"companyId": "<companyId>",
"invoiceId": "<invoiceId>",
"responseCode": "ACCEPTANCE",
"note": null,
"errorLines": null
}

Request fields​

FieldTypeRequiredDescription
companyIdUUIDYesBuyer company UUID
invoiceIdUUIDYesid from the Search documents response
responseCodestringYesACCEPTANCE, ACKNOWLEDGING, or REJECTION
notestringNoOptional free-text note
errorLinesarrayNoRequired only for REJECTION

Response codes​

ValueDescription
ACCEPTANCEBuyer accepts the invoice
ACKNOWLEDGINGBuyer acknowledges receipt, decision pending
REJECTIONBuyer rejects the invoice

Error lines for rejection​

Use errorLines only when responseCode is REJECTION.

{
"errorLines": [
{
"description": "Invoice amount does not match purchase order",
"errorField": "LegalMonetaryTotal",
"responseCode": "REJECTION",
"statusReasonCode": "BUSINESS_RULE_VIOLATION_FATAL"
}
]
}

Error line fields​

FieldRequiredDescription
descriptionNoHuman-readable error description
errorFieldNoInvoice field that caused the rejection
responseCodeYesAlways REJECTION
statusReasonCodeYesBUSINESS_RULE_VIOLATION_FATAL, BUSINESS_RULE_VIOLATION_WARNING, or SYNTAX_VIOLATION

Response​

200 OK