What is vendor managed inventory?
Vendor managed inventory (VMI) is an arrangement where the supplier, not the customer, decides when to replenish a set of stock lines. The supplier sees the customer's stock on hand and usage and keeps each line between an agreed minimum and maximum.
In mining it usually covers high use, predictable lines: filters, hoses and fittings, ground engaging tools, fasteners, PPE, lubricants, wear parts. The site gets fewer stockouts and less admin. The supplier gets a locked in share of spend and a more predictable order book.
VMI is a service, not a favour. If you are carrying the cost of the stock, the counting and the risk, it needs to be priced and run like one.
What is the difference between VMI and consignment stock?
The difference is who owns the stock and when it gets invoiced. Under plain VMI the site owns the stock once it is delivered. Under consignment the supplier owns it until the site takes it off the shelf.
| Standard supply | VMI | Consignment | |
|---|---|---|---|
| Who decides when to reorder | Site | Supplier | Supplier |
| Who owns stock on the shelf | Site | Site | Supplier |
| When the site is invoiced | On delivery | On delivery | On consumption |
| Who carries the working capital | Site | Site | Supplier |
| Who carries obsolescence risk | Site | Site, unless agreed otherwise | Supplier, unless agreed otherwise |
| What the supplier needs to see | POs | Stock on hand and usage | Stock on hand, usage and issues by line |
Many sites ask for consignment because it moves working capital off their books and onto yours. That can be a fair trade for a long contract. It is a bad trade if the agreement says nothing about slow movers or who buys back stock when the contract ends.
How do you set up a VMI or consignment agreement?
Agree the lines, the levels, the data and the money before the first delivery. Most VMI disputes trace back to something that was never written down.
- Agree the item list. Part number, description, unit of measure and the agreed sell price for every line. Superseded part numbers need a rule too.
- Agree the service level. What fill rate are you promising, and what happens to the min and max if usage changes?
- Set the min and max per line from at least 12 months of real usage, the lead time from your own suppliers, and a safety stock. The worked example below shows the maths.
- Agree the data feed. How you will see stock on hand and issues: a weekly export from the site's ERP, a shared count sheet, or your own scanning. Without this you are guessing.
- Agree the replenishment cycle. Weekly runs are common. State the cut off and delivery days.
- Agree invoicing. For consignment, the site raises a PO (or a blanket PO) and you invoice what was used, by line, at the agreed price, each month.
- Agree counts and shrinkage. How often stock is counted, who signs the count, and who pays for units that cannot be accounted for.
- Agree the exit. What happens to stock on the shelf when the contract ends or a line is removed. Buy back at cost, sell at agreed price, or return to you.
How do you calculate min and max for a VMI line? A worked example
Min is usage during your lead time plus safety stock. Max is min plus your order quantity. Here is one consignment line with made up numbers.
Example: a bearing held on consignment at a site. Average usage is 6 a week. Your own lead time from the manufacturer is 3 weeks. You hold 6 units of safety stock (one week of usage) and you order in lots of 18 (three weeks of usage).
| Step | Formula | Result |
|---|---|---|
| Usage during lead time | 6 a week x 3 weeks | 18 units |
| Min (reorder point) | 18 + 6 safety stock | 24 units |
| Max | 24 + 18 order quantity | 42 units |
| Average stock on hand | 6 safety stock + 18 / 2 | 15 units |
| Your cost per unit | Given | $210.00 |
| Value at max | 42 x $210.00 | $8,820.00 |
| Average value you carry | 15 x $210.00 | $3,150.00 |
| Cost of carrying it at 10% a year | $3,150.00 x 10% | $315.00 a year |
That $315 a year is for one line. Multiply it across every consignment line and it is a real number, and it should be inside your sell price. For more on the safety stock part, see the safety stock calculation guide and how to set min max levels.
How do you invoice consignment stock and reconcile counts?
Invoice what the site issued, at the agreed price, then check the count against what the numbers say should be on the shelf. The gap is your shrinkage.
Continuing the example. The agreed sell price for the bearing is $245.00 ex GST.
| Line | Units |
|---|---|
| Opening count, start of month | 24 |
| Delivered (two replenishments of 18) | 36 |
| Issued, as recorded by the site | 26 |
| Expected on hand (24 + 36 minus 26) | 34 |
| Counted on hand, end of month | 31 |
| Unaccounted for | 3 |
The consumption invoice for the month is 26 x $245.00 = $6,370.00 ex GST. The 3 missing units are worth 3 x $245.00 = $735.00 at sell price. If your agreement says the site pays for unaccounted stock, that goes on the invoice too. If it says nothing, you have just eaten it.
Now check the PO the site raises for that $6,370.00. Is it at $245.00 a unit, for 26 units, against the right part number? A PO at last year's price, or a blanket PO that has run out of value, is how consignment margin goes missing without anyone noticing.
What are the common mistakes suppliers make with VMI?
The most expensive mistake is setting levels once and never moving them. Usage at a site changes with the mine plan, fleet changes and shutdowns. Static levels mean you either stock out or carry stock nobody uses.
- No agreed price per line. If the invoice is priced from your current list and the site's PO is at the contract rate, every invoice turns into a dispute.
- No count reconciliation. Without opening, delivered, issued and counted figures, shrinkage just disappears into your cost of sales.
- Slow movers left on consignment. A line that has not moved in 12 months is your dead stock sitting on their shelf. See dead stock and obsolete spares.
- No exit clause. When a contract ends, stock with no buy back term can be worth a lot less to anyone else.
- Not checking the PO. Wrong price, wrong quantity, wrong part or expired blanket PO. Each one costs you if it is not caught before you ship or invoice.
- Carrying cost not in the price. Consignment priced like standard supply means you are financing the site for free.
- Doing it all in a spreadsheet one person understands. When they are on leave, replenishment stops.
How do you run VMI in Excel or your ERP?
You can run a small VMI program in a spreadsheet if you are disciplined about the weekly update. Set it up with one row per line and these columns:
- Part number, description, unit of measure, agreed sell price, your cost.
- Weekly usage, averaged over the last 12 months (or 26 weeks if usage has shifted).
- Lead time in weeks, safety stock, order quantity.
- Min:
=[@Usage]*[@LeadTime]+[@Safety]. Max:=[@Min]+[@OrderQty]. - Stock on hand from the latest site export or count.
- Reorder flag:
=IF([@OnHand]<=[@Min],"ORDER",""). Order quantity to bring it back to max:=IF([@OnHand]<=[@Min],[@Max]-[@OnHand],0). - Monthly: expected on hand versus counted, and the gap in dollars.
Most supplier ERPs can hold the item list and generate the replenishment order once min and max are loaded. The weak points are always the same: getting the site's usage data in each week, and recalculating levels when usage changes.
How does Source Digital help suppliers running VMI?
We build Quote Desk for WA mining services suppliers. It reads RFQ emails and drafts the quote from your own price book, then checks every PO that comes back against the quote (price, quantity, part and terms) before anything ships. For VMI and consignment, that PO check is the part that protects your margin each month.
- Your price book, built from your own quotes and invoices, so every consignment line has one agreed price and every invoice uses it.
- Every PO checked against the quote or agreed price before you ship or invoice. Wrong price, wrong quantity, wrong part and missing terms get flagged for a person to approve.
- Optional stock levels for your own warehouse, with min and max recalculated from real usage using deterministic maths, not AI guesses.
It is built inside your own Microsoft 365 or Google account, with an Australian hosted database you own. Access to source data is read only. Every number links back to the email, quote or PO line it came from. A person approves every quote and every flag.
The first step is a free 15 minute call with Tristan, or send a quick enquiry if you would rather write. No obligation and no pitch. He asks how you quote now and what is costing you, then tells you straight whether Quote Desk is worth it for you. Work is charged at a consulting day rate. The price depends on your systems, your price data and what you want built, so you talk first, then Tristan sets out what he would build, how many days it takes and what it costs. An engagement runs like this:
- A free 15 minute call. What you run, and what is costing you.
- A look at a sample export of your data, only if it is useful. Read only.
- A clear scope and price, based on the days the work needs.
- The build inside your systems.
- Run, check and support.
See Quote Desk for mining suppliers and AI for mining services suppliers.

