SK Inventory · Features

Stock that always adds up.

An append-only ledger underneath everything: receipts, sales, returns and adjustments are movements, never edits. The number on the screen is the number on the shelf — and you can prove how it got there.

01

Every change is a movement, with a reason

Stock is never 'edited to match'. Each receipt, sale, return and adjustment is an immutable movement carrying a reason code — so the count is always explainable.

The shelf and the screen agree — provably

Discrepancies don't get quietly erased; they book forward as current-dated adjustments with mandatory reasons. Idempotency keys mean a flaky network or a retried sync can never double-count. The ledger is the truth, and the truth is auditable.

The oldest trick in retail is editing the stock register until it matches the shelf. SK Inventory makes that impossible — stock is a log of movements, so every count can be traced, and no discrepancy can be silently buried.

Immutable movements

Every quantity change is a permanent, reason-coded entry. Nothing is overwritten, ever.

Mandatory reason codes

Damage, theft, miscount, return — every adjustment says why, so patterns become visible.

Idempotency keys

Retries and offline syncs can't double-count. The same movement posts exactly once.

Discrepancies book forward

Variances post as current-dated adjustments, never back-dated. The history stays honest.

Full traceability

Any count traces back through every movement that produced it. Audits have answers.

Multi-location

Stock per warehouse, per shop, per van — moved between them as tracked transfers, not guesses.

02

Receiving that captures cost at the door

Goods arrive against a purchase order as a GRN — quantities, lots and landed cost recorded the moment they land. No mystery stock, no 'what did this cost us'.

Cost is known at receipt, not guessed at audit

Raise a purchase order, receive against it, and the GRN captures exactly what came in — including the landed cost that feeds your margins. Partial deliveries and over-receipts are handled explicitly, so the paperwork matches the pallet.

Purchase orders

Order from vendors (who live in your CRM as the vendor role) with expected quantities and costs.

GRN receiving

Receive against the PO; the system reconciles ordered vs received and flags the difference.

Landed cost capture

Freight, duty and handling folded into the real cost of stock — so margins reflect reality.

Partial & over-receipts

Short deliveries and extras handled explicitly, not fudged into the next count.

Vendor on the record

Every receipt links the vendor contact — purchase history beside everything else you know.

Barcode-ready soon

Scan to receive and scan to sell, so the busy counter keeps the ledger honest.

03

Margins you can actually trust

Weighted-average cost recomputes with every receipt, so the cost behind each sale is real — and so are the margins you price and discount against.

Weighted-average costing, live

When new stock arrives at a different price, WAC blends it in immediately. Every sale records the true cost of what left the shelf, so your profit reports aren't built on a number someone typed last quarter.

WAC, recomputed live

Each receipt updates the weighted-average cost instantly. No stale standard cost lying to you.

True cost per sale

Every sale books the real cost of goods sold — margin you can act on, not estimate.

Margin reporting

See profit by item, category and period, computed from actual costs.

Price with confidence

Discount knowing your real floor, not a guess. Promotions that don't quietly lose money.

Valuation, always current

Stock-on-hand value reflects what you actually paid, updated continuously.

Cost history

See how an item's cost moved over time — supplier creep becomes visible early.

04

Lot tracking for the things that matter

Batches, expiries and recalls — know exactly which lot is on which shelf and which customer got which batch. Essential the day a supplier issues a recall.

Which lot went where — answered instantly

Receive into a lot, sell from a lot, trace a lot to every order it touched. When expiry matters or a recall lands, you're not guessing — you're querying. The difference between a tense afternoon and a closed business.

Batch / lot identity

Stock carries its batch through receiving, storage and sale — never anonymous.

Expiry tracking

Know what's ageing before it's a write-off; sell oldest-first where it matters.

Recall in minutes

Trace a lot to every customer who received it — the query that protects your business.

FEFO / FIFO

First-expiry or first-in dispatch rules, enforced rather than hoped for.

Serial numbers soon

For high-value goods, track individual units end to end.

Expiry alerts

Notifications before stock turns into loss — acted on, not discovered.

05

Day-end that closes itself

Counts, variances and adjustment postings run on a schedule. Closing the day is a report you read, not a shutdown you survive.

Closing is a report, not a ceremony

At day-end the system reconciles expected against counted, books variances forward with reasons, and posts the adjustments — automatically. Sell-ahead lets you oversell deliberately when stock is incoming, with limits, so it's always a decision and never a surprise.

Scheduled day-end

Counts and postings on a timer — the close happens whether or not anyone remembers.

Variance booked forward

Differences post as dated adjustments with reasons. Tomorrow starts honest.

Controlled sell-ahead

Oversell against incoming stock within limits you set — deliberate, never accidental.

Reorder points

Low-stock thresholds trigger alerts or purchase suggestions before you run out.

Stock-take mode

Full physical counts captured cleanly, variances explained, no shutdown required.

Day-end report

What moved, what's low, what varied — a morning briefing, not an investigation.

One product of a suite that shares a brain.

SK Inventory lives on the same customer record, the same events and the same rails as the rest of the suite.

Start free  See the developer surface →