A build-to-order ERPNext application that turns nozzle meter readings, shift closings, and tank dips into reconciled fuel stock and cash. ECOSIRE scopes, builds, installs, and supports it for your petrol or fuel-retail operation. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext application that turns nozzle meter readings, shift closings, and tank dips into reconciled fuel stock and cash. ECOSIRE scopes, builds, installs, and supports it for your petrol or fuel-retail operation.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
Petrol and fuel stations lose margin in the gaps that generic accounting cannot see: the difference between what the nozzle meters counted, what the dip stick and density say is in the tank, and what actually hit the cash drawer at shift change. Stock-native ERPNext models fuel as an Item with a Stock Ledger Entry, but it has no concept of a nozzle totalizer that only ever counts up, no shift-wise cash-vs-volume reconciliation, no dip/density conversion at the tank, and no way to book evaporation or temperature variance as a controlled loss instead of an unexplained inventory adjustment. Owners end up running the forecourt on spreadsheets bolted to the side of ERPNext, and the two never agree.
Dedicated `Fuel Tank`, `Dispenser`, and `Nozzle` DocTypes linked to native ERPNext `Item`, `Warehouse`, and `Company` so fuel stock stays in the standard Stock Ledger
Shift-wise nozzle totalizer capture with a `Shift Closing` DocType that computes litres sold as `close - open`, guarding against meter rollover and mid-shift pump replacement
Server-side `on_submit` controller in `hooks.py` that auto-generates the matching `Sales Invoice`/`POS Invoice` and `Stock Ledger Entry` from each closed shift
Shift cash reconciliation: metered volume x rate compared against declared cash, card, and credit tenders with a variance short/over posted to a control account
Dip and density entry per tank with calibration-table conversion to volume, reconciled against metered sales in one variance view
Evaporation and temperature/density variance booked as controlled, categorized losses via a dedicated Stock Reconciliation flow rather than silent adjustments
ECOSIRE builds a dedicated Frappe application that sits inside your ERPNext instance and models the forecourt properly. We add DocTypes for Fuel Tank, Dispenser, Nozzle, Shift, and Nozzle Reading, each linked to standard ERPNext Item, Warehouse, Company, and POS Profile records so stock and accounting stay canonical. A Shift Closing DocType captures opening and closing totalizer readings per nozzle; a hooks.py on_submit doc event runs a server-side controller that computes litres sold (close - open, guarding for meter rollover and pump replacement), values them at the shift's rate, and posts the matching Sales Invoice/POS Invoice and Stock Ledger Entry. Dip readings and density are entered against the tank, converted to volume through calibration tables you provide, and reconciled against metered sales so that book stock, physical dip, and sold volume are compared in one place with the variance split into measured evaporation, temperature/density adjustment, and true shortage.
Technically it is a real Frappe app, not a pile of customizations: versioned in its own git repository, installed with bench install-app, and upgraded through bench migrate. Business rules live in Python controller methods and hooks.py doc events (validate, on_submit, on_cancel) so they can never be bypassed by a direct edit; forecourt data-entry ergonomics (totalizer keypad, live litres-sold and cash-expected calculations, rollover warnings) are delivered as Client Scripts and a lightweight custom page. Scheduler events (scheduler_events in hooks.py) run the nightly stock-vs-dip reconciliation and flag tanks whose loss exceeds a configurable tolerance. Everything is exposed over the Frappe REST API and whitelisted methods (@frappe.whitelist()) so tank-gauge hardware, controller consoles, or a fleet-card portal can post readings in; access is governed by ERPNext Role Profiles and permission rules (Pump Operator, Shift Supervisor, Station Manager, Accounts) with row-level and field-level control. Credit customers and fleet cards are handled as standard ERPNext Customer accounts with per-card credit limits and statements, so receivables and driver-level fuel history reconcile against General Ledger without a second system.
Because this is build-to-order, nothing ships until we agree on scope. A short scoping call establishes your tank/nozzle layout, product slate (petrol grades, HSD, lubricants), calibration and density conventions, credit/fleet-card rules, and target ERPNext version (v15 or v16). We then build against your requirements, prove it on a staging instance through UAT, and only then install on production with a rollback plan. Typical delivery is 2 to 4 weeks from confirmed scope, and you receive the full source repository so you are never locked in.
Runs one or two forecourts and needs shift closings, tank dips, and cash to reconcile automatically so nightly shortages are visible instead of buried in a spreadsheet. Wants ERPNext accounting and fuel operations to finally agree.
Oversees multiple stations in one ERPNext instance and needs per-site warehouse isolation, standardized shift and dip reconciliation, and dashboards that compare throughput and loss across the network.
Owns receivables and the General Ledger and needs fleet-card and credit-customer balances, fuel-rate changes, and evaporation losses to post cleanly to GL without a second reconciliation outside ERPNext.
Closes shifts at the forecourt and needs a fast totalizer keypad with live litres-sold and cash-expected figures, plus validation that catches rollover, negative, or transposed readings before they submit.
Buy the license on ecosire.com and download the Petrol Pump & Fuel Station Management app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Petrol Pump & Fuel Station Management and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Fit to forecourt workflow | Built to your tank/nozzle layout and shift rules | Possible but you specify and manage every detail | Generic assumptions, rarely matches your station | |
| Shift & meter reconciliation | Automated litres-sold, cash, and stock posting on submit | Depends entirely on your build quality | Basic if present, often manual | |
| Dip / density / evaporation | Calibration-table conversion with categorized loss booking | Build it yourself from scratch | Usually absent or simplistic | |
| ERPNext accounting integrity | Posts through native invoices, stock, and GL | Correct only if you enforce it | Varies; integration often shallow | |
| Fleet card & credit accounts | Per-card limits and driver history on native Customer | Your own design and effort | Limited or add-on | |
| Delivery time | 2-4 weeks from confirmed scope | Often months with hiring and iteration | Instant install but poor fit | |
| Support & code ownership | Support window plus full git repo handover | You own and maintain everything | Vendor-locked, limited source access | |
| Version upgrades | Built for v15/v16, moves with bench migrate | You handle every upgrade break | Depends on vendor release cadence |
This is a build-to-order ERPNext application, not an instant download. After a scoping call to confirm your tank/nozzle layout, products, credit rules, and target version, typical delivery is 2 to 4 weeks from confirmed scope. We prove it on staging through UAT before installing on production.
Every engagement includes a defined post-go-live support window for bug fixes and configuration adjustments. Because you receive the full git repository, ECOSIRE can also deliver later enhancements, version upgrades (v15 to v16), and new features under a support or retainer arrangement. You are never locked to us.
We build for ERPNext / Frappe v15 and v16. The app is versioned in its own git repository, installed with `bench install-app`, and upgraded through `bench migrate`, so it moves cleanly with your bench.
Operators enter opening and closing nozzle totalizer readings in a `Shift Closing` DocType. A server-side `on_submit` controller computes litres sold, values them at the shift rate, and posts the matching invoice and Stock Ledger Entry. A nightly scheduler job compares book stock against tank dip/density and flags any loss beyond your tolerance.
Yes. Readings and dips can be posted through whitelisted Frappe REST methods (`@frappe.whitelist()`), so an automatic tank-gauge system or controller console can feed data directly instead of manual entry. We scope the specific hardware and protocol during requirements.
Yes. We hand over the private git repository with full commit history for your commissioned version. You keep ownership, can host it on any bench, and can extend it with your own developers if you choose.
The app builds on native ERPNext objects: fuel is a stock `Item` in a `Warehouse`, sales post as `Sales Invoice`/`POS Invoice`, and credit/fleet accounts are standard `Customer` records. Because the logic runs in doc events, stock, receivables, and the General Ledger stay reconciled rather than living in a parallel system.
A build-to-order ERPNext application that turns nozzle meter readings, shift closings, and tank dips into reconciled fuel stock and cash. ECOSIRE scopes, builds, installs, and supports it for your petrol or fuel-retail operation.