Guidelines to Import and Fulfill Large Volumes of Sales Orders

Use these guidelines to help you import and fulfill large volumes of sales orders.

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.

Import

  • Include a value in the OrchestrationProcessName attribute in your REST API's payload. If you're using FBDI, then include a value in the Process Name attribute on the DOO_ORDER_LINES_ALL_INT worksheet. If you include the name, then Order Management won't run your process assignment rules, and that will improve performance.
  • 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.

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:

  • Invoice. Update billing details.
  • Shipment. Update shipping details.
Note
  • You can only process a response that you receive from Oracle Shipping or Oracle Accounts Receivable. You can't use this scheduled process to process a response from any other fulfillment system, such as through your own task type. For details, see Create Your Own Task Type.

  • If you set up this scheduled process to run on a schedule, and if you need to process shipments and invoices, then create one instance of the process for shipments, and another instance for invoices.

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.