Description
The generated Order Response omits elements that Peppol BIS 3.0 transaction T76 makes mandatory, and it reports a fixed response code that does not reflect what the seller actually did.
Findings
cbc:EndpointID with a schemeID attribute is mandatory (1..1) on both parties in T76. It is absent, so the document would be rejected by an Access Point.
- No
cac:OrderLine elements are written, so LineStatusCode, Quantity, and MaximumBackorderQuantity are never sent.
- No dates are written, so
cac:Delivery/cac:PromisedDeliveryPeriod is absent.
cbc:OrderResponseCode is hardcoded to AC (Accepted). Setting a line quantity to 0 in the Sales Order still produces an Accepted response.
cbc:ProfileID uses the order_only profile while the originating Order used the ordering profile.
cbc:ID is the internal E-Document entry number rather than a business document number.
Impact
The response actively misreports the seller decision, and every element required to express a partial, changed, or rejected acceptance is supported by the standard but is not written.
Steps to reproduce
- In the buyer company, send a Purchase Order containing three lines.
- In the seller company, change quantities and shipment dates on the Sales Order, and set one line quantity to 0.
- Release the Sales Order.
- Open the outgoing Order Response message and export the XML.
- Inspect the XML for
cbc:EndpointID, cac:OrderLine, cac:Delivery, and cbc:OrderResponseCode.
Scope note
One requirement is not achievable in T76. cac:OrderReference contains only cbc:ID and carries no order date, and rule PEPPOL-T76-B25001 forbids additional elements, so the buyer order date part of the requirement should be dropped.
Fixes
AB#648723
Description
The generated Order Response omits elements that Peppol BIS 3.0 transaction T76 makes mandatory, and it reports a fixed response code that does not reflect what the seller actually did.
Findings
cbc:EndpointIDwith aschemeIDattribute is mandatory (1..1) on both parties in T76. It is absent, so the document would be rejected by an Access Point.cac:OrderLineelements are written, soLineStatusCode,Quantity, andMaximumBackorderQuantityare never sent.cac:Delivery/cac:PromisedDeliveryPeriodis absent.cbc:OrderResponseCodeis hardcoded toAC(Accepted). Setting a line quantity to 0 in the Sales Order still produces an Accepted response.cbc:ProfileIDuses theorder_onlyprofile while the originating Order used theorderingprofile.cbc:IDis the internal E-Document entry number rather than a business document number.Impact
The response actively misreports the seller decision, and every element required to express a partial, changed, or rejected acceptance is supported by the standard but is not written.
Steps to reproduce
cbc:EndpointID,cac:OrderLine,cac:Delivery, andcbc:OrderResponseCode.Scope note
One requirement is not achievable in T76.
cac:OrderReferencecontains onlycbc:IDand carries no order date, and rulePEPPOL-T76-B25001forbids additional elements, so the buyer order date part of the requirement should be dropped.Fixes
AB#648723