Billing responses

Billing responses are sent in response to an already received invoice or credit note.

Billing responses are used by the customer to inform the supplier of the status of the handling of an invoice or credit note.

Response flow

The status of an invoice must advance in the following sequence, but any status may be the first one used or may be omitted.

  • AB – Message acknowledgement
  • IP – In process
  • UQ – Under query (may be repeated before moving forward)
  • CA – Conditionally accepted
  • RE – Rejected
  • AP – Accepted
  • PD – Paid, can be in steps, partially paid and then paid.

In some cases, depending on the agreement between the seller and the buyer, an Accept or Reject can be considered final states, whereas in other scenarios, the Paid status can be considered final.

flowchart LR
    S1@{ shape: start } --> AB
    AB --> IP
    IP --> UQ
    UQ --> CA
    CA --> RE
    RE --> S4@{ shape: stop }
    RE --> AP
    AP --> S4@{ shape: stop }
    AP --> PPD
    PPD --> PD
    PD --> S4@{ shape: stop }

Response elements

Structure

A billing response is sent with POST /transactions/submit-billing-response. Next to messageHandling, the request body has an invoiceResponse object with these properties:

PropertyDescription
responseNoThe billing response number. Required.
issueDateThe issue date of the billing response. Required.
statusThe status of the invoice or credit note, see Status. Required.
effectiveDateThe date on which the status came into effect.
notesNotes for the seller.
senderThe buyer: name, identifier and an optional contact.
receiverThe seller: name and identifier.
documentReferenceThe invoice or credit note the response is about: documentNo, documentType (for example Invoice or CreditNote) and issueDate.
reasonsA list of reasons. Each has a reason code (required, see Reason), an optional reasonDescription and optional details.
actionsA list of actions the seller is expected to take. Each has an action code (required, see Action), an optional actionDescription and optional details.
rejectionReasonCodeCroatia only, see Croatia: rejection reason code.

details is a list of { "type", "value" } pairs: type identifies the element that needs to be corrected, for example BT-13 (Purchase order reference), and value contains its correct value.

Complete examples are in Billing response: Use cases.

In billing responses there are three types of codes that need to be specified. These are:

  • Status, such as UnderQuery, Accepted, Paid.
  • Reason, such as ReceiverUnknown, ItemQualityInsufficient, QuantityIncorrect.
  • Action, such as ProvideInformation, IssueNewInvoice, CreditFully.

Here you can find more information about the values accepted for each element.

Status

The status element is validated against the Invoice status code (UNCL4343 Subset) list.

You need to use one of the following values:

ValueDescription
MessageAcknowledgementThe buyer confirms that they have received an invoice or a credit note that they can further process.
AcceptedThe buyer has accepted the offer and the seller can expect payment from the buyer.
RejectedThe buyer has rejected the offer because they cannot process the invoice further.
Rejecting an invoice does not necessarily mean that the transaction is rejected as well, even though that might be the case.
InProcessThe buyer's system is processing the invoice.
UnderQueryThe invoice processing has been suspended until the buyer receives additional information from the seller.
This typically means that the document contains incorrect information or is missing key details.
ConditionallyAcceptedThe buyer accepts the invoice provided that the conditions stated in the billing response are met.
The buyer indicates these conditions in the reasonDescription property.
If the seller does not dispute the terms, the invoice can be paid.
PaidThe buyer has paid the invoice.
ResponseExpectedNot a response but a request that expects one, used for billing actions, for example the issuer's request to cancel an invoice.
It is not part of the invoice status code list above.
It works like an MLA (message level action), which is a message level response with the same code AQ, see Working with MLRs, eMLRs and MLAs.

Reason

Each entry in the reasons list has a reason code. It accepts the values defined in the Status Clarification Reason (OpenPEPPOL) list.

The values are as follows:

ValueDescription
NoIssueThe document can be processed correctly and there are no issues encountered.
ReferencesIncorrectThe document is missing the references that the buyer requested for successful document handling.
LegalInformationIncorrectThe information contained in the document does not meet the necessary legal requirements.
ReceiverUnknownThe receiving party could not be found.
ItemQualityInsufficientThe quality of the items does not fulfill the expected standards.
DeliveryIssuesThe receiver does not agree with the delivery conditions or takes issue with the delivery that has already been carried out.
PricesIncorrectThe prices stated in the document differ from the prices previously agreed.
QuantityIncorrectThe quantity does not correspond to the prior agreement.
ItemsIncorrectThe items are missing or incorrectly specified.
PaymentTermsIncorrectThe payment terms do not conform to the agreed transaction terms.
NotRecognizedThe transaction is not recognized as valid.
FinanceIncorrectThe finance terms are not stated correctly according to the agreement made between the seller and the buyer.
OtherAny other reason that does not fit the given categories.

Action

To specify which actions the buyer expects from the seller in order to resolve the reported issues, use the actions list.

Each entry has an action code (required), an optional actionDescription and optional details.
The action property must be provided according to the Status Clarification Action (OpenPEPPOL) list, as described in the following table:

ValueDescription
NoActionRequiredNo further action is necessary.
ProvideInformationThe buyer requests the seller to provide the missing or erroneous information.
IssueNewInvoiceThe buyer requests the seller to issue a new invoice after correcting the issues.
CreditFullyThe invoice needs to be cancelled using a credit note.
CreditPartiallyThe seller needs to issue a credit note covering one portion of the total costs that the buyer paid.
CreditTheAmountThe total amount on the invoice needs to be refunded without issuing a credit note.
OtherAny other action that is not determined by the given action categories.

Croatia: rejection reason code

When you reject an invoice from a Croatian supplier (status Rejected), rejectionReasonCode is required. It is ignored for other suppliers.

ValueDescription
NMismatch not affecting taxes
UMismatch affecting taxes
OOther

Unimaze then reports the rejection to the Tax Administration. See Customer may register a rejection for the recommended way to reject a Croatian invoice, and On the supplier side for how the supplier receives the rejection.


Did this page help you?