Partial Backorder

A supplier may not be able to deliver the ordered quantity on a PO line on the date requested and may deliver the quantity across different dates. In such cases, the order line acknowledgment indicates a partial backorder.

There are different ways in which a partial backorder is communicated in a purchase order acknowledgment.
  • If there is only a single acknowledgment for the line, then the acknowledgment code value in the acknowledgment may be a partial backorder code or a backorder code.
    • Option 1: A partial backorder code is used to communicate a partial backorder. The partially backordered quantity is the difference between the line quantity and the quantity in the acknowledgment. The quantity in the acknowledgment is processed as the accepted quantity.
    • Option 2: A backorder code is used to communicate a partial backorder. The quantity in the acknowledgment is the partially backordered quantity. The accepted quantity is the difference between the line quantity and the quantity in the acknowledgment.
    • Option 3: A partial backorder can be communicated using two acknowledgments for a line. While one acknowledgment indicates the partially backordered quantity (with a backorder code), the other acknowledgment indicates the accepted quantity (with an accept code).
    • Option 4: A partial backorder can be communicated using two acknowledgments for a line. While one acknowledgment indicates the partially backordered quantity (with a backorder code), the other acknowledgment indicates the accepted quantity (with a partial backorder code).

Single Acknowledgment with a Partial Backorder Code

A single acknowledgment for the line with an acknowledgment code value is present in the schedulePartialBackOrder code list. The acknowledgment must also contain the OrderQuantity and one of the date fields (PromisedShipDate, PromisedDeliveryDate).

The data for a single acknowledgment with a partial backorder code option is mapped in this table:

Oracle-1-0-B2B-Purchase-Order-Acknowlegment-In-V2

changePurchaseOrder

B2BPurchaseOrderAcknowledgment/OrderNumber

OrderNumber

SoldToLegalEntityId

This is populated during processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentCode

This value needs to be in the orderAccept or orderChange code list, it's used for processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentReason

ChangeOrderDescription

If the AcknowledgmentReason isn't provided in the payload, then it will be set to Change to the Order.

B2BPurchaseOrderAcknowledgment/SupplierOrderNumber

SupplierOrderNumber

N/A

ChangeOrderInitiatingParty

Set to Supplier.

PurchaseOrderEntryLine

B2BPurchaseOrderAcknowledgment/Lines/LineNumber

LineNumber

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

f AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the schedulePartialBackOrder code list, this is set to CHANGE.

N/A

PurchaseOrderEntryLine/PurchaseOrderEntrySchedule

A schedule is created.

N/A

ScheduleNumber

This is autogenerated.

B2BPurchaseOrderAcknowledgment/Lines/OrderQuantity

Quantity

The value for order quantity provided in the payload must be equal to the quantity specified on the purchase order line.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the schedulePartialBackOrder code list, this is set to CHANGE.

PurchaseOrderEntryLine/LineFlexfield

N/A

b2bProvidedDateNote

If PromisedDeliveryDate is provided then this field is set to Partially Backordered-Promised Delivery Date Provided.

If PromisedShipDate is provided then this field is set to Partially Backordered-Promised Ship Date Provided.

If PromisedDeliveryDate or PromisedShipDate is not populated then this field is set to Partially Backordered-No Date Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedDeliveryDate

or

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedShipDate

b2bProvidedDate

This descriptive flexfield will be populated if PromisedDeliveryDate or PromisedShipDate is provided, else this field is empty.

N/A

b2bPartialBackOrderQuantity

This flexfield is calculated by subtracting the OrderQuantity on the acknowledgment from the OrderQuantity on the PO line.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/OrderQuantity

b2bAcceptOrderQuantity

The OrderQuantity value provided in AcknowledgmentCode PARTIALBACKORDER is mapped to the b2bAcceptOrderQuantity descriptive flexfield.

Header Descriptive Flexfield

N/A

b2bAckReviewRequired

If the acknowledgment code value is in the schedulePartialBackOrder code list, then this flexfield is set to One or more lines have acknowledgment comments.

