Inventory & Stock

Inventory that runs on autopilot.

Sell something and stock goes down. Receive goods and it goes up. Every movement is a permanent record with a weighted-average cost — no spreadsheet, no manual entry, no second system.

✓ Append-only WAC ledger, auto-posted from sales and purchases.

Stock updatedGRN/0018 · +300 pcs
Auto-dispatchedINV/0042 · −120 pcs
Stock Ledger · Denim ShirtWAC
DateTypeQtyRateAvg Rate
12 JulIN+500₹188₹188.00
13 JulOUT−120₹188.00
14 JulIN+300₹194₹190.40
16 JulIN+200₹196190.40

✓ Append-only WAC ledger, auto-posted from sales and purchases.

How it works

From the item master to the stock summary

Six parts of inventory that work together — an item catalogue, warehouses, a WAC ledger, auto-posting from sales and purchases, clean adjustments, and a summary that’s always current.

Item master

One record per product, everything on it

Each item carries its name, SKU, HSN code, unit of measure, selling rate, and GST rate. Turn on stock tracking and Flint starts recording every movement. Archive an item to retire it — it stays in your history but stops appearing in new documents.

  • SKU, HSN code, unit of measure, selling rate
  • GST rate per item — used automatically on invoices and bills
  • Track-stock toggle — turn on per item to start recording
  • Soft-delete via archive — nothing is ever lost
Items14 items
Active (12)Archived (2)
Denim ShirtSKU: DNM-SHT-001
Active
HSN code6109.10
UnitPiece
Selling rate₹312.00
GST rate5%
Track stock movements
Warehouses

Physical, virtual, job-work — all in one view

Create as many warehouses as you need — a main godown, an in-transit location, a job-work unit. Mark one as default and Flint uses it whenever a document doesn’t specify. Each warehouse shows a live item count and total stock value.

  • Three types: physical, virtual, and job_work
  • Default warehouse — auto-used when none is specified
  • Live item count and total value per warehouse
Warehouses3 active
Main GodownPhysicalDefault
4,200 pcs₹18.4L
In-TransitVirtual
860 pcs₹3.8L
Job WorkJob work
1,400 pcs₹6.2L
Total stock value₹28.4L
WAC ledger

Append-only — corrections are new entries

Every stock movement is a permanent row. Goods in? The weighted average cost is recalculated. Goods out? The current WAC is preserved. Corrections are added as new entries, so the history is always complete. Try to sell more than you have and Flint stops you.

  • IN recalculates the weighted average rate
  • OUT preserves the current WAC — cost doesn’t change
  • InsufficientStockError blocks negative balances
  • Balances are calculated from the ledger, never edited by hand
How WAC worksStep by step
Opening stock500 pcs purchased @ ₹188 each
₹188.00avg cost
Sold 120 pcsINV/0042Dispatched to Saroj ApparelsWAC stays the same on OUT
₹188.00unchanged
Received 300 pcs @ ₹194GRN/0018From Apex TextilesIN recalculates the average
₹190.65recalculated
How the new WAC was calculated(380 × ₹188 + 300 × ₹194) ÷ 680 = ₹190.65
Auto-posting

Three triggers, zero manual entries

Issue an invoice and stock goes out. Post a GRN and stock comes in. Void either and a reversal movement is created. You never open the stock module to “adjust” what sales or purchases already did — the ledger stays in sync by design.

  • Invoice issue → stock-out per goods line
  • GRN post → stock-in per receipt line
  • Void → reversal movement (append, not delete)
  • Falls back to default warehouse when none specified
Auto-posting logAutomatic
Invoice INV/0042 issuedSaroj Apparels · Denim Shirt
−120 pcs
GRN/0018 postedApex Textiles · Cotton Fabric
+300 pcs
INV/0039 voidedMetro Retail · Polo T-Shirt
+80 pcs
Transfers & adjustments

Move stock cleanly, correct it honestly

Transfer stock between warehouses in one step — Flint creates a paired transfer-out and transfer-in at the same WAC rate, atomically. Need to correct a count? Log an adjustment with a reason. Both are new ledger entries, so the trail is never broken.

  • Atomic paired transfers — same WAC, one click
  • Adjustments with reason (increase or decrease)
  • Opening stock balances for go-live
Stock TransferTRF/0012
Main Godown4,200
200 pcs
In-Transit860
Same WAC rate · Atomic paired entry
Stock Adjustment
ReasonPhysical count correction
DirectionIncrease
Quantity+45 pcs
New balance4,245 pcs
Stock summary

Every item, every warehouse, one table

The stock summary shows current quantity and value for every item across every warehouse. Totals at the bottom. No pivot tables, no formulas — just the numbers your godown manager and accountant both need, derived straight from the ledger.

  • Per-item × per-warehouse breakdown
  • Quantity and value in one view
  • Derived from the append-only ledger — always current
Stock SummaryLive
ItemWarehouseQtyValue
Denim ShirtDNM-SHT-001Main Godown680₹1,30,042
Denim ShirtDNM-SHT-001In-Transit200₹38,242
Polo T-ShirtPLO-TEE-003Main Godown1,420₹4,26,000
Total stock value₹5,94,284
WACweighted average cost on every movement
Append-onlycorrections are new entries, never edits
2 triggersinvoice & GRN auto-post stock
3 typesphysical, virtual, job-work warehouses
Inventory & Stock

Frequently asked questions

Every time goods come in, Flint recalculates the weighted average cost across the existing balance and the new receipt. When goods go out, the current WAC is preserved — so the average cost only changes on inward movements, never on dispatches.

Flint raises an InsufficientStockError and blocks the operation. You cannot go negative — the system enforces this at the ledger level, not just the UI.

No. Issuing an invoice auto-creates a stock-out movement for every tracked item on it, and posting a GRN auto-creates stock-in movements. Voids create reversal entries. You never need to touch the stock module for normal operations.

Yes. Create as many as you need — physical locations, a virtual in-transit warehouse, or job-work units. Mark one as default and Flint uses it whenever a document doesn’t specify a warehouse.

A transfer creates a paired transfer-out and transfer-in movement at the same WAC rate, atomically. The cost doesn’t change — only the location does.

Yes, through stock adjustments. You log an increase or decrease with a reason. It’s recorded as a new ledger entry — not an edit to an old one — so the full history is preserved.

See it in action

Don't take our word for it.
See Flint run your floor.

Book a free 30-minute demo with your own data loaded — no slides. Just Flint handling your orders, stock, production and GST, live.

10,000+invoices raised a day
1 dayto go live on Flint
~5 minto a GST e-invoice
0spreadsheets needed