Clear Cutover Get a quote

Epicor Kinetic · Inventory

Epicor Kinetic negative inventory: prevention, costing impact and reconciliation

Applies to: Epicor Kinetic. SQL examples apply to on-premises; cloud users can replicate the logic in a BAQ. Always test inventory adjustments in Pilot first.

Short answer

Negative inventory happens when stock is taken out (shipped, issued or transferred) before the matching receipt is recorded. It makes quantities unreliable and can distort costs, especially average cost. Use Kinetic's negative-quantity controls, fix timing problems at source, and reconcile existing balances in a controlled way.

Common causes

  1. Receipts entered late, after material was already issued.
  2. Shipping before the job completion receipt to inventory.
  3. Wrong UOM conversions, so too much is consumed.
  4. Transfers or picks from the wrong bin.

Costing impact

Weighted average cost assumes positive stock. Example: -10 units at $5 average, then a receipt of 10 at $6 brings quantity to 0 while value is not zero, so the average can end up distorted. The exact outcome depends on your configuration and how Kinetic handles negative balances. Standard-costed parts are affected differently, through purchase price and job variances.

Prevention

Kinetic provides controls in Company Configuration (under Modules > Materials > Inventory) to warn or stop when a transaction would drive on-hand stock below zero. Check whether company-wide or site-level negative stock controls are active in your release before enforcing a hard stop. Before turning on a hard stop, make sure receiving, production and shipping are recording transactions in real time, or users will be blocked.

Finding negative stock (on-premises SQL)

SELECT pw.PartNum, p.PartDescription, pw.WarehouseCode, pw.OnHandQty
FROM Erp.PartWhse pw WITH (NOLOCK)
JOIN Erp.Part p WITH (NOLOCK)
  ON p.Company = pw.Company AND p.PartNum = pw.PartNum
WHERE pw.OnHandQty < 0
ORDER BY pw.OnHandQty;

Notes:

  • PartWhse does not hold the plant directly. Join to Warehse or PlantWhse if you need the site.
  • If you add PartCost to inspect unit costs, include its CostID (and any other key columns) in the join or you will get duplicate rows in multi-site environments.
  • Check bins too: stock can be negative in one bin while the warehouse total is positive. Query Erp.PartBin for bin-level checks.
  • Cloud users should build a BAQ with the same logic.

Reconciliation

  1. Count the stock physically.
  2. Look for missing paperwork first, such as receipts and job completions, and enter it.
  3. If no paperwork explains it, post a quantity adjustment (ADJ-QTY) with a clear reason code.
  4. Have finance review costs. If the cost was distorted, use a cost adjustment under their direction.
  5. Fix the operational process that caused the timing mismatch.

FAQ

Can a bin be negative when the warehouse is positive?

Yes. Example: 50 in A-01, 0 in B-02, issue 10 from B-02, so B-02 is -10 and the warehouse shows 40.

Does DMT respect the controls?

Yes, because DMT executes through the standard business objects, enabling a hard stop on negative inventory will cause DMT imports to reject rows that violate on-hand balance rules.

Why do Stock Status and Part Tracker differ?

Differences can come from timing, selection settings or data issues. Compare using the same cutoff date and criteria before assuming a fault.

Systems I work on