Inventory and purchasing
Stock per branch, per batch, and for serialised items like batteries, per unit. Buying from suppliers without being overcharged, under-delivered, or surprised by a bill.
Batches, expiry and serials · Weighted average or FIFO · Transfers between branches and warehouses
Why a garage needs it
Tyres age, oil expires, batteries carry a serial number the manufacturer needs for a warranty claim. A chain moving stock between branches by phone call ends up with the same tyre counted twice or not at all.
The classic leak on the buying side: the supplier's invoice says 40 tyres at 420, the delivery had 38, and the order was at 395. Without matching all three documents the garage pays for two tyres it never received at a price it never agreed. Add freight and customs and nobody knows the real margin. UltraGMS makes every one of those numbers visible and every mismatch a decision someone takes.
What is built
What ships today, nothing planned.
SKU per category, purchase unit and selling unit with a conversion, barcode entered or generated, reorder level and quantity, four price levels.
Balances, movements and cost layers per garage. A warehouse holds and transfers stock but takes no jobs.
A batch with cost and expiry captured at receipt; nearest expiry issued first; an expiry alert list and an ageing view per batch.
Captured at receipt, followed to the job or counter sale the unit left on. The foundation for warranty claims.
FIFO over dated batches with a reasoned override, or weighted average for products not batch-tracked. The balance sheet reads the same figures.
Move stock between branches with batch, cost and expiry travelling with it. Reserve units for a pending job; alerts use what is available.
Draft, approve by amount band and role, send, receive partially or in full. Each order ships to a specific garage.
Receive against the order line by line. Stock and weighted-average cost update on receipt; batches, expiry and serials are captured here.
Order against receipt against bill, with price and quantity tolerances. Variances are raised per line and approved by the size of the variance.
Freight, duty, customs, insurance and handling spread across a receipt by value or quantity, so margin reports use true cost.
Due dates from terms, payments against a chosen bank account, ageing per vendor, advances, and returns with a credit note.
Products under reorder level become a draft order in one action. Stock levels, valuation, low stock, slow movers, ageing and expiry.
How it connects
Technicians request consumables from the phone; parts on the job card leave stock.
Workshop managementInvoicingOldest batch first; a return restocks the batch it came from.
Invoicing and paymentsAccountsValuation as of any date equals the inventory line by construction.
Accounting and reportsMobileAdd parts, receive goods and return to vendor from the phone.
Technician mobile appFAQ
Yes. Batches carry cost and expiry and are issued oldest or nearest-expiry first; serial numbers are captured at receipt and followed to the sale, which is what a warranty claim needs later.
The goods receipt records what actually arrived, line by line. When the bill comes in, three-way matching flags the difference and someone approves a corrected bill rather than paying for what was never received.
Yes. Landed cost spreads freight, duty, customs, insurance and handling across a receipt by value or quantity, revaluing the stock so margins use the true cost.
Stock, movements and cost layers are held per branch. A garage can be flagged as a warehouse that holds and transfers stock but takes no jobs, and transfers carry batch, cost and expiry with them.
A 20-minute demo on your own product list.