Inventory & Stock Control

Multi-warehouse tracking, batches, barcode labels, and valuation

3 min read Updated Oct 30, 2026
Overview

What Inventory is for

Inventory tracks products, quantities, warehouses, batches, expiry and stock movement. Sales, Purchasing and POS use this shared stock position.

Setup

Set up Inventory first

Create the stock structure before recording movement.

  1. WarehousesOpen ↗

    Create each physical stock location and choose the default.

  2. ProductsOpen ↗

    Set names, SKUs, units, prices and tracking requirements.

  3. Opening stockOpen ↗

    Enter the quantity already on hand once, before live activity.

  4. Batches and expiryOpen ↗

    Enable lot tracking for products that require traceability or expiry control.

Workflow

How stock moves

Normal business documents should create normal stock movement.

Product lifecycle
  1. 1Opening stock / Purchase
  2. 2Available stock
  3. 3Sales / POS
  4. 4Remaining stock
How-to

Day-to-day inventory controls

Use the operational screen that matches the event instead of changing stock directly.

  • Receiving

    Confirm delivered quantities, warehouse, lots and expiry when goods arrive.

    Open ↗
  • Transfers

    Move stock between warehouses while preserving the movement history.

    Open ↗
  • Stock counts

    Count physical stock, investigate differences and post the verified count to the ledger.

    Open ↗
  • Expiry management

    Review expiring and expired lots; expired lots are skipped at checkout and should be handled through the supported write-off workflow.

    Open ↗
What it records

What each stock action records

Every confirmed inventory action creates a traceable stock-ledger movement. Review the resulting movement rather than entering another adjustment.

After receiving
Available quantity increases in the selected warehouse. Batch-tracked products require the lot information used for later allocation.
After a sale or POS checkout
Available quantity decreases. For tracked lots, checkout allocates non-expired stock using the product’s lot rules, including FEFO behavior supported by KhataPal.
After a transfer
Quantity leaves the source location and becomes available at the destination through the recorded transfer trail.
After a posted stock count or adjustment
The verified difference is posted to the stock ledger with its reason; it does not replace the history that produced the previous balance.
How-to

Inventory value and reporting

Quantity and value answer different questions. Use Stock Levels for what is available, Stock Ledger for why it changed, and Inventory Reports for movement and value. KhataPal supports the configured inventory valuation behavior; use a consistent method for similar inventory and review damaged, obsolete or expired stock rather than leaving it at an unrealistic value.

  • Stock Levels

    See available quantities by product and location.

    Open ↗
  • Stock Ledger

    Trace receipts, sales, transfers, counts and adjustments in sequence.

    Open ↗
  • Inventory Reports

    Review movement, valuation and stock health for the selected reporting context.

    Open ↗
Watch out

Common inventory mistakes

Check these points before changing stock or correcting a difference.

  • Do not use adjustments for normal purchases or sales

    Receive purchases and correct sales through their originating workflows so stock and accounting remain connected.

  • Do not enter opening stock twice

    Opening stock establishes the starting position once; later changes need a receipt, sale, transfer, count or justified adjustment.

  • Do not create duplicate products

    Search existing products, SKUs, barcodes and variants before creating another record for the same item.

  • Keep units consistent

    Confirm purchasing, stocking, packaging and selling units before live movement begins.

  • Investigate before adjusting

    Review the Stock Ledger, source documents, warehouse and date range before posting a correction.

  • Do not ignore batches and expiry

    Tracked products need the correct lot, expiry and quantity so allocation and write-off behavior remain reliable.

Troubleshooting

Troubleshooting stock differences

Review Stock Levels to confirm the symptom, then use Stock Ledger to identify the movement that caused it. Check receipts, sales, transfers, counts, warehouse and batch allocations before posting an adjustment. If the source cannot be identified, contact support with the product, warehouse, date range and affected document reference.

Still stuck? Contact support