Receiving Stock from a Purchase Order
Receiving is the process of recording that ordered items have physically arrived at your location. AccuArk's receiving workflow handles zone routing, unit-of-measure conversion, cost recalculation, and partial deliveries. This guide explains every step of the process.
Starting the Receiving Process
Open an existing purchase order from Inventory > Purchase Orders, then find the PO in the browser and double-click to open it. The PO form displays all ordered items with their ordered quantities and any previously received amounts.
Entering Received Quantities
In the item grid, the Newly Received column is where you enter the quantities that just arrived. You can receive the full ordered amount or a partial delivery:
- Full receive: Enter the same quantity as the Ordered Quantity
- Partial receive: Enter a smaller quantity. The Already Received column tracks cumulative received amounts across multiple receiving sessions. You can receive more items on a later date without creating a new PO.
- Over-receive: You can enter a received quantity greater than the ordered quantity if the vendor shipped more than expected
The Track Stock checkbox on each line determines whether receiving updates inventory levels. If unchecked, the financial transaction is recorded but stock quantities are not changed.
Zone Routing
When you receive stock, AccuArk needs to know which storage zone within the location should hold the incoming items. Zone routing can be handled two ways:
Manual Override
Select a zone from the zone picker at the header level of the PO form. When a zone is selected here, all items on the PO are received into that single zone. The manual override takes precedence over any automatic routing rules.
Automatic Routing
If no manual zone override is selected, the system uses AccuArk's automatic routing system to automatically determine the destination zone for each item. The service checks the following priority chain, stopping at the first match:
- Item-specific rule — A routing rule configured specifically for this item at this location
- Category rule — A routing rule based on the item's category
- Vendor rule — A routing rule based on the vendor on the PO
- Location default zone — The default receiving zone configured in the location's receiving settings
- Unassigned zone — The system-managed Unassigned zone that always exists at every location
- No zone — If none of the above applies, stock is added at the location level without zone allocation
Automatic routing happens per item, so different items on the same PO can route to different zones based on their individual rules.
Override Audit Logging
When a user manually overrides the automatic zone routing, the override is recorded in the receiving_override_audit_log table. This tracks who overrode the routing, what the automatic zone would have been, and what zone was selected instead.
Unit of Measure Conversion
If an item has a Purchase UOM and a Conversion Factor configured (for example, the base UOM is "Each" and the Purchase UOM is "Case" with a conversion factor of 12), the receiving process automatically converts purchase units to base units:
Received base units = Entered quantity x Conversion Factor
For example, if you enter 5 in the Newly Received column and the item's conversion factor is 12 (12 items per case), the system adds 60 units to stock. The PO displays quantities in purchase units for vendor communication, while stock is always tracked in base units.
Weighted Average Cost (WAC) Recalculation
When stock is received, AccuArk recalculates the item's cost using the Weighted Average Cost method. The formula is:
New WAC = ((Existing Qty x Existing Cost) + (Received Qty x New Cost)) / (Existing Qty + Received Qty)
This calculation uses a SELECT...FOR UPDATE row lock to ensure transaction safety when multiple users or processes might be receiving stock for the same item simultaneously.
The WAC recalculation happens automatically unless the Update Item Current Cost checkbox is checked on the PO. When that checkbox is checked, the system bypasses the WAC formula and directly sets the item's cost to the unit cost from the PO line. Use this override only when you explicitly want to set a fixed cost rather than averaging.
What Happens When You Save After Receiving
When you save a PO with newly received quantities, the system performs all of the following in a single atomic database transaction:
- Updates the location-level stock quantity for each received item
- Updates the zone-level stock quantity for each received item (based on routing)
- Creates a "Purchase" stock transaction for each received line item
- Recalculates WAC (or applies manual cost override) for each item
- Updates the Already Received column on the PO
- Creates or updates the linked accounts payable bill
- Logs the receiving action in the audit trail
If any step fails, the entire transaction is rolled back and no changes are applied.
Processing Returns on a Purchase Order
If you need to return items to a vendor, use the return function directly on the PO:
- Find the received item in the grid
- Click the X (Delete/Return) button on the item row
- Enter the return quantity (maximum is the Already Received amount)
- The item row turns red to indicate it is a return
- Save the PO
When a return is saved, the system:
- Deducts the returned quantity from the location-level stock
- Deducts the returned quantity from the zone-level stock (same zone where it was originally received)
- Creates a "PurchaseOrderReturn" stock transaction with a negative quantity
- Updates the PO totals to reflect the return amount
- Updates the linked bill to adjust the balance
Returns are displayed as negative rows in red on the PO, making them visually distinct from received items.
Tips
- Receive in batches — You do not have to receive everything at once. Partial receives are fully supported, and the Already Received column tracks your progress.
- Set up zone routing rules before your first receive — Configuring automatic routing saves time and ensures items go to the right zones without manual intervention every time.
- Check the UOM conversion — If an item has a purchase conversion factor, verify that the received base units (displayed in the stock update) match what you expect. A misconfigured conversion factor will cause stock to be off by the factor amount.
- Review WAC after large receives — After receiving a large quantity at a different cost than your current average, check the item's cost on the pricing tab to confirm the WAC recalculation is reasonable.
- Use returns sparingly — Returns on a PO reverse stock immediately. If you are processing a vendor credit or refund without physically returning stock, use the vendor credit workflow instead.