Here's a sample payload for this option:

<n1:Lines>
   <n1:LineNumber>1</n1:LineNumber>
   <n1:SupplierItemNumber>594-379</n1:SupplierItemNumber>
   <n1:CustomerItemNumber>544-589</n1:CustomerItemNumber>
   <n1:OrderQuantity>10</n1:OrderQuantity>
   <n1:UnitOfMeasureCode>EA</n1:UnitOfMeasureCode>
   <n1:UnitPriceAmount>7</n1:UnitPriceAmount>
  <n1:Acknowledgments>
    <n1:AcknowledgmentCode>BP</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-Partial Backorder</n1:AcknowledgmentReason> <!--This value will be populated in the Change Reason field-->
    <n1:OrderQuantity>1.0</n1:OrderQuantity><!--This qty will be in the descriptive b2bAcceptOrderQuantity. The remaining quantity is the quantity in b2bPartialBackOrderQuantity-->
    <n1:PromisedShipDate>2026-11-17T09:30:47Z</n1:PromisedShipDate><!--This value will be populated in the descriptive flexfield b2bProvidedDate-->
   </n1:Acknowledgments>
</n1:Lines>

Single Acknowledgment with a Backorder Code

A single acknowledgment for the line with an acknowledgment code value is present in the scheduleBackOrderChange code list. The acknowledgment must also contain the OrderQuantity and one of the date fields (PromisedDate, PromisedShipDate, PromisedDeliveryDate).

The data for a single acknowledgment with a backorder code option is mapped in this table:

Oracle-1-0-B2B-Purchase-Order-Acknowlegment-In-V2

changePurchaseOrder

B2BPurchaseOrderAcknowledgment/OrderNumber

OrderNumber

N/A

SoldToLegalEntityId

This is populated during processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentCode

This value needs to be in the orderAccept or orderChange code list. It's used for processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentReason

ChangeOrderDescription

If the AcknowledgmentReason isn't provided in the payload, then it will be set to Change to the Order.

B2BPurchaseOrderAcknowledgment/SupplierOrderNumber

SupplierOrderNumber

N/A

ChangeOrderInitiatingParty

Set to SUPPLIER.

PurchaseOrderEntryLine

B2BPurchaseOrderAcknowledgment/Lines/LineNumber

LineNumber

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder code list, this is set to CHANGE.

N/A

PurchaseOrderEntryLine/PurchaseOrderEntrySchedule

A schedule is autocreated.

N/A

ScheduleNumber

This is autogenerated.

B2BPurchaseOrderAcknowledgment/Lines/OrderQuantity

Quantity

The value must be equal to the quantity of the purchase order for the given line.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder code list, this is set to CHANGE.

PurchaseOrderEntryLine/LineFlexfield

N/A

b2bProvidedDateNote

If PromisedDeliveryDate is provided then this field is set to Partially Backordered-Promised Delivery Date Provided.

If PromisedShipDate is provided then this field is set to Partially Backordered-Promised Ship Date Provided.

If PromisedDeliveryDate or PromisedShipDate are not provided then this field is set to Partially Backordered-No Date Provided.

One of these values may be passed in the payload:

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedDeliveryDate

or

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedShipDate

b2bProvidedDate

This descriptive flexfield will be populated if PromisedDeliveryDate or PromisedShipDate is provided, else this field is empty.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/OrderQuantity

b2bPartialBackOrderQuantity

The OrderQuantity value provided is mapped to this descriptive flexfield when the acknowledgment code value is in the scheduleBackOrder code list.

N/A

b2bAcceptOrderQuantity

This descriptive flexfield is the calculated result of the OrderQuantity on the purchase order line less the OrderQuantity on the purchase order acknowledgment.

Header Descriptive Flexfield

N/A

b2bAckReviewRequired

If the acknowledgment code value is in the scheduleBackOrder code list, then this flexfield is set to One or more lines have acknowledgment comments.

Here's a sample payload for this option:

