M-Pesa

M-Pesa for Petrol Stations: Taking Payment at the Pump

K By Kev 24 September 2026 11 min read
Share
M-Pesa guide

M-Pesa for petrol stations is not really a question about M-Pesa. Taking a Till or Paybill payment is the same transaction on a forecourt as it is in a duka. What changes is everything around it: the money is taken beside a pump rather than at a counter, several attendants are taking it simultaneously, volume is high and fast, and at the end of the shift somebody has to say how much of the day’s fuel was paid for by phone and whether it matches what went out. This guide covers making that reconcile itself, and what to do about the awkward edges a forecourt creates.

Quick answer

M-Pesa at a petrol station works the same way it does anywhere else; what is different is the forecourt. Payment happens away from the counter, several attendants take it at once, and volume is high. The question that decides whether it helps or hurts is whether each payment is matched automatically to the sale that produced it, or reconciled from a statement at the end of the day.

Key takeaways
  • The rail is not the problem. Matching payments to sales, per attendant, per shift, is the problem.
  • A forecourt takes payment away from the till, so the attendant who took it must be identifiable on the record.
  • Reconciling an M-Pesa statement against a till sheet by hand is an hour a night on a busy station, every night.
  • A customer’s confirmation message is not proof the station received it. Confirm on the business record.
  • Fleet customers often want credit, not M-Pesa. Do not force a payment rail onto an account relationship.
On this page▾
  1. What a forecourt does to a simple payment
  2. Setting M-Pesa up so a station reconciles itself
  3. M-Pesa mistakes on a forecourt
  4. A worked example: an hour a night, recovered
  5. How Veira handles M-Pesa on a station
  6. Frequently asked questions

What a forecourt does to a simple payment

In a shop, the person taking payment is standing at the record. The sale and the payment happen in the same place at the same moment, so tying them together is trivial. A station breaks that. The attendant is at pump four, the customer pays by phone, and the record lives somewhere else. Unless the system closes that distance, the station ends up with two separate piles at the end of the day: a list of fuel sold and a list of money received, with nothing joining them.

That gap is where the evening disappears. Reconciling an M-Pesa statement against a shift sheet by hand is genuinely slow on a station taking hundreds of mobile payments, and because it is slow it gets skipped on the busiest days, which are exactly the days it matters most.

There is a second edge specific to forecourts: a customer showing a confirmation message on a phone screen. Messages can be old, edited or from a different transaction entirely, and an attendant under pressure at a busy pump is not well placed to judge. The only sound practice is confirming against the business record rather than the customer’s screen.

And a third: fleet customers usually do not want to pay by phone at all. They want an account and a monthly invoice. Pushing them onto M-Pesa to simplify your reconciliation makes their life harder and can cost you the account. Our guide to Till versus Paybill covers choosing the right product for each kind of customer.

  • Payment taken away from the till, at the pump, by several people at once
  • High transaction count, so manual matching does not scale
  • Attendant identity has to travel with the payment for the shift to reconcile
  • Customer screenshots are not confirmation
  • Fleet and corporate customers want credit and an invoice, not a Till payment

Want to see it running in your own business first?

Sign Up

Setting M-Pesa up so a station reconciles itself

Six steps, from choosing the product to closing the shift.

  1. 1

    Pick the right product for each customer type

    A Buy Goods Till suits fast walk-in fuel and shop payments. A Paybill with an account number suits customers you want to identify, such as a regular account settling a balance. Deciding this up front prevents a mess where everything lands in one place with no way to tell what it was for.

  2. 2

    Make the sale create the payment request

    The strongest arrangement is the attendant recording the fuel amount and the system requesting the exact figure, so the amount cannot drift and the payment is already attached to a sale. That is what removes the end-of-day matching exercise entirely rather than making it faster.

  3. 3

    Tie every payment to the attendant who took it

    Individual logins are what let a shift close with a real figure per person across cash, M-Pesa and card. Without them, a shortfall belongs to the site and cannot be investigated, which is covered in the [reconciliation guide](/blog/fuel-station-pump-reconciliation-kenya).

  4. 4

    Confirm on the business record, never the customer screen

    Train attendants to release fuel on confirmation from the station’s own system or the business SMS, not from a message shown on a customer’s phone. This is a forecourt-specific risk because the attendant is away from the counter and under time pressure.

  5. 5

    Keep fleet customers on accounts

    Do not push an account customer onto M-Pesa because it tidies your reconciliation. Give them credit against a named account with a compliant invoice, and let them settle monthly. The [fleet and credit accounts guide](/blog/fuel-station-fleet-and-credit-accounts-kenya) covers how to run that safely.

  6. 6

    Close the shift on all three rails together

    Cash counted, M-Pesa received, card settled, against recorded sales for the same window, per attendant. If that close takes more than a few minutes, the system is doing the matching after the fact instead of at the moment of sale, and it will keep costing you an hour a night.

