A build-to-order Transportation Management System for ERPNext that plans loads, runs a dispatch board, manages carrier and owned-fleet rates, accrues freight cost, and captures proof of delivery — all inside your ERPNext instance. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $599.00 USD; request a quote for a scoped proposal.

A build-to-order Transportation Management System for ERPNext that plans loads, runs a dispatch board, manages carrier and owned-fleet rates, accrues freight cost, and captures proof of delivery — all inside your ERPNext instance. ECOSIRE scopes, builds, installs, and supports it for you.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
Distributors and carriers running ERPNext hit a wall the moment shipping stops being a single field on a Delivery Note. ERPNext core gives you Delivery Trip and a driver link, but it has no concept of consolidating multiple sales orders into one truckload, no rate card that compares a contracted carrier against your own fleet, no freight accrual that lands in the general ledger before the carrier invoice arrives, and no structured proof-of-delivery trail with milestone timestamps. Planners end up in spreadsheets, dispatchers phone drivers, and finance reconciles freight weeks late — while the shipment data that should live in ERPNext leaks out to email and WhatsApp.
Dedicated Frappe app installable on your bench via `bench get-app` / `bench install-app`, isolated from ERPNext core so upgrades stay clean
First-class DocTypes for `Load Plan`, `Trip`/`Dispatch`, `Carrier Rate Card`, `Freight Cost Entry`, and `Proof of Delivery` with configurable naming series
Load consolidation that groups open Delivery Notes and Sales Orders by lane, weight, and volume, with capacity checks enforced by server-side validation
Kanban dispatch board with driver and vehicle assignment and a `Draft → Planned → In Transit → Delivered → Settled` workflow
Carrier and owned-fleet rate cards supporting distance, weight, and zone tariffs with automatic lowest-cost lane lookup
Freight cost accrual on trip submit via `hooks.py` `on_submit`, posting a Journal Entry to a configurable accrual/expense account and reconciling on carrier settlement
The ECOSIRE Transportation Management System is a proper Frappe application (its own installable app, not a pile of customizations) that adds a transport layer directly on top of ERPNext. We model the domain as first-class DocTypes — Load Plan, Trip/Dispatch, Carrier Rate Card, Freight Cost Entry, and Proof of Delivery — each with workflow states, role-scoped permissions via Role Profiles, and naming series that fit your operation. Load planning consolidates open Delivery Notes and Sales Orders by lane, weight, and volume onto a truck; a Kanban-style dispatch board assigns driver and vehicle and moves trips through Draft → Planned → In Transit → Delivered → Settled. Rate management holds distance/weight/zone-based tariffs for both external carriers and owned vehicles, so the planner sees a true cost comparison before committing a load.
Technically, the app is wired the ERPNext way. hooks.py doc events (on_submit, on_update, validate) drive automation — submitting a trip books a freight accrual Journal Entry against a configurable expense/accrual account and reconciles it on carrier settlement, so freight always hits the GL in the right period. Scheduler events run nightly to flag overdue-in-transit trips and stale PODs. Server scripts enforce capacity and rate-lookup logic; client scripts add the in-form dispatch actions and validations planners actually use. Everything is exposed over the standard Frappe REST API plus purpose-built @frappe.whitelist() methods, so a driver mobile app or a customer portal can post milestone updates and POD photos without bypassing permissions. We build against ERPNext/Frappe v15 and forward-test on v16.
Because this is build-to-order, nothing ships until we agree on scope. It starts with a scoping call where we map your lanes, fleet, carrier contracts, and how freight should post to your chart of accounts. We then build your version of the app, deliver it on a staging bench for UAT against your real data, and only cut over to production once you sign off. Typical delivery is 2–4 weeks from confirmed scope, depending on how many rate structures and integrations are in play. You receive the full source in a Git repository — this is your app, not a locked black box, and it runs inside your own ERPNext instance.
Runs daily dispatch across multiple lanes and needs to consolidate orders into truckloads and assign owned vehicles from one board inside ERPNext, instead of juggling spreadsheets and phone calls.
Coordinates a mix of contracted carriers and an owned fleet, and needs rate comparison, trip assignment, and POD tracking that ties every shipment back to the delivery and the customer.
Wants freight cost to accrue to the general ledger when the trip runs — not weeks later — and needs accrual-vs-actual settlement reconciliation tied to carrier invoices in ERPNext.
Owns the ERPNext instance and requires a clean, upgrade-safe Frappe app with proper permissions, API access, and full source in Git rather than untracked in-place customizations.
Buy the license on ecosire.com and download the Transportation Management System (TMS) for ERPNext 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 Transportation Management System (TMS) for ERPNext 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 |
|---|---|---|---|---|
| Transport data model | First-class DocTypes for load plan, trip, rate card, freight, POD | Whatever you build from scratch | Fixed model, may not fit your lanes | |
| Load consolidation | Groups orders by lane, weight, volume with capacity checks | Possible, but you design and test it | Basic or absent | |
| Carrier vs fleet rates | Distance/weight/zone cards with lowest-cost lookup | Hand-built rate logic | Often carrier-only, no owned fleet | |
| Freight accrual to GL | Journal Entry on submit, reconciled at settlement | You wire the accounting hooks | Rarely posts to the ledger | |
| POD & milestones | Timestamped milestones, photo/signature, exception codes | Build the capture flow yourself | Varies; often limited | |
| API for drivers/mobile | Whitelisted methods + Frappe REST, permission-aware | You expose and secure endpoints | May be closed or add-on priced | |
| Source & ownership | Full source handed over in Git — your app | You own it, but bear all build risk | Often closed source / licensed | |
| Upgrade safety | Separate Frappe app, v15/v16, staging UAT + rollback | Depends on your discipline | Depends on vendor cadence |
No. This is build-to-order. ECOSIRE scopes it to your lanes, fleet, carrier contracts, and chart of accounts, then builds, installs, and supports it. You do not download a generic app — you get your version, with the full source handed over in Git.
Typically 2–4 weeks from confirmed scope. The range depends on how many rate structures, integrations, and workflow states you need. We agree on the scope in a scoping call first, then build; nothing ships until the scope is confirmed.
We build and test against Frappe/ERPNext v15 and forward-test on v16. It installs as a standard Frappe app on your bench (`bench get-app` then `bench install-app`), so it stays isolated from ERPNext core and survives upgrades cleanly.
On trip submit, a `hooks.py` `on_submit` event books a freight accrual Journal Entry to a configurable accrual/expense account, so cost hits the general ledger in the correct period. When the carrier invoice arrives, the settlement step reconciles accrual against actual so you can see the variance.
Yes. The app exposes whitelisted REST endpoints (`@frappe.whitelist()`) plus the standard Frappe REST API, so a mobile app or portal can post milestone timestamps and POD photos/signatures. All calls respect ERPNext permissions — nothing bypasses the role layer.
Every engagement includes a post-go-live support window for bug fixes and configuration adjustments. Because you receive the full source in a Git repository, your own team can also extend it, or you can retain ECOSIRE for enhancements and version upgrades.
It ships as a separate Frappe app rather than in-place edits to ERPNext core, and we deliver on a staging bench for UAT with a documented rollback plan before production cutover. That keeps your ERPNext upgrade path clean and your customizations intact.
A build-to-order Transportation Management System for ERPNext that plans loads, runs a dispatch board, manages carrier and owned-fleet rates, accrues freight cost, and captures proof of delivery — all inside your ERPNext instance. ECOSIRE scopes, builds, installs, and supports it for you.