A Sasol forecourt on the N1 south of Winburg, half past four on a Thursday afternoon in winter, seventh year of the franchise. The site manager has thirteen things she is meant to be doing at once. The fuel dip on the ninety-five ULP tank is nine litres out of tolerance from Tuesday. The Wimpy on the same slab is short two shifts because a pump attendant went home ill on Wednesday and has not come back. A fleet client in Bloemfontein has just messaged asking why his Sasol Rewards points have not settled correctly since Monday. A SARS excise reconciliation on tobacco is due by close of business Friday. And a driver on pump six has just found out his WesBank Fleet Card has declined.

None of those problems requires an unusual mind. All of them at once, in Winburg on a Thursday, is a lot.

This is a working South African petrol-station franchise on a middling week. Not the corporate megasites on the M1 in Sandton. The franchisee who signed the Sasol, Engen, Astron Energy, TotalEnergies or BP deal in 2019, sits under the monthly petrol-price gazette from the DMRE, runs a Fresh Stop or a Woolworths Food Stop on the same footprint, and squeezes a return out of a business where fuel margin per litre is set by regulation and the real money lives in the shop, the kitchen and the car wash. Roughly forty-six hundred fuel retail sites in the country, most franchised. This is where AI earns a bit of quiet ground for forecourt automation, only in the parts where the maths stays honest.

Where the money actually lives on a forecourt

Every conversation with a first-time petrol-station buyer starts in the wrong place. Fuel volumes. Litres a month. The oil-company letter. All of that is real and decides whether the site is worth buying. It is not where the site makes its money once the deal is signed.

The regulated margin on a litre of ninety-five ULP is thin enough that a busy inland site turning one point four million litres a month clears roughly two hundred and eighty thousand rand on fuel alone. Set against staff, security, rates, the improvement loan and the franchise dues, that is not a business. The shop is. A well-run Fresh Stop attached to a Caltex site can move R1.2m to R1.8m a month at a gross margin the fuel side cannot touch. The Wimpy or Steers on the same slab is a second line. The car wash is a third, if it is run properly and not leased to a guy with a bucket.

I mention this because most automation pitches to forecourt owners start at the pump and end at the pump. That is the wrong forecourt problem. The fuel side is already instrumented by the outdoor payment terminal and the wet-stock system the oil company insists on. The shop, the QSR, the car wash and the payroll are where a franchisee still writes numbers into a book at eleven at night.

The pump-attendant roster and the BCEA

Petrol-station payroll is the payroll from hell. Fifteen to twenty-eight attendants across a full site, once the shop and the QSR are counted. A morning, afternoon and night shift. Sundays and public holidays under Section 18 of the BCEA at double time and a half above ordinary hours. Night shift under Section 17 with an allowance or reduced hours. Overtime capped at ten hours a week under Section 10, which sites regularly breach without knowing. And a workforce with real turnover.

An AI-drafted roster is not a hard technical problem. What is hard is a roster that keeps the site legally compliant, respects the cashier-attendant ratio the oil company mandates for cash-handling controls, keeps Debonairs or Wimpy head office happy on their own labour rules, and does not blow up when two attendants are late on a Monday and the shift lead swaps them without telling anyone.

The pattern that works in my experience: the AI drafts the coming week against the site's baseline volumes (which vary by day of week and the SA holiday calendar), applies the BCEA hard rules as constraints not suggestions, flags where the draft goes above forty-five ordinary hours or ten overtime, and hands the draft to the site manager for the final call. Section 18 double-time-and-a-half is not the AI's judgement to override. Below the cap auto-approves. Above it goes to a human.

Payroll queries are the second layer. Leave balance, last month's overtime, why the Easter Monday hours did not appear on the payslip. A small internal chatbot pointed at the payroll system, scoped hard on which questions it answers, with a handoff on anything disciplinary or unpaid, cuts a real ten hours a month off the site's admin without touching the CCMA line.

Fleet cards, loyalty and the reconciliations no one likes doing

Fleet cards are half the volume through pump six on a highway site. WesBank Fleet, Standard Bank Fleet Card, Nedfleet, Absa Fleet, ImperialFleet, each with its own settlement cycle and its own reason for a mid-month decline that leaves a driver stranded on the R101 outside Rustenburg. A fleet manager phoning about a declined card is a service call that has to be answered inside the hour, or the site loses the account to the Engen down the road.

An AI-assisted fleet-card triage is a genuinely quiet win. It reads the decline log from the outdoor payment terminal, matches it against known card-issuer maintenance windows, checks whether the site itself is in a settlement error, and drafts a reply that says either "your issuer is in a scheduled outage, retry after seventeen hundred" or "we have a settlement mismatch on invoice X and will call you inside two hours". The driver gets a workable answer. The site does not lose the account over a five-minute admin gap.

