OMS is able to generate invoice PDFs that suppliers can use to invoice retailers who have been selling their products.

There are currently two different invoice layouts:

  • Combined
  • Individual

The combined layout lists each order item as a line on the PDF whilst the individual layout gives each order its own page.

Invoice Number

Every time an invoice PDF is generated, the invoice is given a sequential invoice number. The sequence is determined differently depending on weather the invoice is being generated manually or via an automatic process.


When an invoice is generated manually, the invoice sequence number is determined by the user’s primary company.

This means that any users who might generate invoices for the same supplier must all belong to the same company.

OMS will force a user to filter orders by company before it will generate an invoice. The selected company should either be a dropship or self-fulfilment company. Invoices should not be generated directly against a supplier company.


When an invoice is generated automatically, the invoice sequence number is determined by the supplier parent company of the company for which automatic invoicing is enabled.

For example, consider the following scenario:

Name Type Supplier
Supplier A Supplier N/a
Retailer B Dropship Supplier A
Retailer C Dropship Supplier A

Automatic invoicing would be enabled on both Retailer B and Retailer C with the invoice sequence number coming from Supplier A.

Automatic invoicing should never be enabled directly against a supplier (a supplier company would never have any orders assigned to it).

Invoice Payment Details

The invoice payment details and header logo are pulled from the Invoicing section on the company for which the invoice is being generated for.


The prices for each order item are derived from the Unit Cost Price OMS field. The value does not directly come from CPP e-commerce data but might do indirectly depending on the source of the order and its path through the system.

Order Paths

API Orders

Orders that have been created through the API will have their unit cost price determined automatically based on the relevant trade tier price set in CPP.

Integration and POS Order

Orders from a retailer integration or POS order are subject to different pricing strategies.

The default pricing strategy follows the same behaviour as for API orders, however some suppliers such as Crowther have their own pricing strategies which allow for complex custom pricing rules that are dependent on various factors.

Implementing custom pricing rules requires paid development.


Any shipping costs set on the order are included within the cost of the first item on that order.

Invoicing does not currently handle the case where individual items have their own shipping costs.