M-Pesa mistakes on a forecourt

Reconciling from the statement

Downloading an M-Pesa statement and matching it to a till sheet is a nightly hour that grows with your volume and gets abandoned exactly when trade is busiest. Matching at the point of sale replaces the task rather than speeding it up.

Accepting a screenshot

A message on a customer phone is not evidence the station has been paid. On a forecourt, where the attendant is away from the record and cars are queueing, this is the most commonly exploited gap.

One shared number for the whole site

If every attendant takes payment against one login, no shift can be closed with a per-person figure, and an M-Pesa shortfall becomes a general suspicion rather than a specific question.

Forgetting transaction costs in the margin

Payment charges come out of a fuel margin that is already thin and capped. Know what each rail costs you and account for it in the line-level margin rather than discovering it at year end. The [M-Pesa fee calculator](/tools/mpesa-fee-calculator) will show the current published charges.

A worked example: an hour a night, recovered

Worked example

A hypothetical station in Kikuyu takes a large share of its fuel payments by M-Pesa across four attendants and two shifts. Every evening the supervisor downloads the statement and works through it against the shift sheets. On a quiet Tuesday it takes forty minutes. On a Friday it does not get done at all, and Friday is when the station is busiest.

The station moves to recording each sale at the pump with the payment requested from the system for the exact amount, tied to the attendant’s login. The matching now happens as each sale completes rather than afterwards.

The shift close becomes a report rather than a task: this attendant sold this much, took this much in cash, this much on M-Pesa, this much on card, and here is the difference if there is one. The forty minutes disappears, and, more usefully, the Friday that never got reconciled now closes like every other day. Nothing about M-Pesa changed; only where the matching happened.

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.

How Veira handles M-Pesa on a station

Veira ties each M-Pesa payment to the sale that created it and to the attendant who made it, so there is no statement to reconcile at the end of the shift. Cash, card and M-Pesa all close together against recorded sales for the same window, per person.

Because the sale is recorded when the fuel goes out rather than when the money is checked, a network drop does not break the flow: selling continues and the records sync when the connection returns.

Fleet customers stay on accounts with compliant eTIMS invoices rather than being pushed onto a Till, and the shop, lubricants and car wash run through the same till, so nothing is settled outside the record. See the M-Pesa payments page for fuel stations.

Frequently asked questions

Should a petrol station use a Till or a Paybill?
A Buy Goods Till suits fast walk-in fuel and shop payments. A Paybill with an account number suits customers you need to identify, such as an account settling a balance. Many stations use both, for different purposes, rather than forcing everything through one.
How do attendants take M-Pesa away from the counter?
By recording the sale where they stand and having the system request the exact amount, with the payment attached to that sale and that attendant. Taking payment first and writing it down afterwards is what creates the nightly matching exercise.
Is a customer confirmation message good enough proof?
No. Messages can be old, edited or from another transaction, and an attendant at a busy pump cannot reasonably judge. Release fuel on confirmation from the station’s own record or the business SMS, never from a customer screen.
How long should a shift close take?
A few minutes. If closing a shift means comparing an M-Pesa statement to a sheet line by line, the matching is happening after the fact, and that task grows with your volume and gets skipped on your busiest days.
Should fleet customers pay by M-Pesa?
Usually not. Fleet and corporate customers generally want an account, a monthly statement and a compliant invoice. Pushing them onto a Till to simplify your own reconciliation makes their side harder and can cost you the relationship.
Do M-Pesa charges eat into a station’s margin?
They are a real cost against a fuel margin that is already thin and capped, so they belong in your line-level margin rather than as an afterthought. Check current published charges with Safaricom, as tariffs change.
What happens to M-Pesa payments when the network drops?
The mobile-money rail is Safaricom’s, not the station’s. What you control is whether your own system keeps recording sales through an outage and reconciles them once the line returns, rather than stopping trade or losing the record.

M-Pesa on a forecourt is a matching problem, not a payments problem. Attach each payment to a sale and an attendant at the moment it happens, and the nightly statement exercise disappears along with the shortfalls nobody could explain. Book a free Veira demo and bring one busy shift.

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

Keep reading

See all M-Pesa guides

Veira for your business

Browse Veira by business type