<n1:Lines>
   <n1:LineNumber>1</n1:LineNumber>
   <n1:SupplierItemNumber>594-379</n1:SupplierItemNumber>
   <n1:CustomerItemNumber>544-589</n1:CustomerItemNumber>
   <n1:OrderQuantity>10</n1:OrderQuantity>
   <n1:UnitOfMeasureCode>EA</n1:UnitOfMeasureCode>
   <n1:UnitPriceAmount>7</n1:UnitPriceAmount>
  <n1:Acknowledgments>
    <n1:AcknowledgmentCode>BACKORDER</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-Partial Backorder</n1:AcknowledgmentReason>
    <n1:OrderQuantity>1.0</n1:OrderQuantity><!--This qty will be under the b2bPartialBackOrderQuantity descriptive flexfield. The remainder is the b2bAcceptOrderQuantity-->
    <n1:PromisedDeliveryDate>2026-11-17T09:30:47Z</n1:PromisedDeliveryDate><!--This value will be populated in the b2bProvidedDate decriptive flexfield-->
   </n1:Acknowledgments>
</n1:Lines>

One Acknowledgment with a Backorder Code and Another Acknowledgment with an Accept Code

There are two acknowledgments present for the line, one with an acknowledgment code value in the scheduleBackOrderChange code list and the other with an acknowledgment code value in the lineAccept or scheduleAccept code lists. The OrderQuantity on the purchase order line is computed by adding the OrderQuantities from the two acknowledgments.

The data for an acknowledgment with a backorder Code and another acknowledgment with an accept code option is mapped in this table:

Oracle-1-0-B2B-Purchase-Order-Acknowlegment-In-V2

changePurchaseOrder

B2BPurchaseOrderAcknowledgment/OrderNumber

OrderNumber

SoldToLegalEntityId

This is populated during processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentCode

This value needs to be in the orderAccept or orderChange code list, it's used for processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentReason

ChangeOrderDescription

If the AcknowledgmentReason isn't provided in the payload, then it will be set to Change to the Order.

B2BPurchaseOrderAcknowledgment/SupplierOrderNumber

SupplierOrderNumber

N/A

ChangeOrderInitiatingParty

Set to SUPPLIER.

B2BPurchaseOrderAcknowledgment/Lines/LineNumber

LineNumber

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder code list, this is set to CHANGE.

N/A

PurchaseOrderEntryLine/PurchaseOrderEntrySchedule

A schedule is autogenerated.

N/A

ScheduleNumber

Schedulenumber is autogenerated.

N/A

Quantity

This value is calculated as the sum of the OrderQuantity in the acknowledgment with the acknowledgment code in the scheduleBackOrder code list and the OrderQuantity in the acknowledgment with the acknowledgment code in the lineAccept or scheduleAccept code lists.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder code list, this is set to CHANGE.

PurchaseOrderEntryLine/LineFlexfield

N/A

b2bProvidedDateNote

If PromisedDeliveryDate is provided then this field is set to Partially Backordered-Promised Delivery Date Provided.

If PromisedShipDate is provided then this field is set to Partially Backordered-Promised Ship Date Provided.

If PromisedDeliveryDate or PromisedShipDate are not provided then this field is set to Partially Backordered-No Date Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedDeliveryDate

or

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedShipDate

b2bProvidedDate

This descriptive flexfield will be populated if PromisedDeliveryDate, or PromisedShipDate is provided, otherwise if no value is provided, this field is left empty.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments[1]/OrderQuantity

b2bPartialBackOrderQuantity

This flexfield is populated with the OrderQuantity value provided in the acknowledgment with the AcknowledgmentCode value in the scheduleBackOrder code list.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments[2]/OrderQuantity

b2bAcceptOrderQuantity

This flexfield is populated with the OrderQuantity value provided in the acknowledgment with the AcknowledgmentCode value in the lineAccept or scheduleAccept code lists.

HeaderFlexfield

N/A

b2bAckReviewRequired

