How an agrovet sells
An agrovet sells to farmers whose buying follows the seasons and whose cash follows the harvest. That shapes the whole business: stock that has to be in the shop before the rains, goods sold both by the bag and by the kilo, medicines with expiry dates, and a good deal of credit.
At an agrovet in Kitale or Nyeri, that means:
- Fertiliser and feeds in 50 kg and 70 kg bags, with smallholders buying 5 or 10 kg loose.
- Vet medicines, dewormers and acaricides that expire if they sit too long.
- A rush for maize seed and planting fertiliser before the long rains, then a quiet spell.
- Farmers who pay when the dairy cooperative pays or the crop is sold.
- Branches in market towns where the network comes and goes.
By the bag or by the kilo, from one stock
Wave POS sells bags and loose kilos from the same stock. Keep DAP in kilos and add a 50 kg bag as a pack of 50: a whole bag takes 50 kg off stock, and a farmer buying 7.5 kg loose takes 7.5 kg off the same count. Quantities go to three decimals, so 1.25 kg of chick mash rings up correctly.
The bag and the kilo each have their own price, so the loose price can cover the work of opening and weighing a bag. Weigh on your own scale and type the weight in. Seed in 2 kg packets and vet drugs by the bottle sell by the piece as usual.
Batches and expiry dates for vet medicines
Turn on batches for vet medicines and each delivery records the batch number and expiry date. When a batch of dewormer passes its date, write it off through an adjustment with the reason Expired. Nothing leaves stock until a manager approves it, and the record keeps both names: who asked and who approved. See stock and inventory.
Getting ready for the planting season
Wave POS’s reports help you buy before the rains, not after. The low-stock report lists items at their reorder level, with what sold in the last 30 days and how many days of stock are left. The product performance report shows the best sellers and the slow movers still on the shelf. Run last season’s sales by product, export them to Excel, and you have a starting list for this season’s order.
When the stock arrives, receive it at cost from a draft. Supplier accounts and creditors ageing show what you owe the distributor and when it falls due. The purchasing and suppliers page has the detail.
Credit for farmers, with limits
Give each farmer who buys on account a credit limit. A sale goes on account only once the till has checked the room left under that limit, and the farmer pays at the till, in cash or by M-Pesa, when the milk money comes in. Debtors ageing shows who has owed for more than 60 or 90 days, so next season’s credit goes to the farmers who paid for the last one. Read our guide to managing customer credit.
A planting-season sale, worked through
A farmer from Kiminini buys for two acres of maize and her dairy cows, on account:
| Item | Qty | Price | Line |
|---|---|---|---|
| Hybrid maize seed, 2 kg packet | 10 | KSh 650 | KSh 6,500 |
| DAP, 50 kg bag | 2 | KSh 3,500 | KSh 7,000 |
| CAN, loose | 12.5 kg | KSh 70 a kg | KSh 875 |
| Dairy meal, 70 kg bag | 1 | KSh 3,200 | KSh 3,200 |
| Dewormer, 100 ml | 1 | KSh 450 | KSh 450 |
The total is KSh 18,025. Her limit is KSh 25,000 and she owes nothing, so the sale goes on account. Stock falls by 10 packets of seed, 100 kg of DAP, 12.5 kg of CAN, 70 kg of dairy meal and one bottle of dewormer. When the cooperative pays at the end of the month, she pays KSh 10,000 by M-Pesa at the till; the rest waits for the harvest, and her ledger shows every step.
Branches and weak networks
Each branch has its own stock, tills and prices, and the tills keep selling when the network drops. Say your main shop is in Kitale with a branch in Endebess: transfers move fertiliser from the main store to the branch, with any shortfall recorded as lost in transit, and prices per branch let the branch charge for the extra transport.
When the signal goes, the till stores each sale and sends the lot, in the order they were made, once it returns. Prompts to a customer’s phone need a connection, so in the meantime cashiers type in the M-Pesa code from the customer’s confirmation message. The offline selling page explains how it works.