Cost Prices
This page outlines the way in which Cost Prices are managed, both against individual units of stock, and directly related to Sales Orders.
The Basics
Cost prices are managed within the Variant Tab, and can also be amended within the CSV Import or by using the Price Management tool.
It is possible to set multiple Cost Prices for a single Variant if your system is enabled for Multiple Suppliers.
When stock is added to the system, it will be stored with a Cost Price. That will usually be based on the default Cost Price but may be adjusted in various ways (more detail below).
When fulfilling orders, IXO Commerce will always prioritise the oldest units of stock available.
Zero vs Null Cost Prices
When a product is created, the Cost Price will be set to 'null', unless a user actively amends it.
A 'null' Cost Price means that one has not been entered, and so IXO Commerce can not use it for any purpose. This includes, but is not limited to:
- calculating the total price of Purchase Orders (e.g. an error message will be shown)
- calculating the profit margin of an order (e.g. the unit of stock will be excluded, both as a revenue and as a cost)
- profit margin in reporting (e.g. the unit of stock will be excluded, both as a revenue and as a cost)
- stock holding (e.g. the unit of stock will be excluded from the report)
A 'zero' cost price of £0.00 must be manually entered. If it has been, this will be treated as an absolute value, and will therefore be used by the system as the Cost Price for that item. This includes, but is not limited to:
- calculating the total price of Purchase Orders
- calculating the profit margin of an order (e.g. that line would be 100% profit)
- profit margin in reporting (e.g. sales of that unit of stock would be 100% profit)
- stock holding (e.g. the stock holding for that unit of stock will be £0.00)
Stock Adjustments
Stock may be adjusted either through a Manual Stock Adjustment or via the Stock Take screen.
Manual Stock Adjustments
Item | Details |
---|---|
Adjusting a Variant | When added, stock will be added to the system with a Cost Price that matches the default Cost Price for the Variant |
Adjusting a Unique Stock Record | When added, stock will be added to the system with a Cost Price that matches the default Cost Price for the Unique Stock Record, if it is different to that stored against the linked Variant |
If your product is enabled for Multiple Suppliers and has multiple Cost Prices, when stock is added manually, IXO Commerce will use the lowest Cost Price as the default Cost Price.
Stock Take
Item | Details |
---|---|
Stock Taking a Variant | When stock level is increased, stock will be added to the system with a Cost Price that matches the default Cost Price for the Variant |
When stock level is decreased, stock will be deducted from the oldest stock records first | |
Stock Taking a Unique Stock Record | When stock level is increased, stock will be added to the system with a Cost Price that matches the default Cost Price for the Unique Stock Record, if it is different to that stored against the linked Variant |
When stock level is decreased, stock will be deducted from the oldest stock records first |
If your product is enabled for Multiple Suppliers and has multiple Cost Prices, when stock is added manually, IXO Commerce will use the lowest Cost Price as the default Cost Price.
Purchase Orders
When a Variant is added to a Purchase Order, that line is added at the default Cost Price set for that Variant.
If your product is enabled for Multiple Suppliers and has multiple Cost Prices, when a Variant is added to a Purchase Order, it will use the Cost Price linked to the Supplier attached to that Purchase Order.
Cost Prices may be amended within the Purchase Order.
If the cost price is changed on the purchase order after the stock has been received, it will update the cost price of the unit of stock.
The link to the purchase order is broken once the line has been despatched. If returned, the unit of stock will not be updated by changes against the purchase order.
Cost Prices and Sales Orders
Cost Prices are linked to Sales Order Lines, and are used for margin reporting throughout IXO Commerce.
Default Function
Item | Details |
---|---|
Variants | By default, it takes the cost price of the variant as it was at the time the order was created. |
If the default cost price of the variant changes, it does not affect existing sales orders. | |
Unique Stock Records | If a Unique Stock Record exists and has been selected when creating the order, the default cost price of the Unique Stock Record will override the variant cost. |
Existing Stock
Item | Details |
---|---|
Stock Assignment | If stock is assigned from a warehouse/stock location, it will take the cost price from the oldest unit of stock within that location. |
If the order line is for more than one item, the oldest items in that location are allocated to that order line, producing an average cost price. | |
The average cost price is calculated from the costs of the allocated units, as only one cost price can be stored per sales order line. |
Purchase Orders
Item | Details |
---|---|
Order Line Allocation | If the order line is allocated/linked to a purchase order, the cost price on the purchase order will override the default cost price. |
Goods In | When the stock item on the purchase order is received, a new unit of stock is created with a cost price that matches the purchase order. This item is then automatically allocated to the Sales Order. |
Changes to Purchase Order | If the cost price is changed on the purchase order after the stock has been received, it will update the cost price of the unit of stock and, subsequently, the Sales Order. |
Practical Examples
Example 1: Assigning Sales Orders
- Order Creation:
- Variant "Widget A" has a default cost price of £10.00.
- Sales order created on 01/01/2024 uses this cost price.
- If the cost price of "Widget A" changes to £12.00 on 02/01/2024, the sales order from 01/01/2024 still uses £10.00.
- Unique Stock Record:
- Unique Stock Record for "Widget A" has a cost price of £11.00.
- When creating the sales order, this record is selected.
- The cost price for the sales order line is £11.00, overriding the variant’s default price.
Example 2: Existing Stock
- Stock Assignment:
- Warehouse location "Main" has 3 units of "Widget A" with cost prices £10.00, £11.00, and £12.00 (oldest to newest).
- Sales order line requests 2 units of "Widget A".
- The system assigns the two oldest units (cost prices £10.00 and £11.00).
- The average cost price for the sales order line is £10.50.
Example 3: Purchase Orders
- Linking to Purchase Order:
- Purchase order for "Widget A" has a cost price of £13.00.
- Sales order line is linked to this purchase order.
- The cost price for the sales order line is £13.00, overriding the default cost price.
- Changes and Despatch:
- Cost price on the purchase order is changed to £14.00 after receiving stock.
- The new cost price of £14.00 updates the unit of stock and the sales order.
- Once the sales order line is despatched, it no longer updates from the purchase order.
Example 4: Stock Adjustments
- Variant "Gadget B" has a default cost price of £15.00.
- On 03/01/2024, 5 units of stock are manually added via a Stock Adjustment.
- These units are now in the system at the cost price of £15.00, matching the default cost price at time of the Stock Adjustment.
Example 5: Stock Take
- Warehouse "North" has 10 units of "Gadget C" with varying cost prices.
- During a stock take, it is discovered that 2 units are damaged and removed from the system.
- The system deducts the 2 oldest units first, adjusting the average cost price accordingly.
Example 6: Multiple Suppliers
- Variant "Tool D" has cost prices from Supplier A (£20.00) and Supplier B (£18.00).
- A purchase order is created with Supplier B, setting the cost price to £18.00.
- When stock is manually added, the system uses the lowest cost price, which is £18.00.
FAQs
What happens if the stock is returned after despatch?
The link to the purchase order is broken once the line has been despatched. If returned, the unit of stock will not be updated by changes against the purchase order.