Import and Fulfill Large Volumes of Sales Orders
Improve the performance of your order-to-cash flow when you need to fulfill a bunch of sales orders, including orders that have a wide range of order lines.
Use this feature to fulfill a large number of sales orders through Oracle Global Order Promising, Oracle Shipping, and Oracle Accounts Receivable.
Use this feature so you can:
- Improve performance and reduce the time it takes to import a large volume of sales orders. The Import Sales Orders scheduled process helps you do this.
- Use pricing algorithms to efficiently price your sales orders.
-
Use the Import and Fulfill Large Volumes of Sales Order feature and Global Order Promising's High Volume Order Promising feature together to promise a large volume of sales orders.
- Confirm shipment for a large volume of sales orders. Reduce the need to manually move the shipped order line to the next step.
- Invoice a large volume of sales order so that you can reduce delays in getting paid from invoices. Reduce the need to manually move the invoiced order line to the next task.
Realize these benefits.
- Receive, import, and fulfill a large volume of sales orders.
- Minimize the need for an Order Manager to manually intervene and take corrective action on the sales order.
This topic describes the behavior that Order Management applies when you use the Import and Fulfill Large Volumes of Sales Order feature.
How It Works
Import
You use the Import Sales Orders scheduled process to import your sales orders.
Ship
If you haven’t enabled the Defer Sending Inventory Updates To Integrated Applications option, and if Oracle Shipping confirms the shipment, then:
- Oracle Shipping runs the Manage Shipment Interface scheduled
process to add shipment details to an interface table, and then runs the Process Responses from Order Fulfillment scheduled process.
Process Responses from Order Fulfillment sends the shipment details that are in the interface tables to Order Management.
- Order Management updates shipment details on the fulfillment line and moves the shipped line to the next fulfillment task.
- The Manage Shipment Interface scheduled process runs the Process Responses from Order Fulfillment scheduled process. This flow doesn't run the Send Shipment Advice scheduled process to reduce the total number of scheduled processes that are running.
- If the scheduled process can't process a shipment from the interface table, and if Oracle Shipping already confirmed the shipment, then the order line in Order Management will have an error message. See the troubleshooting section later in this topic.
For details about Defer Sending Inventory Updates To Integrated Applications option, see Fix an Order Status That Doesn't Update to Shipped.
Invoice
If Oracle Receivables has billed the lines, then:
- Oracle Receivables runs the Notify Feeder System of Receivables Transactions scheduled process, adds billing details to the interface table, then runs the Process Responses from Order Fulfillment scheduled process. For details, see Get Things Moving Again in Accounts Receivable.
- Process Responses from Order Fulfillment sends billing data from the interface tables to Order Management.
- Order Management updates the invoice details on the fulfillment line and moves the billed line to the next fulfillment task.
- The Import Receivables Transactions Using AutoInvoice scheduled process creates invoices in Oracle Receivables from sales order data, and then runs the Notify Feeder System of Receivables Transactions only one time. It does this to reduce the total number of scheduled processes that are running.
- If the scheduled process can't process a billing from the interface table, and if Oracle Receivables already billed the order, then the order line in Order Management will have an error message. See the troubleshooting section later in this topic.
Guidelines
Import
- If you use File Based Data Import to import your order, then Order Management won’t run pretransformation, transformation, or posttransformation rules to validate, modify, or set default values for attributes on the order header or the order line. Instead, we recommend that you use an order management extension to do your transformations. For details, see Overview of Creating Order Management Extensions.
- You can't create a customer during import. If you need to create a customer, then you must use Customer Management to do it during your set up.
- If it takes longer than 5 minutes to import a large sales order through REST API, then you might encounter an error that indicates the import timed out, such as a 504 Gateway Timeout error. This doesn’t mean the import failed. The import will continue to run in the background. You can use a GET request with the salesOrdersForOrderHub REST API to get an update on the order’s status.
Orchestrate
We recommend that you use the predefined DOO_ScheduleShipInvoice orchestration process. It doesn't have branching conditions or a reservation task so it provides an efficient way to fulfill your sales order. Use it to schedule, ship, and invoice each of your sales orders.
- To avoid performance problems, don’t use an assignment rule to assign the orchestration process to the order line. Instead, specify the orchestration process name in your import payload or use an order management extension to specify the orchestration process. Make sure you specify the orchestration process for all lines in the sales order.
- Don't override the fulfillment line's status in the orchestration process after you ship or bill the line. Order Management will set the status to Shipped or Billed, and you can't change that value.
- Don't set up a custom rule to filter the lines that orchestration schedules, ships, or invoices. Order Management will use its predefined rules to pick the lines that orchestration can schedule, ship, or invoice.
- Don't add a parallel step or a subprocess step to your orchestration process.
Summary of the Set Up
- Set up parameters and profiles.
- Update your pricing algorithms.
Set Up Parameters and Profiles
- Go to the Setup and Maintenance work area.
- Use the Manage Order Management Parameters task to set the parameters.
Parameter Value Use Pricing Algorithms to Calculate Totals for Sales Order Yes Number of Processes for Order Import 40
Adjust this value during your performance testing, as necessary.
- Use the Manage Order Profiles task.
- Enable the Respond Immediately on Start of Submission Request order profile so Order Management can start the import right away.
- Create a new profile option.
Attribute Value Profile Option Code FOM_HVOP_SHIP_NUM_PROCESS Profile Display Name Number of Child Scheduled Processes for High Volume Sales Orders Application Order Management Module Order Management Description We're using this profile option to specify the number of child processes to run for each instance of the Process Responses from Order Fulfillment scheduled process. SQL Validation Leave empty. Start Date Set it to yesterday. - Create another profile option.
Attribute Value Profile Option Code FOM_HVOP_SHIP_BATCH_SIZE Profile Display Name Number of Responses to Process for High Volume Sales Orders Application Order Management Module Order Management Description We're using this profile option to specify the total number responses to process for each instance of the Process Responses from Order Fulfillment scheduled process. SQL Validation Leave empty. Start Date Set it to yesterday. - Use the Profile Values area to set the values for each of your new
profile options.
Attribute Value Profile Level Site Profile Value Yes
See Use Order Profiles to Control Order Management Behavior.
- Use the Manage Administrator Profile Values task.
- Set the value for the new profile option that you just created.
Attribute Value Profile Display Name Number of Child Scheduled Processes for High Volume Sales Orders Profile Level Site Profile Value 10 - Set the value for the other new profile option that you just
created.
Attribute Value Profile Display Name Number of Responses to Process for High Volume Sales Orders Profile Level Site Profile Value 500 - Adjust these values during your performance testing, as necessary.
- Set the value for the new profile option that you just created.
Update Your Pricing Algorithms
Make sure you have the latest version of the Price Sales Transactions pricing algorithm. Do the Pre-Update and Post-Update steps that are described in the Pricing section of Oracle Fusion Cloud SCM: Performing Your Quarterly Update. For details, see Promote Pricing Algorithms Into the Latest Update.Process Responses from Order Fulfillment
If Order Management can't update the shipment details or invoice details on the order line because of a system error, then the order line might not move to the next fulfilment task in the orchestration process even though Shipping successfully shipped and Receivables successfully invoiced the line.
A system error might happen for a variety of reasons:
- The fulfillment line in Order Management isn't on a wait step.
- Order Management is still processing an earlier response from the fulfilment system on the line.
- The scheduled process processes more than one shipment or billing detail for the same line in quick succession.
- The server is slow and times out, there's a network connectivity problem, and so on.
As a result, you might notice:
- Shipping shipped your fulfillment line but the order line in Order Management doesn't contain the latest shipping details.
- Accounts Receivable billed your fulfillment line but the order line in Order Management doesn't contain the latest billing details.
To fix this problem, we recommend that you set up the Process Responses from Order Fulfillment scheduled process to run on a schedule at regular intervals. This scheduled process will automatically update the line with the latest details from Oracle Shipping and Oracle Receivables. For example, it will automatically update:
- Shipping details on the fulfillment line in Order Management after Shipping confirmed the shipment but the line remains in Awaiting Shipping status.
- Invoice details on the fulfillment line in Order Management after Receivables billed the invoice but the line remains in Awaiting Billing status.
You can also run it manually while troubleshooting. If you do, set these parameters to filter the data that the scheduled process will look at.
Parameter | Description |
---|---|
Task Type | Set a value:
For details, see Fulfillment Tasks. |
Record Set |
Set it to Process Records That Failed. Don't set it to Process Records That Are Not Yet Processed. That value is for Oracle internal use only. |
From Date To Date |
Filter the data that you want to process according to when Order Management received the fulfillment response. |
Incremental From Load Request To Load Request Number of Processes Batch Size |
Leave these parameters empty. They are for Oracle internal use only. |
Note
- You can use this scheduled process only to process responses that you receive from Oracle shipping or Oracle Accounts Receivables. You can't use it with any other fulfillment system.
-
Shipping and Accounts Receivable store their details in the DOO_FS_FULFILL_LINES_INT table. If the scheduled process encounters an error, then it marks each record that's in error in DOO_FS_FULFILL_LINES_INT.
- For important details, see Guidelines for Using Scheduled Processes in Order Management.