Loyalty on Sasol Rewards, Engen 1Plus, Fresh Stop You, BP Wildcard and Shell V-Power Club is a different animal. Points crediting is meant to be automatic and usually is. Where it breaks is when a customer swiped a linked bank card instead of the loyalty barcode, or a driver used a fleet card that carries points to a nominated employee, or the QSR till processed the transaction outside the loyalty flow. The query lands in the site's inbox, and the manager pulls the outdoor-payment log, the loyalty backend and the till journal to find the missing points. An AI does the log-matching in seconds. Twenty minutes back.

Fuel dips, wet stock and the numbers a model must not invent

Wet-stock reconciliation, the daily fuel dip against pump throughput and delivery slips, is not an AI job. The oil company already runs it through Veeder-Root or Franklin automatic tank gauges with a wet-stock analytics service (Fairbanks, WEXA, Enviro). What the site manager still does by hand is the delivery-day recon: the tanker signed for thirty-five thousand litres of ninety-five, the dip shows thirty-four thousand eight hundred, and the site has an hour to decide whether that is shortage, temperature-corrected volume, meter drift or an accounting error before signing the delivery note.

An AI can pull the last thirty days of dip readings, correlate against delivery temperature and daily throughput, and flag whether the two-hundred-litre gap sits inside statistical noise or is worth a call to the depot. It cannot decide the accounting entry. And it must not invent a number to close the recon. That is a real risk with a general model that will happily produce a plausible completion. Retrieve, compare, flag, hand back.

Tobacco excise runs on the same discipline. SARS treats cigarette stock movements with an interest that would surprise a first-time franchisee. An AI pulling till lines against stock movements to build the monthly excise recon is fine. An AI that infers a number to make the recon balance is a SARS visit waiting to happen.

Load shedding, security and the parts a bot cannot help with

A forecourt cannot dispense fuel without power, and unless the site is on a UPS-backed pump system with a diesel generator sized to run through stage six for a working shift, load shedding closes fuel sales for the window. That is a diesel and a generator problem, not an AI problem. UPS on the pumps and the point of sale, a generator with a fuel-supply contract that survives a bad quarter, and a maintenance log the DMRE inspector can open when he turns up.

Security is similar. A stick-up at half past eleven at night on the R21 is not a workflow question. It is CIT protocols, an alarm-monitored panic button, staff training on how to behave in a robbery, and the honest fact that no one on shift is trained to be a hero. The AI role on the security side is administrative: does the incident report get filed, does the SAPS case number reach the insurer within twenty-four hours, does the CIT invoice reconcile against the cash-in-transit contract. That admin is worth automating around a difficult night. The night itself is not.

What must not be handed to a model

The fuel-price change on the first Wednesday of the month. The DMRE gazette sets the retail petrol price to the cent, and the totem and pump prices must match by midnight. A model that fumbles a decimal, or pushes a new pump price without the site manager approving the number against the gazette, is a Consumer Protection Act complaint and an oil-company breach the moment the pumps open. Human confirmation, always.

The fleet-card fraud call. When a fleet manager phones about a suspicious pattern (a card doing five refuels in eight hours at the same site) that is a call to the site manager and, in most cases, the issuer's fraud desk. The polite chatbot reply is a stall on a fraud line.

The disciplinary process. Pump attendant caught skimming, cashier no-showed on a Sunday, QSR scheduling dispute. That goes to the site manager, and if the CCMA is anywhere in view, to the labour consultant. A bot involved in an unfair-dismissal defence is a bot the commissioner will read out to your labour lawyer.

The oil-company dealership audit. Every franchisee is audited on a cycle. The audit pulls wet stock, staff files, franchise fees, HSSE compliance and signage. AI can pre-populate the pack. It cannot sign the declaration.

Where to start

One project.

For every SA petrol-station franchisee I have looked at, the first automation is the payroll roster with BCEA constraints wired in as hard rules. It saves six to ten hours a week at site-manager level, keeps the site out of a CCMA overtime dispute, and does not touch fuel, tobacco or the oil company.

The fleet-card triage second. Quieter, higher ceiling on the accounts the site keeps through a bad month at the issuer end.

The wet-stock delivery-recon third. Retrieval only. No number generation. The depot phone call stays in a human's hand.

None of this makes the forecourt a different business. It gives the franchisee a Thursday in Winburg where the roster is legally clean before the first WhatsApp is read, the Bloemfontein fleet manager has a workable answer inside the hour, and the dip on the ninety-five tank raises the right query with the depot before the tanker leaves the yard. That is what the automation is worth.