Skip to main content
Fuel Station / Petrol Pump Management — A build-to-order Odoo module that turns pump-and-nozzle meter readings, staff shifts, — 1/1Illustrative preview

A build-to-order Odoo module that turns pump-and-nozzle meter readings,

staff shifts, tank stock and vehicle credit sales into reconciled daily accounting.

ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.

What is Fuel Station / Petrol Pump Management?

A build-to-order Odoo module that turns pump-and-nozzle meter readings, staff shifts, tank stock and vehicle credit sales into reconciled daily accounting. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated `fuel.tank`, `fuel.dispenser`, `fuel.nozzle` and `fuel.shift` models linked to standard `product.product` fuel grades so dispensing moves real `stock` quantities
Per-shift nozzle meter capture (opening/closing totalizer) with a `@api.depends` compute that derives litres sold, gross sales and expected cash
Shift cash reconciliation: expected-vs-counted across cash, card, wallet and credit tenders, with an auto-flagged variance line
Staff shift management with attendant assignment, handover, and record rules so an attendant sees only their own open shift
Credit sales against a `res.partner` plus tracked `vehicle_no`, posting receivables without forcing a full `sale.order` quotation flow
Daily fuel-collection sheet aggregating all nozzles, grades and tenders into one reconciled QWeb report
Tank stock tracking with dip/ATG readings and book-vs-measured variance recorded with a reason code
Fuel purchase / delivery intake that increments tank stock and optionally posts the supplier bill via `account.move`
Temperature/density (dip) correction on volumes where you sell on corrected litres rather than gross
Low-tank and reconciliation-variance alerts via Odoo automated actions (`base.automation`) and activity scheduling
Credit-outstanding statement per fleet/account customer with ageing, driven from the partner ledger
QWeb shift-closing slip printed at handover, plus a manager end-of-day summary
Full `ir.model.access.csv` + record-rule security matrix (attendant / cashier / station manager / admin)
XML-RPC / JSON-RPC accessible models for BI dashboards, forecourt-controller feeds or multi-station roll-ups
Multi-station / multi-company aware, with per-station tanks, pumps and pricing where required

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Petrol and gas stations run on a rhythm Odoo core was never shaped for: every shift a nozzle meter is read, litres are converted to cash-plus-credit, a dip stick or ATG reading confirms what's left in the tank, and the attendant's drawer has to balance against the meters before the next shift takes over. Out of the box, Odoo gives you sale.order, stock.picking and POS sessions — none of which understand a nozzle's opening and closing totalizer, temperature/density-corrected fuel volume, or a credit customer identified by vehicle number rather than a formal sale.order. Owners end up reconciling meters in spreadsheets and re-keying totals into accounting, which is exactly where shortages hide.

We build a dedicated fuel-retail layer as a proper Odoo module. New models — fuel.tank, fuel.dispenser, fuel.nozzle, fuel.shift and fuel.meter.reading — sit alongside standard product.product (each fuel grade) and stock so litres dispensed decrement tank stock through real inventory moves, not a parallel ledger. A fuel.shift collects every nozzle's opening and closing reading; a computed field (@api.depends on the reading pairs and unit price) derives litres sold, gross sales, and the expected cash the attendant must hand in. Cash, card, wallet and credit tenders are captured against the shift so the reconciliation line shows expected-vs-counted and flags the variance the moment it's non-zero.

Credit sales are modelled the way a station actually issues them — against a res.partner (fleet or account customer) and a tracked vehicle_no, so a driver fuels on account and the receivable posts to the customer's ledger without forcing a full quotation flow. Tank management covers deliveries (a fuel purchase increments tank stock and can post the supplier bill), density and dip adjustments (variance between book stock and measured dip, recorded with a reason), and low-level alerts via Odoo automated actions. Everything is permissioned through ir.model.access.csv plus record rules so a pump attendant sees only their own open shift while the manager sees the station, and QWeb reports produce the shift-closing slip, daily fuel-collection sheet and credit-outstanding statement your accountant already expects.

Because this is build-to-order, you are not downloading a generic app and hoping it fits. We start from a short scoping call, confirm your grades, tank/pump/nozzle layout, tender types, credit-customer rules and whether you need density correction or ATG integration, then build against your exact Odoo edition. Delivery is typically one working week from confirmed scope. You receive the installable source for your version, install and configuration on your server or Odoo.sh, technical and user documentation, a training session, and a post-go-live support window — with the git repository handed over so the module is yours, not locked behind a vendor. The same models are reachable over Odoo's XML-RPC/JSON-RPC API, so downstream dashboards or a forecourt controller feed can be wired in later without touching the UI.

What you get

  • Installable module source code targeting your exact Odoo edition (17.0, 18.0 or 19.0), Community or Enterprise
  • Installation and configuration on your server or Odoo.sh, including tanks, pumps, nozzles, grades and tender setup
  • Technical documentation: data model, `ir.model.access.csv` matrix, record rules and API/RPC endpoints
  • End-user guide plus a live training session for attendants, cashiers and the station manager
  • UAT on a staging database with sign-off and a documented rollback plan before go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover so you own the source outright — no vendor lock-in
  • QWeb report templates (shift slip, daily fuel-collection sheet, credit-outstanding statement) tailored to your branding

