Morsa publishes this guide. Morsa is software with an AI agent that works in your ERP, email and Teams; it turns each customer’s count into a drafted refill order. The worked math and costs are ours.
Quick answer
Ask this first: who owns the stock after delivery? In standard VMI the customer does, and pays on delivery. If they expect you to own it until they use it, that is consignment, and you carry the cash.
Who decides: you place the refill; the agreement sets the rules.
The math: min = daily usage x (days between counts + delivery days) + safety stock. Max = min + one normal delivery.
Hundreds of SKUs: set min and max by formula in one sheet for the fastest-moving fifth, and a simple default for the rest.
What to charge: add up the counting, ordering and driving time, and recover it as a monthly fee or in the unit price.
How VMI works, step by step
Agree the scope: items, locations, min and max, and who counts how often.
Get the count: the customer, or your rep on a site visit, reports stock on hand or usage.
Order: for every item at or below its min (counting anything in transit), refill up to the max, rounded to the case pack, usually as a sales order against the customer’s blanket PO.
Ship and invoice on delivery, or on usage under consignment.
Review monthly: fill rate, stock turns, items not moving, and levels that no longer fit.
Worked example: min, max and the order
A distributor stocks a customer’s tool crib. One SKU, an M10 bolt:
Usage: 40 a day (200 a week, 5 working days), with a daily standard deviation of 12.
Counted every Monday; delivered Wednesday. Stock must last 5 working days to the next count plus 2 days of delivery: 7 days.
Service level 95%, which means a stock-out in about 1 week in 20. Z = 1.645, the multiplier for 95%. Case pack: 25.
Step | Formula | Result |
|---|---|---|
Safety stock | 1.645 x 12 x square root of 7 | 52.2, round up to 53 |
Min | 40 a day x 7 days + 53 | 333 |
Max | min + one week’s normal delivery of 200 | 533 |
Monday count: 290 on hand, none in transit | 290 is under 333, so order up to max: 533 - 290 = 243 | 250, rounded to 10 cases |
Check it over three weeks:
Week 1: Monday’s count is 290, so 250 are ordered. By Wednesday 80 more are used, leaving 210; the delivery brings it to 460.
Week 2: Monday’s count is 460 - 120 = 340, just above the min, so no order.
Week 3: Monday’s count is 340 - 200 = 140, so 533 - 140 = 393 is ordered, rounded to 400. By Wednesday stock is down to 60, just above the 53 of safety stock, when the delivery lands.
At $2.40 a bolt, the shelf never holds more than about $1,279 of this part (533 x $2.40). Count daily instead of weekly and the 7-day window falls to 3, so the min drops to 40 x 3 + 1.645 x 12 x square root of 3 = 155.
Setting min and max for 400 SKUs
Export 13 weeks of the customer’s usage by SKU and plant from your ERP’s shipment history, or from their EDI 852s.
Set up the sheet with these columns: SKU, plant, average daily use, daily standard deviation, days covered (count interval plus delivery days), case pack, safety stock, min, max. Safety stock is 1.645 x standard deviation x square root of days covered; min and max follow the table above, rounded up to the case pack.
Use the formula on the fastest-moving fifth, about 80 SKUs, where a wrong level costs the most; review them monthly.
Give the other 320 a default, reviewed quarterly: min = 2 weeks of usage or one case pack, whichever is larger; max = min plus one case pack.
Check any single item with the safety stock calculator, which also gives min and max.
When usage jumps, say a week at twice the normal rate, place a top-up order that day and recompute that item’s min from the last 4 weeks. Planned changes need a notice period in the agreement.
The 12 terms to put in the agreement
Term | What to write down |
|---|---|
Items and locations | The SKU list by bin or plant, and how items are added or removed |
Min and max | The starting levels, who may change them, and how often they are reviewed |
Counts and data | Who counts, which day, in what format, and what happens when a count is missed |
Ownership | When title passes: on delivery (VMI) or on use (consignment) |
Payment trigger | Invoice on delivery, or a monthly usage report under consignment |
Service target | The fill rate (lines filled from stock / lines used) you commit to, and how it is measured |
Stock cap | A dollar ceiling on stock at each site |
Lead time and emergencies | Normal delivery days, and how rush orders are placed and priced |
Price changes | How much notice, and whether stock already on site is repriced |
Count variances and shrink | How often a full reconciliation count happens and who pays for missing stock |
Slow movers | When an item counts as slow, and who ends up with it: the customer keeps it, or you take it back at a restocking fee |
Exit | What happens to stock on site when the agreement ends: bought by the customer at cost, or returned |
Without the last three terms, you end up owning every missing item and every slow mover.
VMI vs consignment
VMI | Consignment | |
|---|---|---|
Who owns stock on the shelf | Customer, from delivery | Supplier, until used |
When the customer pays | On delivery | On use, from a usage report |
Who carries the cash in the stock | Customer | Supplier |
Who loses on shrink | Customer, unless the agreement says otherwise | Supplier, unless the agreement says otherwise |
Some agreements mix the two, sometimes called consigned VMI [2]; either way, the contract must state ownership and payment.
What VMI costs you, and how to price it
Our estimate for 3 plants and 400 SKUs (about 130 bins a plant) at $35 an hour loaded. Who counts sets most of the cost:
Your rep counts weekly: per plant, about 1 hour counting (130 bins at 30 seconds), 1 hour on orders and exceptions, and 1.5 hours driving. 3.5 hours x 3 plants x 52 weeks = 546 hours, or $19,110 a year, plus 156 round trips at your cost per mile. Refills on your own truck ride the same trip.
The customer’s crib attendant counts and sends the sheet: you keep the 1 hour of ordering per plant, so 3 x 52 = 156 hours, or $5,460. Back it with a quarterly full count; the cycle counting guide has the method.
EDI, if the customer sends 852s: providers publish setup fees of $0 to $750 per trading partner, plus a monthly fee (EDI cost).
Stock, under consignment only: $15,000 at each plant is $45,000 of your cash; at a 10% yearly cost of money, $4,500 a year.
Price the service from that cost. If this customer buys $250,000 a year of the VMI items, the rep-counts version costs 7.6 points of margin ($19,110 / $250,000): recover it as a monthly fee of about $1,590 or in the unit price. Electrical Wholesaling’s worked method adds counts, set-up and rep time to normal operating cost and quotes the margin that still pays back [3].
In return, ask for the committed SKU list and yearly volume, a stock cap, a rule that the customer keeps or buys slow movers it stops using, the customer’s own weekly count, and notice of usage changes.
When VMI fails
Counts are late or wrong, so orders are built on bad numbers. Fix the count day in the agreement and reconcile quarterly.
Demand changes and nobody says. A new line or a shutdown breaks the min.
Max is never reviewed. Stock creeps up and the customer stops trusting the program.
Slow movers have no owner. Write the buyback rule before the first one appears.
Your own supply slips, and the customer sees your VMI promise break.
EDI 852 and 846 in plain words
EDI (electronic data interchange) sends business documents computer to computer, in formats X12 publishes [1].
EDI 852, product activity data: what the customer used and has left, by item and location, usually weekly. X12 says it lets a partner “plan and ship, or propose inventory replenishment quantities” [1].
EDI 846, inventory inquiry or advice: a snapshot of stock on hand, sometimes daily [1].
The usual 850 purchase order, 856 ship notice and 810 invoice follow [1].
Turning weekly counts into orders
The weekly work is turning counts that arrive in different formats into orders. Morsa does it in Prophet 21, Eclipse, NetSuite, Business Central or whichever ERP you run.
It reads each plant’s count however it comes: an 852, a spreadsheet, or a phone photo of the count sheet.
It compares every item with its min and max in your ERP and drafts the refill order, rounded to the case pack.
The account rep approves each kind of order once; after that, routine orders under the agreed value go in under that rule, and anything unusual waits for the rep. Morsa confirms the delivery with the customer and chases your own suppliers for anything short.
To see it on one of your VMI accounts, book a 30-minute walkthrough.
What to do this week
Ask the customer who owns the stock after delivery, who counts, and how often.
Export 13 weeks of their usage and set min and max for the fastest-moving 80 SKUs with the math above.
Price the service from the cost estimate and send it with the 12 terms.
After four weeks, check fill rate and stock value against the service target and stock cap you agreed.
If you plan stock yourself instead, inventory planning software pricing shows what Netstock, EazyStock and Lokad cost for a 3,000-SKU distributor.
Sources
X12, Transaction Sets (852 Product Activity Data, 846 Inventory Inquiry/Advice, 850, 855, 856, 810): https://x12.org/products/transaction-sets (read 8 November 2026)
Wikipedia, Vendor-managed inventory (definitions, consigned VMI): https://en.wikipedia.org/wiki/Vendor-managed_inventory (read 8 November 2026)
Scott Benfield, Pricing the Managed Inventory Agreement, Electrical Wholesaling (1 December 2003; service costs recovered through the quoted product margin): https://www.ewweb.com/business/pricing-managed-inventory-agreement (read 8 November 2026)

