Refuel order statuses
A refuel order uses the same status list as purchase and work orders, plus four statuses that only refuels use: Funds Held and Authorized for PVoil, Awaiting Invoice for Petrolimex, and Blocked for any refuel above the vehicle's limit. Which statuses an order passes through depends on how it was created at the pump.
Overview#
Refuel orders share one status field with purchase and work orders. The shared statuses and their general rules are on Purchase and work order statuses; this page shows how each of the three pump flows uses them. A refuel order is created in one of three flows: the standard flow, where the merchant scans the driver's order QR; PVoil, where the driver scans the pump's QR; and Petrolimex, where the attendant scans the vehicle's fixed QR. A fleet card swiped at a standard store also creates a standard refuel order. See Refuel orders.
Statuses#
| Status (as shown) | Used by | Meaning |
|---|---|---|
| Draft | Standard | Created by the driver, not yet confirmed |
| Pending Tenant Confirmation | Standard | The company requires a supervisor to confirm refuels, and the order waits for that decision |
| Pending | Standard | Confirmed for the company and waiting for the merchant |
| In progress | Standard | Accepted by the merchant |
| Funds Held | PVoil only | Money is held in the wallet; the driver has not scanned the pump's QR yet |
| Authorized | PVoil only | The pump's QR is paired and the payment request is on its way to PVoil |
| Awaiting Invoice | Petrolimex only | Set when the driver starts the refuel; the driver shows the vehicle's fixed QR, a provisional amount is owed, and the Petrolimex invoice is awaited |
| Blocked | All flows | Over the vehicle's refuel limit (for PVoil: no allowance left). The driver can ask for approval and a supervisor decides. A standard or Petrolimex order can also be blocked because the company's wallet or B2B-Direct credit does not cover it; that block has no supervisor override and ends when the order is cancelled or times out |
| Completed | All flows | The fill is final and charged or owed |
| Cancelled | All flows | Cancelled by the driver, rejected by the merchant or a supervisor, timed out while blocked, or voided by PVoil |
| Expired | Standard, PVoil | The wallet hold behind the order lapsed. Re-confirming brings it back to the status it had; see Order funds holds and expiry |
Blocked and Pending Tenant Confirmation are separate: the limit check runs first, and a blocked order goes to supervisor confirmation only after it has been approved and resumed. Merchants never see Blocked orders.
Standard flow#
stateDiagram-v2
state "Draft" as draft
state "Pending Tenant Confirmation" as ptc
state "Pending" as pending
state "In progress" as progress
state "Blocked" as blocked
state "Completed" as completed
state "Cancelled" as cancelled
state "Expired" as expired
[*] --> blocked: requested quantity over the limit
[*] --> ptc: supervisor confirmation required
[*] --> draft: created
blocked --> draft: approved
blocked --> ptc: approved, supervisor confirmation required
blocked --> cancelled: rejected, cancelled or timed out
ptc --> pending: supervisor approves
ptc --> cancelled: supervisor rejects
draft --> pending: confirmed for the company
pending --> progress: merchant accepts
progress --> completed: completed
draft --> expired: hold lapses
pending --> expired: hold lapses
progress --> expired: hold lapses
expired --> pending: re-confirmed
draft --> cancelled: cancelled
pending --> cancelled: cancelled or merchant rejects
progress --> cancelled: cancelled- A driver's order starts as Draft unless the requested quantity is over the limit (Blocked) or the company requires supervisor confirmation (Pending Tenant Confirmation).
- A supervisor's approval of a Pending Tenant Confirmation order moves it straight to Pending, into the merchant's queue; a rejection cancels it.
- A card swipe at a standard store skips Draft: the order starts at Pending, or at Blocked or Pending Tenant Confirmation as above.
- An approved Blocked order returns to Draft at the approved quantity, and then goes through supervisor confirmation if the company requires it.
- Confirming a Draft order makes it Pending; only the merchant can then accept it, which makes it In progress.
- An order completes only when both the company side and the merchant have confirmed it.
- Any standard refuel order that is not Completed can be cancelled; the merchant can reject a Pending order.
How drivers and merchants carry out these steps in the apps is in Record a refuel in the Driver App and Confirm a refuel sale in the Merchant App.
PVoil flow#
Funds Held → Authorized → Completed. An order created Blocked moves to Funds Held once approved; Cancelled and Expired are the other exits. The full diagram and rules are on Refuelling at PVoil stations.
Petrolimex flow#
Awaiting Invoice → Completed when the matched invoice arrives. An order created Blocked moves to Awaiting Invoice once approved, and an order whose amount exceeds the B2B-Direct credit becomes Blocked; Cancelled is the other exit. A Petrolimex order does not expire with a hold, because there is no hold. The full diagram and rules are on Refuelling at Petrolimex stations (static QR).
Edge cases#
- Expired orders. An order in Draft, Pending, In Progress, Funds Held or Authorized becomes Expired when its hold lapses; Pending Tenant Confirmation, Blocked and Awaiting Invoice do not. A PVoil order that expired can still complete when the fuel was dispensed.