Building on the recent updates to reservation and sales workflows, major improvements have been made to average cost calculations and how inventory actions are logged.
What’s changing with inventory calculations?
The average cost algorithm has been overhauled to enhance and streamline how average cost is calculated across Retail POS, including how costs are estimated when there is no inventory on hand.
Improved average cost calculations
Significant improvements have been made to the average cost algorithm to ensure that the average cost of an item is always accurate, regardless of how units are moved within the account.
Workflows that cause average cost recalculations have also been adjusted to better align with industry best practices:
- Vendor returns now recalculate average cost by removing the units at the refund cost.
- Manually changing the cost of a lot will now adjust average cost based on the remaining units available, in-transit, or reserved from that lot.
These actions no longer cause an average cost recalculation:
- Referenced refunds and cross-location refunds. Unreferenced refunds may impact average cost depending on the cost control settings.
- Cancelling reservations.
- Returning or receiving transfers.
Average cost calculations for boxes and assemblies
When building boxes, the average cost of the box item will be recalculated based on the average cost of the individual components. When breaking boxes, the average cost of the single item will be recalculated based on the average cost of the box.
When building an assembly, the average cost of the assembly item will be recalculated based on the sum of the average cost of the individual components. When breaking assemblies, the system will divide the average cost of the assembly across each component, weighted proportional to the current average cost of the individual components.
The cost of lots created by these processes may not reflect the value used in the average cost calculation.
Improved logic for cost estimates without inventory
Average cost and first in, first out (FIFO) accounting method algorithms are now better at estimating the cost to use when there is no inventory on hand. Cost estimates are used to estimate dynamic pricing, discounts, and margins, as well as cost control for negative inventory, auto-adds, and inventory over-count.
For pricing estimates, the average cost accounting method uses the current average cost, or the default cost if no inventory has ever been received for the item. FIFO uses the cost of the oldest open lot in the current location, or the cost of the oldest open lot in any location if that isn’t available. If no inventory was ever received in any location, it uses default cost.
For cost control, average cost works in the same way as pricing. FIFO also follows similar logic, using the cost of the last received lot instead of the oldest open lot.
What’s changing on the item page?
New fields and improved logic have been added to the Inventory > Items > (item) page > Inventory tab to give you more visibility on inventory quantity allocation and cost values.
Your cost accounting method determines which fields are displayed on the item page, and how some values are calculated. For example, avg. cost is not available when using FIFO.
Item pages will now include these new and improved fields:
- Available: Current available units (quantity on hand).
- Reserved: Units reserved for layaways, special orders, or work orders.
- Transfer Pending / Outgoing / Incoming: Units being transferred between locations.
- Avg. Cost: Weighted cost of each item based on a rolling average. Includes available, reserved, and in-transit units. This field won’t be displayed on the item page if you’re using the FIFO accounting method.
-
Total Value: Sum of the value of the inventory, displayed per shop. This value is calculated differently for average cost and FIFO accounting methods:
- Average cost method: Sum of your QOH and reserved inventory multiplied by avg. cost, minus the total value of negative inventory.
-
FIFO method: Total value of all units in each inventory lot (sum of the lot QOH and reserved inventory multiplied by the lot cost) minus the total value of negative inventory.
Retail POS considers negative inventory to have a fixed price once recorded.
- Total Sale Value: Total price if all current available and reserved units are sold at the default price level of the shop.
- Margin: Estimated percentage of the sale price that is profit. If inventory is available, this will be based on the total cost of sellable inventory and the default price level of the shop. If no inventory is available, this will provide an estimate based on the cost control settings of the account.
What’s changing with inventory logs?
Inventory logs (Inventory > Item Search > (item) page > History) have been reorganized and expanded to help you better understand and track how each action affects your inventory.
Enhanced inventory history logs
On the Inventory Movement Logs page, you can now:
- Search logs by ID.
-
View the reason the log was created for consistency and clarity, now displayed as a linear action (ex. On August 1 > John the employee > Manually adjusted quantity > with Impact on inventory).
If a change is made through the API, the API client will display below the employee’s name.
-
Track changes with new delta fields (∆) that indicate the changes to inventory levels over time (not the current values) in key areas:
- ∆ Negative (formerly Caused Negative): Changes in the amount of negative inventory in your account. Increases when negative inventory is created, decreases when negative inventory is corrected or resolved.
- ∆ Reserved: Change in quantity of items reserved for layaways, special orders, or work orders. Increases when units are reserved, decreases when units are sold or reservations canceled. Displays a negative value when selling these reserved units in a sale.
- ∆ Avg. Cost: Indicates change to the weighted average cost of the item by the action. Displays a dash ( – ) when the workflow can’t change the average cost or $0 when items are received at the current average cost.
-
∆ Value: Indicates the change in the total value of inventory by shop, typically the change in quantity multiplied by the unit cost of the change, but logic varies depending on the action and selected accounting method of the account. Reservations will not change the value of inventory until they are sold.
As it only applied to manual cost adjustment actions, the Change in Cost column has been removed from the table. This information can still be found in the detailed view of the event log.
- View the lot affected by manual cost or QOH adjustments in the source column.
- Click an ID # to open a detailed view of the event, including the resulting QOH and avg. cost after the inventory movement was completed, as well as details about adjustment made to individual inventory lots and negative inventory records to fulfill the action.
You can also click the Log ID in the last column of the Inventory Lot Changes table to jump to the inventory log which caused the adjustment.
The Log ID column is also available in Reports > Negative Inventory tables.
New resolved negative inventory event log
Resolving negative inventory by receiving more units will now create an entry in the Inventory Movement Logs table. In the log table:
- QOH and Avg. cost will not change
- ∆ Negative field will decrease
-
∆ Value may indicate a change if the received units and negative inventory have different costs
For example, using the FIFO accounting method: You have one negative unit (Total Value: -$12), then receive 2 at $10 each (Total Value: -$12 + $20 = $8). To resolve the negative inventory, one of the $10 units is used to offset the -$12 negative unit, leaving one $10 unit remaining in inventory. To reconcile this difference, a ∆ Value of +$2 is displayed in the logs.
When will I see the updates in my account?
The updates to reservation and sales workflows are being gradually rolled out to all merchants in the coming weeks.
When the changes have been activated in your account, Retail POS will be automatically updated. No action is required.