If the acknowledgment code value is in the schedulePartialBackOrder code list, then this flexfield is set to One or more lines have acknowledgment comments.

Here's a sample payload for this option:

<n1:Lines>
   <n1:LineNumber>1</n1:LineNumber>
   <n1:SupplierItemNumber>594-379</n1:SupplierItemNumber>
   <n1:CustomerItemNumber>544-589</n1:CustomerItemNumber>
   <n1:OrderQuantity>10</n1:OrderQuantity>
   <n1:UnitOfMeasureCode>EA</n1:UnitOfMeasureCode>
   <n1:UnitPriceAmount>7</n1:UnitPriceAmount>
  <n1:Acknowledgments>
    <n1:AcknowledgmentCode>IB</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-PartialBackorder Quantity and Date</n1:AcknowledgmentReason><!--This value will be populated in the Change Reason field-->
    <n1:OrderQuantity>2.0</n1:OrderQuantity><!-- This OrderQuantity+OrderQuantity under ACCEPT should be equal to the PO line qty. This value will be populated in the descriptive flexfield b2bPartialBackOrderQuantity -->
    <n1:PromisedDeliveryDate>2025-11-17T09:30:47Z</n1:PromisedDeliveryDate><!--This value will be populated in the descriptive flexfield b2bProvidedDate -->
</n1:Acknowledgments>
<n1:Acknowledgments>
    <n1:AcknowledgmentCode>ACCEPT</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-Accepted Quantity</n1:AcknowledgmentReason><!--This value will be populated in the Change Reason field-->
    <n1:OrderQuantity>3.0</n1:OrderQuantity><!--This value will be populated in the descriptive flexfield b2bAcceptOrderQuantity-->
  </n1:Acknowledgments>
</n1:Lines>

One Acknowledgment with a Backorder Code and Another Acknowledgment with a Partial Backorder Code

There are two acknowledgments present for the line, one with a backorder code and another with a partial backorder code.

The data for an acknowledgment with a backorder code and another acknowledgment with an partial backorder code option is mapped in this table:

Oracle-1-0-B2B-Purchase-Order-Acknowlegment-In-V2

changePurchaseOrder

B2BPurchaseOrderAcknowledgment/OrderNumber

OrderNumber

SoldToLegalEntityId

This is populated during processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentCode

This value needs to be in the orderAccept or orderChange code list, it's used for processing.

B2BPurchaseOrderAcknowledgment/AcknowledgmentReason

ChangeOrderDescription

If the AcknowledgmentReason isn't provided in the payload, then it will be set to Change to the Order.

B2BPurchaseOrderAcknowledgment/SupplierOrderNumber

SupplierOrderNumber

N/A

ChangeOrderInitiatingParty

Set to SUPPLIER.

PurchaseOrderEntryLine

B2BPurchaseOrderAcknowledgment/Lines/LineNumber

LineNumber

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

This field displays the concatenation of the AcknowledgmentReason in the acknowledgment with the acknowledgment code in the scheduleBackOrder code list, and the AcknowledgmentReason in the acknowledgment with the acknowledgment code in the schedulePartialBackOrder code list. If the AcknowledgmentReason in either scheduleBackOrder or schedulePartialBackOrder is not provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder and the schedulePartialBackOrder code list, this is set to CHANGE.

N/A

PurchaseOrderEntryLine/PurchaseOrderEntrySchedule

A schedule is autogenerated.

N/A

ScheduleNumber

Autogenerated.

N/A

Quantity

This value is calculated as the sum of the OrderQuantity in the acknowledgment with the acknowledgment code in the scheduleBackOrder code list and the OrderQuantity in the acknowledgment with the acknowledgment code in the schedulePartialBackOrder code list.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentReason

ChangeReason

This field displays the AcknowledgmentReason in the acknowledgment with the acknowledgment code in the schedulePartialBackOrder code list. If AcknowledgmentReason isn't provided in the payload, then this is set to Not Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/AcknowledgmentCode

Action

