Business

Fuel Station Reconciliation in Kenya: Pumps, Sales and Cash

K By Kev 24 September 2026 12 min read
Share
Business guide

Fuel station reconciliation in Kenya fails for a boring reason: most sites are comparing two numbers when the answer needs three. Litres out of the pumps, sales recorded at the counter, and money actually received across cash, M-Pesa and card. Compare litres to money and every gap looks like theft. Compare sales to money and every gap looks like a pump problem. Compare all three, per shift, and the gap usually names itself. This guide sets out how to run that properly, which half of it your forecourt equipment owns, and which half depends on what happens at the till.

Quick answer

Fuel station reconciliation compares three numbers for the same period: litres dispensed according to the pumps, sales recorded at the counter, and money actually received in cash, M-Pesa and card. A healthy station closes all three daily and per shift. The pump-to-litres half depends on your forecourt equipment; the sales-to-money half depends on your point of sale, and that is the half most Kenyan stations are guessing at.

Key takeaways
  • Reconcile per shift, not per day. A daily figure tells you a gap exists; a shift figure tells you where to look.
  • Three numbers, not two: litres, recorded sales, and money received. Most stations compare two and wonder why nothing resolves.
  • A money-side gap is almost always process: shared logins, cash taken off-system, M-Pesa reconciled from memory, credit handed out at the pump.
  • A litre-side gap is almost always physical: calibration, temperature, delivery shortfall, leakage. Software flags it, people fix it.
  • The reconciliation is only as good as the weakest record in it. If the car wash is cash-in-a-drawer, your site will never fully close.
On this page▾
  1. Why three numbers and not two
  2. How to run a station reconciliation that actually closes
  3. What makes a station reconciliation fail
  4. A worked example: splitting a shortfall
  5. The half Veira closes
  6. Frequently asked questions

Why three numbers and not two

The first number is physical: how many litres the dispensers say went out, checked against tank dips and deliveries. This is the wet-stock side, and it belongs to your forecourt equipment. It answers "did the fuel leave the tank".

The second is the record: what the station says it sold, at what price, to whom, and on which shift. This lives at the counter. It answers "did we write it down".

The third is the money: cash counted, M-Pesa received, card settled, credit properly issued on an account rather than informally extended. It answers "did we get paid".

A gap between the first and second is a recording problem. A gap between the second and third is a money problem. A gap between the first and third with no visibility of the second is just a mystery, which is exactly where a lot of stations sit. The fix is not a more suspicious owner; it is a middle number good enough to split the difference into two answerable questions.

And the reason this matters commercially is the price cap. EPRA publishes maximum pump prices monthly, so your fuel margin per litre is not something you negotiate your way out of. A small unexplained loss eats a disproportionate share of a regulated margin, and it compounds quietly across a year.

  • Litres dispensed, per pump, per shift, from the forecourt system
  • Sales recorded, per attendant, per shift, from the point of sale
  • Cash counted at handover, against the float
  • M-Pesa received on the Till or Paybill for the same window
  • Card settlement for the same window
  • Credit issued to named fleet accounts, with an invoice behind each one

Want to see it running in your own business first?

Sign Up
A daily variance tells you something is wrong. A shift variance tells you where to stand.

How to run a station reconciliation that actually closes

Six steps, in the order they have to happen.

  1. 1

    Fix the shift boundary first

    Reconciliation only works if everybody agrees when a shift starts and ends. Set a hard handover time, count the float at both ends, and make the outgoing attendant sign for their own window. Without a boundary, every variance can be pushed into somebody else’s shift and none of them are ever resolved.

  2. 2

    Give every person their own login

    One shared account turns a shift variance into a site variance, which cannot be investigated. Individual logins on the POS mean a gap attaches to a person and a window, and, just as importantly, it clears everybody else immediately.

  3. 3

    Record the non-fuel sales properly

    The minimart, the lubricants, the gas, the car wash and the air are where cash goes untracked most often, because they feel small. Run them through the same till as everything else. A car wash paid in cash into a pocket is a hole that no amount of pump-reading precision will find.

  4. 4

    Reconcile M-Pesa against sales, not against memory

    The Till or Paybill statement should be matched to the sales that generated it for the same shift. Doing this automatically at the point of sale turns an evening of comparison into a report. Our [M-Pesa reconciliation guide](/blog/mpesa-till-number) covers the mechanics in general terms.

  5. 5

    Put credit on an account with an invoice behind it

    Informal credit at the pump is the most common source of an unexplained shortfall at a Kenyan station, and it is rarely dishonest. A fleet driver fills up, a supervisor waves it through, and nobody records it. Every credit sale needs a named account and a compliant [eTIMS invoice](/blog/etims-for-petrol-stations-kenya), created at the moment of the sale.

  6. 6

    Close the three numbers, then escalate what remains

    Once litres, recorded sales and money are all present for the same shift, the residual gap is small and specific. A litre-side residual goes to your forecourt people for calibration and dips. A money-side residual goes to the supervisor with a name and a time attached. That is a manageable conversation. "We are short this month" is not.