Who this is for

Independent station owner

Runs one or two forecourts and needs shift meters, cash reconciliation and tank stock to tie back to Odoo accounting so shortages stop hiding in spreadsheets.

Fuel-retail chain operator

Manages multiple stations under one Odoo database and needs per-station tanks, pumps and pricing plus roll-up reporting over the RPC API for a central dashboard.

Station / forecourt manager

Owns the daily close — needs the shift-closing slip, expected-vs-counted variance flags and a credit-outstanding statement to settle attendants and chase fleet accounts.

Fleet / credit-customer accountant

Handles account customers who fuel on credit by vehicle number and needs receivables posted to the right partner ledger with an ageing statement, not loose IOUs.

How Fuel Station / Petrol Pump Management Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Fit to your forecourtBuilt to your grades, tank/pump/nozzle layout and tender rulesFully bespoke but you specify and manage everythingGeneric feature set, bend your process to fitNo concept of pumps, nozzles or shifts
Shift meter reconciliationOpening/closing readings with computed expected-vs-counted variancePossible if you build the compute logic yourselfVaries; often basic totals, weak variance handlingNot available — POS sessions only
Credit sale by vehiclePartner ledger + tracked `vehicle_no`, ageing statementBuildable to spec at your costSometimes present, rarely with ageingManual `sale.order` per fuelling, no vehicle field
Tank stock & dip/densityReal stock moves plus dip/ATG variance with reasonsYou design the variance modelBasic stock, limited density correctionStandard inventory only, no dip logic
Delivery timeTypically one working week from confirmed scopeWeeks to months depending on your teamInstant download but integration effort afterImmediate but does the job manually
Ownership & lock-inGit repo handed over — source is yoursYou own it; you also maintain it aloneLicensed, vendor-controlled updatesCore code, no fuel logic to own
Support & upgradesPost-go-live window + optional version upgradesYour responsibility unless separately contractedDepends on publisher SLACommunity/Enterprise support, feature absent
Reports & complianceTailored QWeb shift slip, collection sheet, credit statementBuilt to order at extra effortFixed templates, limited tailoringGeneric invoices/stock reports only

Frequently Asked Questions about Fuel Station / Petrol Pump Management

How long does delivery take?

Because this is build-to-order, we build it for your exact Odoo edition after we agree scope — typically one working week from confirmed scope. Simple single-station setups land at the shorter end; multi-station, density-correction or forecourt-controller integrations at the longer end. There is no instant download; a firm timeline is confirmed on the scoping call.

Does it work with my Odoo version and edition?

Yes. We build against Odoo 17.0, 18.0 or 19.0, Community or Enterprise. The core fuel-retail models work on Community; where your workflow depends on Enterprise features (for example certain accounting or studio-generated views) we account for that during scoping so the build matches what you run.

How does credit sale by vehicle number work?

A credit sale is captured against a `res.partner` (the fleet or account customer) with the `vehicle_no` recorded on the transaction. The receivable posts to that partner's ledger, so you get a proper credit-outstanding statement with ageing instead of paper slips — without forcing every fuelling through a full `sale.order` quotation.

How is the shift cash reconciliation calculated?

Each shift stores opening and closing nozzle readings. A computed field (`@api.depends` on the reading pairs and the grade's unit price) derives litres sold and expected cash. The attendant's counted cash, card, wallet and credit tenders are entered, and the shift shows expected-vs-counted with the variance auto-flagged the moment it's non-zero.

What about support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because we hand over the git repository, you own the source and can maintain it in-house or engage us for future enhancements, version upgrades (for example 18 to 19) or new stations under a separate agreement.

Can it integrate with our other systems or forecourt hardware?

The models are exposed over Odoo's XML-RPC/JSON-RPC API, so BI dashboards, multi-station roll-ups or a forecourt-controller feed can read and write shift and tank data. Direct pump-hardware/ATG integration is scoped case by case depending on your controller and available protocol.

Do you handle installation and training, or just ship code?

We install and configure the module on your server or Odoo.sh, set up your tanks, pumps, nozzles, grades and tenders, run UAT on a staging database with a rollback plan, and deliver a training session for attendants, cashiers and managers plus written documentation. You are not left to deploy raw source.

Request a quote

Fuel Station / Petrol Pump Management

A build-to-order Odoo module that turns pump-and-nozzle meter readings, staff shifts, tank stock and vehicle credit sales into reconciled daily accounting. ECOSIRE scopes, builds, installs and supports it on Odoo 17, 18 or 19.

  • Dedicated `fuel.tank`, `fuel.dispenser`, `fuel.nozzle` and `fuel.shift` models linked to standard `product.product` fuel grades so dispensing moves real `stock` quantities
  • Per-shift nozzle meter capture (opening/closing totalizer) with a `@api.depends` compute that derives litres sold, gross sales and expected cash
  • Shift cash reconciliation: expected-vs-counted across cash, card, wallet and credit tenders, with an auto-flagged variance line
  • Staff shift management with attendant assignment, handover, and record rules so an attendant sees only their own open shift

Request a Quotation

Tell us about your Fuel Station / Petrol Pump Management requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.