When the AcknowledgmentCode is in the scheduleBackOrder and the schedulePartialBackOrder code list, this is set to CHANGE.

PurchaseOrderEntryLine/LineFlexfield

N/A

b2bProvidedDateNote

If PromisedDeliveryDate is provided with the AcknowledgmentCode value in the scheduleBackOrderChange or in the schedulePartialBackOrder code list then this field is set to Partially Backordered-Promised Delivery Date Provided. If PromisedShipDate is provided with the AcknowledgmentCode value in the scheduleBackOrderChange or in the schedulePartialBackOrder code list then this field is set to Partially Backordered-Promised Ship Date Provided. If PromisedDeliveryDate or PromisedShipDate are not provided then this field is set to Partially Backordered-No Date Provided.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedDeliveryDate

or

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments/PromisedShipDate

b2bProvidedDate

This flexfield is populated if PromisedDeliveryDate, or PromisedShipDate is provided in the acknowledgment with the AcknowledgmentCode value in the scheduleBackOrder code list. When no value is provided, this descriptive flexfield is populated if PromisedDeliveryDate, or PromisedShipDate is provided in the acknowledgment with the AcknowledgmentCode value in the schedulePartialBackOrder code list. If no value is provided in either then this field is left blank.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments[1]/OrderQuantity

b2bPartialBackOrderQuantity

This descriptive flexfield is populated with the OrderQuantity value provided in the acknowledgment with the AcknowledgmentCode value in the scheduleBackOrder code list.

B2BPurchaseOrderAcknowledgment/Lines/Acknowledgments[2]/OrderQuantity

b2bAcceptOrderQuantity

This flexfield is populated with the OrderQuantity value provided in the acknowledgment with the AcknowledgmentCode value in the schedulePartialBackOrder code list.

Header Descriptive Flexfield

N/A

b2bAckReviewRequired

If the acknowledgment code value is in the schedulePartialBackOrder code list, then this flexfield is set to One or more lines have acknowledgment comments.

Here's a sample payload for this option:

<n1:Lines>
   <n1:LineNumber>1</n1:LineNumber>
   <n1:SupplierItemNumber>594-379</n1:SupplierItemNumber>
   <n1:CustomerItemNumber>544-589</n1:CustomerItemNumber>
   <n1:OrderQuantity>10</n1:OrderQuantity>
   <n1:UnitOfMeasureCode>EA</n1:UnitOfMeasureCode>
   <n1:UnitPriceAmount>7</n1:UnitPriceAmount>
   <n1:Acknowledgments>
    <n1:AcknowledgmentCode>BACKORDER</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-PartialBackorder Quantity and Date</n1:AcknowledgmentReason> <!--This value will be populated in the Change Reason field-->
    <n1:OrderQuantity>2</n1:OrderQuantity> <!-- This OrderQuantity+OrderQuantity with the AcknowledgmentCode value under the PARTIALBACKORDER AcknowledgmentCode should be equal to the PO line qty. This value will be populated in the descriptive flexfield         b2bPartialBackOrderQuantity -->
    <n1:PromisedShipDate>2024-12-17T09:30:47Z</n1:PromisedShipDate>    <!--This date will be populated in the descriptive flexfield b2bProvidedDate -->    
</n1:Acknowledgments>
<n1:Acknowledgments>
    <n1:AcknowledgmentCode>PARTIALBACKORDER</n1:AcknowledgmentCode>
    <n1:AcknowledgmentReason>Line 1-Accepted Quantity</n1:AcknowledgmentReason> <!--This value will be populated in the Change Reason field-->
    <n1:OrderQuantity>3</n1:OrderQuantity> <!--This value will be populated in the descriptive flexfield b2bAcceptOrderQuantity-->
    <n1:PromisedShipDate>2022-12-17T09:30:47Z</n1:PromisedShipDate>    <!--This date is ignored unless no date is provided with the the BACKORDER AcknowledgmentCode-->
 </n1:Acknowledgments>
</n1:Lines>