A build-to-order Frappe app that fans out a single rate request to every carrier account you have connected in ERPNext, then applies your business rules to auto-select the cheapest, fastest, or best-value option at checkout and on the Delivery Note. Scoped, built, installed, and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Frappe app that fans out a single rate request to every carrier account you have connected in
ERPNext, then applies your business rules to auto-select the cheapest, fastest, or best-value option at checkout and on the Delivery Note. Scoped, built, installed, and supported by ECOSIRE.
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.
If you run more than one carrier account, ERPNext gives you a Shipping Rule engine that resolves to a flat or slab-based charge from a table you maintain by hand — it does not call your carriers, does not know today's fuel surcharge, and cannot compare DHL against Aramex against your local courier for a specific parcel. The result is either overpaying because you default everything to one carrier, or a person tabbing between four carrier portals copying quotes into a Sales Order. Neither scales past a few dozen shipments a day, and neither reflects dimensional weight, zone bands, or the negotiated discounts sitting in your carrier contracts.
ECOSIRE builds the Multi-Carrier Rate Shopping Engine as a proper Frappe app (its own module, DocTypes, and hooks.py wiring) installed on your ERPNext v15 or v16 bench. At its core is a Carrier Rate Request orchestration layer: given an origin, destination, weight, and package dimensions, it fans out concurrently to every carrier connector you have enabled and normalizes each response into comparable Carrier Rate Quote rows (service level, transit days, base cost, surcharges, landed total). A Rate Shopping Rule DocType lets you define selection policy per company, warehouse, customer group, or item group — cheapest, fastest, or best-value with a configurable transit-vs-cost weighting — plus hard constraints like "never ship perishables on ground" or "cap markup at 15%". Dimensional weight is computed from your carrier divisors and compared against actual weight so quotes match what the carrier will actually bill.
The engine hooks into the documents where the decision actually happens. A client script surfaces a "Shop Rates" action on Quotation, Sales Order, and Delivery Note so an agent sees ranked live quotes inline; a Delivery Note validate/before_submit doc event can auto-assign the winning carrier, write the service level, and stamp the chosen rate and margin. Customer-facing markup is applied through a rules layer so the rate you show at checkout already includes your handling margin, while the raw carrier cost is retained on the quote for reconciliation. Everything is exposed over the Frappe REST API through whitelisted methods (@frappe.whitelist()), so your storefront, POS, or a headless checkout can request get_rates() and post back the selection without touching the carrier APIs directly. A scheduler event refreshes cached zone/fuel tables and expires stale quotes, and all access is gated by Frappe role profiles and permission rules so pricing logic and carrier credentials stay locked down.
Because this is build-to-order, we start from your actual carrier mix and contracts rather than a generic template. After a short scoping call we confirm which carriers, service levels, and selection rules you need, then build against your ERPNext version, run it through UAT on a staging bench, and hand over installable source and a Git repository. Typical delivery is 2–4 weeks from confirmed scope depending on how many carrier connectors and edge-case rules are in play. You get the code, the docs, a training session, and a post-go-live support window — not a black box.
Runs three or more live carrier accounts and wants ERPNext to pick the cheapest or fastest option automatically instead of defaulting everything to one courier or hand-copying quotes from carrier portals.
Owns the Delivery Note process and needs carrier auto-assignment, service-level rules and dimensional-weight accuracy so packers stop guessing and shipments go out on the right service every time.
Needs live, marked-up shipping rates surfaced at checkout via the Frappe REST API so the customer sees an accurate landed price and the business protects its handling margin.
Wants raw carrier cost retained alongside the customer-facing rate and an audit trail from shipment back to quote, to reconcile carrier invoices and review which carriers actually hit their SLAs.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Live carrier rate comparison | One request fans out to all connected carriers and ranks them | Possible but you build the orchestration yourself | Often single-carrier or a fixed shortlist | None — Shipping Rules are static hand-maintained tables |
| Auto-selection logic | Cheapest/fastest/best-value rules per company, warehouse, customer | Whatever you code and maintain | Basic or cheapest-only, limited scoping | No selection — one rule resolves to one charge |
| Dimensional weight | Per-carrier divisors, billed on greater of actual vs volumetric | Must be implemented and tested per carrier | Sometimes supported, often generic | Not modeled |
| Delivery Note auto-assignment | `before_submit` hook stamps winning carrier, service, rate | Custom doc events you write and own | Rarely wired into Delivery Note | Manual carrier entry |
| Customer-facing markup | Margin layer with raw cost retained for reconciliation | Build your own markup and audit fields | Limited or no margin handling | Only what a static Shipping Rule charges |
| API / headless access | Whitelisted REST methods for storefront, POS, headless | You expose and secure the endpoints | Varies; may be UI-only | No live rate API |
| Fit and ownership | Scoped to your carriers + ERPNext version, source + Git handed over | Fully yours but you carry all the build risk | Generic; you adapt to its assumptions | Fits nothing beyond flat tables |
| Support model | Install, UAT, training, post-go-live support window | Your team supports it | Vendor support, upgrade risk on your version | Community/self-support |
This is build-to-order, so it is built for your carrier mix and ERPNext version rather than downloaded ready-made. Typical delivery is 2–4 weeks from confirmed scope, depending on how many carrier connectors and edge-case selection rules are involved. We confirm the exact timeline in writing after the scoping call.
The engine is carrier-agnostic — it fans out to whatever carrier connectors you have installed and enabled in ERPNext. During scoping we confirm your carriers (for example DHL, FedEx, Aramex, UPS, or a regional/local courier). If a carrier you use has no existing connector, we quote building that connector as part of the same engagement.
No. ECOSIRE designs, builds, installs and supports this specifically for your ERPNext v15/v16 bench, your carrier contracts, and your selection rules. There is no instant download — you are buying a scoped build plus installation, documentation, training and support, and you receive the full source and Git repository.
Every build includes a post-go-live support window for bug fixes and configuration tweaks. Because you receive installable source and the Git repository, your own team can maintain and extend it. For version upgrades (for example a v15-to-v16 migration) or new carriers and rules after the support window, we offer a maintenance arrangement or scoped follow-on work.
It runs alongside ERPNext core rather than replacing it. Native Shipping Rules stay available; the rate shopping engine adds live multi-carrier comparison and auto-selection on Quotation, Sales Order and Delivery Note through client scripts and doc-event hooks, so nothing in standard ERPNext is patched destructively.
Yes. Rate shopping is exposed over the Frappe REST API through whitelisted methods such as `get_rates()` and `select_rate()`, so a web storefront, a headless checkout, or ERPNext POS can request live marked-up rates and post back the customer's selection without ever handling carrier credentials themselves.
The engine computes dimensional (volumetric) weight from each carrier's divisor and bills against the greater of actual and dimensional weight, resolves the correct zone and weight band, and includes surcharges in the landed total. We validate the numbers against your real carrier invoices during UAT on staging before go-live.

A build-to-order ERPNext app that lets 3PL operators bill each client for storage, handling, and value-added services with strict multi-owner inventory segregation and automated periodic invoicing. ECOSIRE builds, installs, and supports it for your warehouse.

A build-to-order ERPNext app that turns demand signals, supplier lead times and MOQs into an optimized, simulate-before-you-commit purchase order plan. ECOSIRE scopes, builds, installs and supports it on your bench.

A bin-level warehouse management layer for ERPNext that adds directed putaway, wave and zone picking, and FEFO/FIFO enforcement. ECOSIRE builds it to your operation's rules, installs it on your Frappe bench, and supports it after go-live.

A build-to-order Frappe app that scores every ERPNext order against your live carrier mix and recommends the optimal carrier and service by cost, transit time, lane reliability, and RTO risk. ECOSIRE designs, builds, installs, and supports it for your specific carriers and rules.
A build-to-order Frappe app that fans out a single rate request to every carrier account you have connected in ERPNext, then applies your business rules to auto-select the cheapest, fastest, or best-value option at checkout and on the Delivery Note. Scoped, built, installed, and supported by ECOSIRE.