Refuelling at Petrolimex stations (static QR)
At a Petrolimex station the driver shows the vehicle's fixed Petrolimex QR to the attendant. No wallet money is held: the platform records a provisional amount owed to Petrolimex, and the Petrolimex invoice later sets the real quantity and amount and completes the order.
Overview#
Petrolimex has no point-of-sale integration with the platform and settles with each fleet company directly, outside the platform wallets. Each vehicle carries one static Petrolimex QR, which every Petrolimex station accepts. The driver enters the quantity they need and shows the QR; the attendant scans it and pumps. The order then waits for the Petrolimex invoice, which is the source of truth for what was actually filled and billed. The general fields of a refuel order are described on Refuel orders.
Prerequisites#
| What | Why |
|---|---|
| The company has a Petrolimex ID credential | Petrolimex invoices are fetched with it. Only an active credential makes Petrolimex stations visible to the company, on the web and in the Driver App; pausing it ("Sync enabled" off) hides them. Station visibility is described on Which stores tenants and drivers can see |
| The vehicle has a Petrolimex QR | Without one the order is refused; there is no fallback. A driver sees Petrolimex stations when at least one of their assigned vehicles has a QR |
| The company and the Petrolimex merchant settle by B2B-Direct | If they do not, the order is refused with a configuration error, and no wallet hold is ever placed instead. See B2B-Direct credit accounts |
| The company has B2B-Direct credit with the merchant | An active B2B-Direct credit account with enough available credit. Without one, or when the amount exceeds the credit, the order becomes Blocked for the credit limit and the company is notified; this block cannot be sent for supervisor approval |
| The merchant sells a fuel matching the vehicle | The fuel is the merchant's active fuel item matching the vehicle model's fuel types, or any active fuel item when the vehicle has no model fuel types. The fuel must have a current government price. Otherwise the order is refused |
The vehicle's Petrolimex QR#
- One QR per vehicle is shared by all Petrolimex merchants; there is no per-merchant QR.
- The QR is stored as its text content, an image, or both; a QR with neither cannot be saved.
- The QR is separate from the licence plate. Invoice matching uses the plate, not the QR.
- The Petrolimex QR card on the vehicle detail page appears only when the company has a Petrolimex ID credential, active or paused.
- The order shows the vehicle's stored QR as it is. It is never a platform-generated QR and never expires.
Setting and replacing the QR is described in Add or replace a vehicle's Petrolimex QR; the credential in Set up your Petrolimex ID credential.
Rules#
Creating the order#
- The driver enters the requested quantity, which must be greater than zero.
- The provisional amount is the requested quantity × the current government price of the fuel, which includes VAT.
- The refuel limit is checked. A request above the vehicle's allowance creates the order as Blocked instead, so the driver can ask a supervisor for approval. If it is approved, the QR and B2B-Direct checks run again and the order moves to Awaiting Invoice at the approved quantity, with its provisional amount recalculated and recorded; if it is rejected, the order is Cancelled. See Refuel limits and Blocked refuels and supervisor approval.
- Otherwise the order is created as Awaiting Invoice, and a provisional amount owed to Petrolimex is recorded on the B2B-Direct account. There is no wallet hold and no payment is sent.
There is no camera step, no scan and no pump photo in this flow. The QR can be shown only while the order is Awaiting Invoice. A configured list of exception companies stays on the standard refuel flow even at Petrolimex stations; it is empty by default.
Cancelling#
An order Awaiting Invoice can be cancelled. Cancelling voids the provisional amount owed, so it no longer counts in what is owed to Petrolimex. The company's B2B-Direct credit is given back. If no provisional amount can be voided, the cancellation is refused and the order stays as it is. A Blocked order cancels without any money to void. Other statuses cannot be cancelled.
Completing from the invoice#
Fetched Petrolimex invoices are matched to orders Awaiting Invoice by plate and time (the order was created before the invoice was signed), within the company and the invoice's Petrolimex merchant. The station is checked against the store's external location code, the Petrolimex station code, only when the company's credential names a station; otherwise any station matches. An invoice that fits more than one order goes to review. When an invoice is matched, by the automatic matcher, the AI matcher (when AI matching is switched on) or an operator, the platform:
- Sets the order's quantity, unit price and total to the invoice's actual values, and corrects the amount owed to the same figures.
- Takes VAT from the invoice when it states it, otherwise from the VAT rate recorded on the order when it was created.
- Marks the order Completed and sends the usual order-completed notification.
- Records the amount owed as paid by B2B-Direct credit and settled against the matched invoice; repaying the merchant stays a matter for the credit account. See B2B-Direct credit accounts.
- Adds the filled litres to the vehicle's running tank estimate. See Fuel in tank and consumption norms.
A re-fetched invoice never corrects or completes an order twice. An invoice the matcher cannot place goes to the invoice review queue, and the order stays Awaiting Invoice until it is matched.
The Adjusted from invoice flag#
When the invoice amount or quantity differs from the provisional one, the order is flagged and shows an Adjusted from invoice chip next to its status, on the order list and in the detail page header. The provisional and actual amounts and quantities are kept with the order. The chip is not a status.
Orders waiting too long#
An order still Awaiting Invoice after 3 days is recorded as stuck; the check runs hourly. Platform staff get an alert only when at least 5 Petrolimex orders stay stuck across consecutive checks, at most once every 4 hours.
Statuses#
| Status | Meaning in this flow |
|---|---|
| Blocked | The request was above the refuel limit (nothing is owed yet), or the amount exceeded the company's B2B-Direct credit |
| Awaiting Invoice | The driver showed the QR; a provisional amount is owed and the invoice is awaited |
| Completed | A matched invoice set the actual amounts |
| Cancelled | Cancelled before the invoice arrived; the provisional amount is voided |
stateDiagram-v2
state "Blocked" as blocked
state "Awaiting Invoice" as awaiting
state "Completed" as completed
state "Cancelled" as cancelled
[*] --> awaiting: QR order created
[*] --> blocked: over the refuel limit
awaiting --> blocked: over the B2B-Direct credit
blocked --> awaiting: supervisor approves
blocked --> cancelled: rejected or cancelled
awaiting --> completed: invoice matched
awaiting --> cancelled: cancelledAll refuel statuses and how the three pump flows move through them are on Refuel order statuses.