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.
✓ Append-only WAC ledger, auto-posted from sales and purchases.
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.
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
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
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
InsufficientStockErrorblocks negative balances- Balances are calculated from the ledger, never edited by hand
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
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
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
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.
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.