What makes a station reconciliation fail

Reconciling monthly

By the end of a month nobody remembers which shift a gap came from, the people involved have worked fifty more shifts, and the trail is cold. A month-end reconciliation is a bookkeeping exercise, not a control. Daily and per shift is the only version that changes behaviour.

Treating every variance as theft

Calibration drift, temperature effects, a short delivery and an honest keying error all look like a shortfall at first. Accusing staff before splitting the physical side from the money side destroys trust and usually finds nothing. Split it first, then act on what is left.

Letting the shop float in and out of the till

Attendants taking shop money into the fuel drawer and back again makes both sides unauditable. One till, one record, one reconciliation, even when it feels slower during a queue.

No float discipline

If the opening float is approximate, the closing count cannot be exact. Count in and count out, with a signature, every single shift. It is the cheapest control on a station and the one most often skipped.

A worked example: splitting a shortfall

Worked example

A hypothetical Thika Road station finds itself consistently short at month end. The owner has litres from the forecourt system and money from the bank, M-Pesa and the cash count, and nothing in between. The shortfall is real but unattributable, and the atmosphere on site has gone bad because everyone assumes somebody is being blamed.

The station puts every non-fuel sale and every credit sale through a POS with individual logins, and starts reconciling per shift. Within two weeks the gap has separated into three much smaller things: a consistent small litre variance on one pump, which turns out to be a calibration job; a recurring shortfall on one evening shift, which turns out to be informal credit extended to two regular fleet drivers with nothing written down; and a car wash that was taking more than it was recording because the money never touched the till.

None of the three was a dramatic discovery, and none of them needed an accusation. What changed was the existence of a middle number. Before the POS, the site had "we are short". After it, the site had three specific, fixable items with a name and a time on each. That is what reconciliation is for.

Business impact

When M-Pesa payments are not matched to sales, a missing payment, a staff shortfall or a double charge can slip past you until the money is already gone.

Veira reconciles M-Pesa Till and Paybill against every sale, so a mismatch surfaces the same day instead of at month end.

The half Veira closes

Veira supplies the middle number and the money number. Every sale, fuel or otherwise, is recorded against the staff login that made it, with the payment method attached. Cash, M-Pesa and card are reconciled against the sales that produced them rather than against a statement somebody reads later, and credit sales go onto a named account with a compliant eTIMS invoice created at the counter.

Shift handover produces a report: what this person sold, what they took in each payment method, what the float should be, and what is outstanding on credit. That is the document that makes a variance a specific question rather than a general suspicion.

Veira does not read your pumps, gauge your tanks or reconcile wet stock. That half is your forecourt equipment’s job and it stays there. What changes is that the money side stops being a guess, so the litre side has something honest to be compared against. The sales reporting page shows the shift and staff reports in detail.

Frequently asked questions

How often should a fuel station reconcile?
Every shift, with a daily roll-up. Monthly reconciliation finds that a problem existed but cannot say where, because by then nobody remembers the shift, the pump or the customer involved.
What causes a variance between pump litres and recorded sales?
Common causes are calibration drift, temperature effects on volume, a delivery that was short, test draws that were not logged, sales recorded late or not at all, and informal credit extended at the pump. The first four are physical and belong to the forecourt side; the last two are records and belong to the counter.
Can a POS system detect fuel theft?
Not directly, because the litre never passes through it. What it does is remove the ambiguity around the money: if every sale, payment and credit is recorded against a person and a shift, a remaining litre variance is much more clearly a physical matter, and a money variance has a name and a time on it.
How do I handle credit given to fleet drivers at the pump?
Put it on a named account at the moment of the sale, with a compliant eTIMS invoice. Informal credit is the most common source of an unexplained station shortfall in Kenya, and it usually is not dishonest, just unrecorded.
Should the shop and the fuel share one till?
They should share one record. Whether that is physically one till depends on your layout, but money must not move informally between a shop drawer and a fuel drawer, because that makes both sides impossible to audit.
What reports should a supervisor get at handover?
Sales by attendant for the shift, split by payment method; cash expected against the float; M-Pesa and card totals for the same window; credit issued with the account names; and voids or discounts with who authorised them.
Does reconciliation still work offline?
It should. Veira keeps recording sales during a network outage and syncs when the connection returns, so a shift that ran through a drop still produces a complete record rather than a hole.

Most station shortfalls are not one big problem; they are three small ones hiding behind a missing middle number. Record the sales properly, per person, per shift, and the variance splits into things you can actually fix. Book a free Veira demo and bring one month of shift figures.

Need help, or want to talk it through first? Chat with us on WhatsApp
Terms explained

Keep reading

See all Business guides

Veira for your business

Browse Veira by business type