The delivery log tells you what you sold. The ledger tells you what you are owed, and those are very different numbers. Most milk businesses that get into trouble are not selling badly — they are selling fine and collecting slowly, and nobody noticed because the shortfall never appeared on one screen.
This guide covers what a customer ledger needs to contain, how to collect faster without being unpleasant about it, and how to make sure a lost phone or a torn book does not take the whole thing with it.
What a customer ledger actually is
A ledger is a running account for one customer. Every event that changes what they owe goes on it, in order, with a date. That is the whole idea, and it is worth stating plainly because most people keep only half of it — deliveries in one place, payments somewhere else, and the balance in their head.
Four kinds of entry belong on it:
- Deliveries — date, shift, quantity, rate applied
- Bills — the period, the total charged
- Payments — date, amount, how it was paid
- Adjustments — credits for sour or missed milk, discounts, corrections, each with a reason
Everything else — the customer’s address, their usual quantity, the gate code, whether they pause in summer — is useful account information but is not ledger content. Keep it separate so the ledger stays a clean financial record.
The three numbers that must always be visible
For each customer, at any moment, you should be able to see these without calculating anything:
- Charged to date — everything billed since the account opened, or since your last clean settlement.
- Received to date — every payment recorded.
- Outstanding — the difference.
And across all customers, one number: total outstanding. This is the single most useful figure in the business and the one most people have never seen. When someone moves from a notebook to any system that totals it, the figure is almost always higher than they expected — commonly somewhere between half a month’s and a full month’s revenue sitting uncollected.
How to write entries that survive a dispute
A ledger’s real job is not accounting. It is being believed. An entry that cannot be checked is an entry a customer can reasonably argue with.
- Date every line. A quantity with no date proves nothing.
- Separate morning and evening. “1.5 litres on the 14th” is ambiguous; “1 litre morning, 0.5 litre evening” is not.
- Record the rate that was applied, not just the amount. When you raise a rate six months later, you want the old bills to still show what they were calculated at.
- Record payments the moment they happen. A payment you remember but did not write down is a payment you will eventually ask for twice, which costs more goodwill than the amount is worth.
- Name every adjustment. “Credit ₹40 — sour milk, 12th” ends a conversation. An unexplained smaller number starts one.
Collecting faster
Collection is mostly a timing problem, not a persuasion problem. Four changes account for most of the improvement people see.
Send the bill the day the period closes
Not the third, not the fifth. A bill that arrives on the 1st gets paid in the first week’s budget. A bill that arrives on the 6th competes with everything else that month. This alone is usually worth more than any reminder system.
Send something that looks like a bill
An itemised document with dates, quantities, rate, previous balance, payments received and the closing amount gets paid faster than a figure sent in a message. Partly because it is clearly correct, partly because it reads as a business rather than an informal arrangement. A PDF sent on a messaging app is enough — it does not need letterhead.
Make paying require no effort
Whatever the local instant-payment system is, put the details on the bill itself — a UPI ID, a QR code, a bank reference, an account number. Every step between “I should pay this” and “paid” is a step where it gets postponed. If your customers use QR codes, print one and carry it; being able to take payment at the door on the day you hand over the bill collects a surprising share of the month in one morning.
Have one reminder rhythm and stick to it
A single polite message on a fixed day — say the 10th, to everyone still outstanding — works better than sporadic chasing, because it is predictable and impersonal. It is a routine, not an accusation. Only escalate to a conversation after two cycles.
Know when to stop extending credit
This is the uncomfortable one. A customer who is two full months behind is not slow, they are borrowing, and the amount will not come down on its own. The kind approach is also the practical one: a short conversation offering to split the old balance over the next two bills, with current deliveries paid as normal. Most people accept, and the account recovers. Letting it run to four months helps nobody.
Cash, transfers and the record
Different payment methods leave different traces, and this matters more than it seems.
- Cash leaves no record at all unless you create one. Record it before you put it in your pocket, not at the end of the round.
- Instant transfers leave a record on both sides, which is why they are worth encouraging — they end an entire category of dispute.
- Part payments need to be recorded as part payments against the balance, not as a settled bill. A ledger that only knows “paid” and “unpaid” will force you into a second set of notes within a fortnight.
If someone else collects on your behalf, the rule has to exist before it is needed: recorded at the door, handed over the same day. Ambiguity here damages relationships more reliably than money does.
Backups: the part everyone skips
A digital ledger removes the risk of a soaked notebook and replaces it with the risk of a lost phone. That is a much better trade, but only if you actually take backups.
What to do
- Back up monthly, after the billing run. Tie it to something you already do so it does not depend on remembering.
- Keep the backup somewhere other than the phone. A backup sitting only on the device it is protecting is not a backup. Email it to yourself, or copy it to a second device or a memory card.
- Keep the last two or three, not just the latest. If a problem goes unnoticed for a few weeks, the most recent backup contains it too.
- Test a restore once. Preferably on a second phone, before you ever need it. An untested backup is a guess.
- Export the year at year end as a PDF or spreadsheet, and keep that separately from the app. It is your record even if you change tools.
What to be careful about
Your customer list and your monthly turnover are the two most commercially sensitive things you own. Do not share a backup file over public channels, and do not leave it on a shared computer. If the app keeps records on the device rather than uploading them, that privacy is a real advantage — but it makes the backup discipline yours rather than the software’s.
Frequently asked questions
How long should I keep records?
Keep at least the current and previous financial year within easy reach, and an annual export beyond that. Disputes almost never reach back further than a few months, but tax questions occasionally reach back years.
Should I give customers a copy of their ledger?
Send the bill every period. A full ledger on request, when someone queries a balance — it resolves the conversation quickly and there is nothing in it they should not see.
What if I inherit a mess?
Do not try to reconstruct history. Agree a figure with each customer as at a chosen date, record it as an opening balance, and keep clean records from that day. An agreed approximate number is worth far more than a disputed accurate one.
Where to go next
For the billing mechanics that sit on top of the ledger, see how automated dairy billing works and how to calculate a milk bill correctly. For rates, fat and SNF rate calculation. For the tooling, the complete guide to milk delivery apps.
Milk Diary keeps a per-customer ledger with dated morning and evening entries, the rate applied, full and partial payments, a live outstanding balance, an outstanding report across all customers, and backup and restore. It is free on Google Play.