Create order invoice

The create order invoice transaction creates one or more invoices from an order whose OrderHeaderKey is stored in a task queue object. The createOrderInvoice() API is called for the OrderHeaderKey.

Configure this transaction in the pipeline only after all processing that can impact quantity or price has been completed. Post invoice creation, the line quantity cannot be reduced below the invoiced quantity.

Both the Create Order Invoice and Create Shipment Invoice transactions can create invoices for an Order. When configuring your pipeline, ensure that only one of these two transactions is configured to create invoices for a particular order line. For more information, see Create shipment invoice.

Attributes

The following are the attributes for this time-triggered transaction:

Table 1. Create order invoice attributes
Attribute Value
Base Transaction ID CREATE_ORDER_INVOICE
Base Document Type Order
Base Process Type Order Fulfillment
Abstract Transaction Yes
APIs Called createOrderInvoice()

Criteria parameters

The following are the criteria parameters for this transaction:

Table 2. Create order invoice criteria parameters
Parameter Description
Action Required. Triggers the transaction. If left blank, it defaults to Get, the only valid value.
Number of Records To Buffer Optional. Number of records to retrieve and process at one time. If left blank or specified as 0 (zero), it defaults to 5000.
Task Queue Filter Criteria Optional. Determines the jobs to be retrieved by the agent. The value that is assigned to this parameter is matched against the value that is stored in the FILTER_CRITERIA column of the YFS_TASK_Q table, while retrieving the jobs. The possible values for the parameter depend on the following two default segregation policies that are implemented for the order entity.
  • Order Line Size - Valid values for the order line size based segregation policy are VeryLarge, Large, and VOID.
  • Order Attribute - Valid values for the order-attribute based segregation policy are the distinct values that can be assigned to the order attribute that is configured for segregation and VOID.
Note: VOID is a valid task queue filter criteria value irrespective of the segregation policy. It is used to match records with NULL value in the FILTER_CRITERIA column of YFS_TASK_Q table.

The parameter accepts multiple values so that the jobs that match the values can be retrieved or processed together. Use comma-separated enumerations when you assign multiple values to the parameter.

For more information, see Workload segregation for task queue agents.

ColonyID Required in a multischema deployment where a table may exist in multiple schemas. Runs the agent for the colony.
LightInvoice Optional. If set to Y, computes the price of the invoice and then discards the line detail information. Light invoices reduce the overall size of the database for in-store scenarios, such as point-of-sale, where a "heavy" invoice is not necessary.

Statistics tracked

The following statistics are tracked for this transaction:

Table 3. Create order invoice statistics
Statistic Name Description
NumOrderInvoicesCreated Number of order invoices created.

Pending job count

For this transaction the pending job count is the number of records available to be processed by the transaction with the AVAILABLE_DATE value less than or equal to (<=) the current date value in the YFS_Task_Q table.

Events raised

This transaction raises events as specified under the createOrderInvoice() API in the IBM Sterling Order Management: Javadoc.