Kibble gets bought the day the last bag is opened. Yet we know how much the pack eats: it is written in the ration sheet.
What changes
A new Stock screen (Manage › Resources on the phone, "Stock" in the website menu) tells you what will run out, and when.
- You pick a food from your catalogue, the bag size (20 kg) and "I want at least 14 days ahead".
- MushMate works out how much the pack eats each day from the ration sheet: training dogs, retired dogs, guests, litters.
- The screen shows the stock, the day it will run out, and how many bags to order to get your days ahead back, or to last 30 days.
You only note two things: a bag opened and bags received. And when you walk round the barn, correct the count (the sealed bags, and what is left in the open one).
Who sees what
The whole kennel sees the stock: the handler, the guide getting an outing ready, the vet, the viewer. Nothing leaves the kennel: the club sees nothing.
- The owner picks the foods to follow, the bag size and the threshold.
- A handler notes a bag opened, a delivery, a count.
- A guide notes a bag opened. Not a delivery: a stock that costs money does not go up without the owner or a handler.
What it does not do
- Consumption is never typed in. It comes from the ration. If a ration is out of date, the forecast is wrong, and the screen says so.
- The forecast reads today's ration. It does not guess that the training plan will raise it next month.
- MushMate orders nothing and never talks money: no price, no total.
- A dog whose ration cannot be worked out (no weight, a food without kcal) is not counted. The screen says how many.
Two choices against the obvious
No "eaten today" box. Nobody keeps a daily entry going for three weeks. The ration sheet already knows what the pack eats.
"Bag opened" corrects the estimate. The number of sealed bags only comes from what you note (received, opened, counted), never from the calculation. When you open a bag, MushMate starts again from what is really in the barn. If the calculation thought the stock was nearly empty, it goes back up.