A purpose-built ERPNext application for waste collection and recycling companies covering route planning, container and skip tracking, weighbridge ticket capture, recovered-material accounting and contract billing. ECOSIRE builds, installs and supports it on your Frappe bench after you request a quotation. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.
Illustrative previewA purpose-built ERPNext application for waste collection and recycling companies covering route planning,
container and skip tracking, weighbridge ticket capture, recovered-material accounting and contract billing.
ECOSIRE builds, installs and supports it on your Frappe bench after you request a quotation.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your ERPNext.
You go live in about 2–4 weeks, with a post-launch support window.
Waste collection is a rounds business, not an order business. Revenue comes from a container standing on a customer's site, a truck arriving on the right day, a weighbridge printing a gross and a tare, and a monthly invoice that mixes a fixed service charge with per-lift fees and a per-tonne disposal rate. ERPNext out of the box has no concept of any of that. There is no Route, no Container, no Weighbridge Ticket; a skip on hire is not a Serial No and not an Asset; a collection round is not a Delivery Note; and a landfill gate fee that must be passed through at cost with a handling uplift is not something a standard Sales Invoice line knows how to compute. Operators end up running round sheets in a spreadsheet, the weighbridge in the bridge vendor's own software, and ERPNext only as the place invoices are typed in afterwards — which is exactly where missed lifts and unbilled tonnes hide.
ECOSIRE builds a proper Frappe application — its own app on your bench, with its own module, fixtures and migration path — rather than a pile of Customize Form overrides that break on the next bench update. The core DocTypes are Waste Container (registry with type, capacity, current site, hiring customer, hire start, RFID/barcode identifier and a dated movement-history child table), Collection Route and Route Schedule (a route template with an ordered stop child table plus a recurrence pattern that a daily scheduler_events job expands into dated Collection Run documents), Collection Run with its Route Stop child rows (per-stop outcome: collected, no-access, blocked, contaminated, container missing — each with a reason code, timestamp, driver and optional photo attachment), Weighbridge Ticket (gross, tare, net, vehicle, material, bridge ticket number, in/out timestamps, disposal site) and Waste Material classified as recovered or residual. Container movement runs through a controlled state machine so a skip cannot be delivered to two sites at once, and Weighbridge Ticket submission is idempotent on the bridge ticket number so a re-imported export file or a retried API call never double-counts a load.
Technically it is ordinary, maintainable Frappe. Business rules live in Python controllers and hooks.py doc_events — validate and on_submit on Weighbridge Ticket post net weight back to the originating Route Stop and the material ledger, and on_cancel reverses cleanly — not in fragile client-side hacks. Client Scripts handle the driver-facing niceties (fast stop completion, container scan-in), while whitelisted methods (@frappe.whitelist()) expose a small, permission-checked surface for the parts that matter: capture_weighbridge_ticket, complete_stop, container_scan and a route-manifest endpoint. Weighbridge indicators, in-cab tablets and barcode scanners talk to those methods over the standard Frappe REST API with token or API-key authentication, so there is no bespoke transport to maintain; bridges that only produce batch exports get a file import that runs through the same validation and the same idempotency check. Billing is generated by a scheduled job that walks completed Collection Run and submitted Weighbridge Ticket records for the period against a Waste Service Contract — fixed rental, per-lift, banded per-tonne rates, minimum charges, contamination surcharges and pass-through gate fees — and drafts native ERPNext Sales Invoice documents against your real Items, tax templates and accounts, so your GL, ageing and tax reporting stay in core ERPNext. Recovered material posts through standard Stock Entry documents when you want recyclate treated as sellable inventory, giving a genuine tonnes-in / tonnes-out reconciliation. Role Profiles and permission rules ship for Driver, Weighbridge Operator, Dispatcher, Contracts and Accounts, with User Permissions available for depot-level or company-level segregation.
This is a build-to-order engagement, not a marketplace download. You request a quotation, we run a scoping call, and we write down exactly which container types, stop reason codes, contract rate structures, weighbridge hardware and disposal-site rules apply to your operation. From confirmed scope, typical delivery is 2-4 weeks: we build against your ERPNext version (v15 or v16), install on a staging bench, run UAT with your dispatcher and weighbridge operator against your own routes and rate cards, then deploy to production with a documented rollback path and a pre-deployment backup. You receive the full source in a Git repository you own, with no licence key and no runtime dependency on us, so a future change never has to come back through ECOSIRE.
Plans the daily rounds and answers the phone when a customer says nobody came. Needs route schedules that generate themselves, a reason code against every missed stop, and a live view of which containers are overdue on site — without keeping a parallel spreadsheet alive.
Records every load in and out of the transfer station or MRF. Needs gross/tare/net capture tied to the vehicle and the collection run, a clean path from the bridge indicator or its export file, and certainty that a retried or re-imported ticket is never counted twice.
Owns monthly invoicing across mixed rate structures — fixed rental, per-lift, banded per-tonne, minimum charges and pass-through gate fees. Needs invoices drafted from the actual runs and tickets inside ERPNext, with every line traceable back to a stop or a weighbridge ticket.
Wants unbilled tonnage to stop leaking, standard ERPNext accounting to stay intact, and compliance figures — diversion rate, recovered versus residual — to come from the same system that raises the invoices rather than a separate return.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Fit to your actual operation | Built to your routes, container types, reason codes and rate card after a scoping call | Same potential fit, but you carry the requirements and design work in-house | Fits the author's original client; your edge cases become workarounds | No route, container or weighbridge concept exists to fit |
| Weighbridge ticket capture | Dedicated DocType with gross/tare/net, idempotent on bridge ticket number, API or file import | Achievable, though idempotency and cancel-reversal are where DIY builds usually leak | Often absent, or a single free-text weight field with no reversal path | Not present; weights are rekeyed into invoices by hand |
| Container and skip tracking | Registry with movement history and an enforced state machine, so a container is never in two places | Depends entirely on whether the state transitions were modelled up front | Commonly modelled loosely as Serial No or Asset, with no hire lifecycle | Serial No and Asset exist, but neither models a hire on a customer site |
| Contract billing | Scheduled run drafts native Sales Invoices from runs and tickets across mixed rate structures | Buildable, though banded tonnage and pass-through fees are frequently under-scoped | Usually a simple recurring charge; per-tonne and surcharge logic missing | Subscriptions and recurring invoices only — no per-lift or per-tonne basis |
| Upgrade safety on v15/v16 | Separate Frappe app with fixtures and migration path, tested against your target version | Safe if built as an app; risky when done as Customize Form and Server Script sprawl | Depends on the publisher's release cadence; an abandoned app blocks your upgrades | Fully upgrade-safe, but only because the functionality is absent |
| Integration surface | Whitelisted, permission-checked methods over the Frappe REST API plus a batch file import path | Whatever you build, then have to document and maintain yourself | Often no documented API beyond generic resource endpoints | Generic REST API over core DocTypes only — nothing waste-specific to call |
| Time to a working system | Typically 2-4 weeks from confirmed scope, including staging UAT and a rollback plan | Months of hiring, specification and iteration before the first live round | Installs in minutes, then weeks of workarounds for what it does not cover | Immediate, but the gap is closed by spreadsheets and manual invoicing |
| Ownership and lock-in | Full source in a Git repository you own; no licence key, no runtime dependency on us | Owned outright, along with the entire maintenance burden | Ongoing subscription and dependence on the publisher staying active | Owned as part of your ERPNext install; nothing to lock in |
This is a build-to-order application, not an instant download. After you request a quotation we hold a short scoping call and produce a written scope. Typical delivery is 2-4 weeks from confirmed scope, covering build, installation on a staging bench, UAT against your own routes and rate cards, and production deployment. Larger scopes — multiple depots, several weighbridge integrations, unusual contract rate structures — can run longer, and we tell you that before you commit, not after.
We build against Frappe/ERPNext v15 and v16. Tell us your exact version and hosting (Frappe Cloud, self-hosted bench, or Docker) during scoping and we build and test against that target. It ships as a proper Frappe app with its own module, fixtures and migration path, so it survives `bench update` and standard ERPNext patches instead of being a fragile set of Customize Form overrides.
The engagement includes a post-go-live support window, agreed in the scope, for defect fixes and configuration questions. After that you can take an ongoing support and maintenance agreement — which covers compatibility work when you upgrade ERPNext — or maintain it yourself, since you receive the full source in a Git repository you own. There is no licence key and no runtime dependency on ECOSIRE.
Yes, by one of two routes. If your bridge indicator or its software can make an HTTP call, it posts to a whitelisted method over the standard Frappe REST API with token authentication. If it can only produce batch exports, we implement a file import that runs through the same validation and the same ticket-number idempotency check, so a re-imported file never double-counts a load. Which route applies is confirmed during scoping against the make and model you actually run.
No — it feeds them. Contract billing drafts native ERPNext `Sales Invoice` documents against your real Items, tax templates and accounts, and recovered materials post through standard `Stock Entry` documents. Your general ledger, ageing, tax returns and stock valuation stay in core ERPNext, so your accountant keeps working the way they already do and nothing hides in a parallel ledger.
Yes. Stop completion, container scanning and outcome capture are exposed as permission-checked whitelisted methods over the Frappe REST API, so they work from the Frappe mobile view or a thin in-cab client. Driver access is scoped by Role Profile and User Permissions, so a driver sees only the runs assigned to them. A bespoke offline-capable driver app is a separate piece of work we can scope and quote alongside.
That is normal in this industry and it is exactly what the scoping call is for. `Waste Service Contract` ships with fixed rental, per-lift, banded per-tonne, minimum-charge, contamination-surcharge and pass-through gate-fee handling. If your rate card has something else — index-linked uplifts, rebates against recovered material value, seasonal rates — we write it into the scope and build it rather than asking you to bend your commercial terms to fit the software.

A finite-capacity, constraint-aware production scheduler for ERPNext that turns Work Orders and Job Cards into a live, drag-and-drop Gantt plan respecting machine, labor, and material availability. Built to order, installed, and supported by ECOSIRE.

A build-to-order ERPNext app for commercial farms and agribusiness that turns crop cycles, land plots, input usage, and harvest yields into structured DocTypes and traceable records. ECOSIRE scopes, builds, installs, and supports it — it is not an instant download.

A build-to-order Frappe app that captures supplier invoices, receipts, and POs via AI/OCR and turns them into draft ERPNext Purchase Invoices and Expense Claims — with line-item, tax, supplier, and item auto-matching. ECOSIRE scopes, builds, installs, and supports it for you.

A build-to-order AI layer for ERPNext manufacturing that predicts asset failures, recommends optimal production schedules, and surfaces quality anomalies from your Work Order, Job Card, and machine sensor data. ECOSIRE builds, installs, and supports it on your v15/v16 bench.
A purpose-built ERPNext application for waste collection and recycling companies covering route planning, container and skip tracking, weighbridge ticket capture, recovered-material accounting and contract billing. ECOSIRE builds, installs and supports it on your Frappe bench after you request a quotation.