A custom-built ERPNext app that calculates customer-facing shipping charges by zone, weight, value, quantity and method, with free-shipping thresholds and per-channel rules. ECOSIRE scopes, builds, installs and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A custom-built ERPNext app that calculates customer-facing shipping charges by zone, weight, value, quantity and method, with free-shipping thresholds and per-channel rules. ECOSIRE scopes, builds, installs and supports it for your instance.
Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.
ERPNext ships with the Shipping Rule DocType, but it only knows a single condition axis: it matches an order total (or net weight) against a band and applies one charge. It cannot layer zone, weight and cart value together, it has no concept of a free-shipping threshold that varies by region, it does not model dimensional (volumetric) weight, and it applies the same logic to every sales channel and customer group. Webshop merchants running real fulfilment quickly hit that ceiling: a flat rule that is fair for a light, local order overcharges a bulky remote one, or silently loses margin on the reverse. Teams end up hand-editing Sales Taxes and Charges rows or maintaining a spreadsheet of postage bands outside ERPNext, which is exactly the kind of manual, error-prone work an ERP is supposed to remove.
New `Shipping Zone` DocType mapping country, state and pincode/postcode ranges (including wildcard and range syntax) to named zones with fallback/default-zone handling
`Zone Rate Table` with child-table tiers priced by weight break, order-value break and quantity break, evaluated in a deterministic resolution order
Dimensional (volumetric) weight support: billable weight computed as `max(actual_weight, L*W*H / dim_factor)` from item dimension fields, with a configurable divisor per carrier
Per-zone and per-method free-shipping thresholds (by cart value or weight) plus flat-rate and base-plus-per-kg pricing models
Per-sales-channel and per-`Customer Group` rate overrides with an explicit priority resolver so the most specific matching rule wins predictably
Whitelisted server-side rating method (`@frappe.whitelist()`) callable from the Webshop, the desk, and external storefronts via the Frappe REST API
We build a proper Frappe app (its own module, installable via bench get-app / bench install-app) that adds a real rating engine on top of ERPNext. The core is a set of new DocTypes: a Shipping Zone mapping countries, states and pincode/postcode ranges to a zone; a Shipping Method (standard, express, pickup, courier account); and a Zone Rate Table with child rows expressing tiered pricing by weight break, order value break and quantity, plus flat-rate and free-shipping-threshold fields per zone and per method. Rates are resolved at quote/order time by a whitelisted server-side method that reads the cart's destination address, computes billable weight as max(actual_weight, volumetric_weight) from item dimensions, selects the matching zone and tier, and returns the applicable methods with prices. Because rate selection lives in server script logic wired through hooks.py doc events (validate / before_save on Quotation and Sales Order) and a whitelisted API endpoint, the same numbers are returned whether the request comes from the ERPNext Webshop, the desk, or an external storefront calling the Frappe REST API.
On top of the engine we build the operational layer your team actually touches: a rule-priority resolver so per-customer-group and per-channel overrides beat the default zone rate deterministically; role-based permissions and a role profile so shipping managers can edit rate tables without touching accounting; client scripts on the sales form that show the live-calculated shipping options and let a CSR override with a logged reason; and optional scheduler events (via scheduler_events in hooks.py) to refresh carrier fuel/surcharge factors or expire seasonal free-shipping campaigns automatically. Everything is delivered as versioned source in a git repository, targeting Frappe/ERPNext v15 with a v16 compatibility path, so it survives bench update rather than being a fragile in-desk customization.
Because this is a build-to-order product, nothing is a black-box download. We start with a short scoping call to capture your zones, carriers, weight/dimension data quality, channels and the exact free-shipping rules you want, then we build against that specification, demonstrate it on a staging bench for UAT, and only cut over to production once you sign off. Typical delivery is 2 to 4 weeks from confirmed scope depending on how many zones, carriers and channel-specific rules are involved. You receive the full source, install and configuration, documentation, a training session and a post-go-live support window — you own the code and can extend it yourself or have us maintain it.
Runs storefront checkout on ERPNext Webshop and needs shipping charges that reflect real zone, weight and cart-value economics instead of one flat `Shipping Rule` — so customers see fair, accurate postage and the business stops leaking margin on bulky or remote orders.
Owns carrier relationships and postage bands, currently kept in spreadsheets. Wants those rate cards, dimensional-weight factors and free-shipping campaigns maintained inside ERPNext with an audit trail, so pricing is consistent across desk orders and the webshop.
Responsible for keeping the instance upgrade-safe. Prefers a versioned Frappe app with clean `hooks.py` wiring and a git repo over in-desk hacks, so shipping logic survives `bench update` and can be reviewed, tested and extended.
Sells through the ERPNext Webshop plus external storefronts calling the Frappe REST API, and needs one rating engine returning identical shipping quotes to every channel, with per-channel and per-customer-group overrides for wholesale versus retail.
Compre la licencia en ecosire.com y descargue la aplicación ZIP de Shipping Rules & Zone-Based Rate Manager for ERPNext desde el panel de su cuenta.
Extraiga el ZIP en la carpeta de aplicaciones de su banco o ejecute `bench get-app` con la ruta a la aplicación extraída.
Ejecute `bench --site SITE_NAME install-app APP_NAME` seguido de `bench migrar` para instalar Shipping Rules & Zone-Based Rate Manager for ERPNext y aplicar su esquema.
Abra la configuración de licencia de ECOSIRE en su sitio y active su clave de licencia. Requiere las aplicaciones gratuitas ecosire_connect y ecosire_license_client.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Odoo Nativo |
|---|---|---|---|---|
| Rate axes (zone + weight + value together) | All axes combined in one deterministic resolver | Possible but you design the model yourself | Usually one or two axes, rarely layered | |
| Per-region free-shipping thresholds | Per-zone and per-method thresholds built in | Buildable, adds to timeline and cost | Often a single global threshold | |
| Dimensional / volumetric weight | Billable = max(actual, volumetric), configurable divisor | Only if you spec and build it | Rarely included | |
| Per-channel & customer-group overrides | Priority resolver, most-specific rule wins | Requires bespoke rule engine | Typically single global ruleset | |
| Fit to your zones & carriers | Scoped to your data, built to spec | Fully bespoke, at full bespoke cost | Generic; you adapt to its model | |
| Upgrade safety | Versioned Frappe app, survives bench update | Depends on your discipline | Depends on vendor's release cadence | |
| Support & code ownership | Support window + full git repo handover | You own and staff it entirely | Vendor support, no source access | |
| Delivery model | Build-to-order, 2-4 wks from confirmed scope | Weeks-to-months, scoped from zero | Instant install, generic behavior |
No. ERPNext's native `Shipping Rule` matches a single axis (order total or net weight) to one band and applies one charge. It can't combine zone, weight and value together, has no per-region free-shipping thresholds, no dimensional-weight, and no per-channel or per-customer-group logic. We build a dedicated rating engine with `Shipping Zone`, `Zone Rate Table` and method DocTypes that layers all of those and injects the result into the sales document automatically.
This is build-to-order, not an instant download. Typical delivery is 2 to 4 weeks from confirmed scope, depending on the number of zones, carriers and channel-specific rules. We start with a short scoping call, build against a written specification, demonstrate on a staging bench for your UAT, and cut over to production only after you sign off.
We target Frappe/ERPNext v15 with a v16 compatibility path. The work is delivered as a proper Frappe app with its own module, so it installs via `bench install-app` and survives `bench update` rather than being a fragile in-desk customization. We confirm your exact version and hosting (Frappe Cloud, self-hosted, or ECOSIRE-managed) during scoping.
Yes. Rate resolution lives in a whitelisted server-side method exposed through the Frappe REST API, so any external storefront can POST a destination and cart and receive the same shipping options the Webshop and desk see. Rate selection is also wired into `Quotation` and `Sales Order` via `hooks.py` doc events, so orders created any way get consistent charges.
Every build includes a post-go-live support window for defect fixes and configuration questions. Because you receive the full git repository, you can extend or self-maintain the code, or contract ECOSIRE for an ongoing maintenance and enhancement arrangement — including version upgrades when you move to a newer ERPNext release.
Yes. We ship a role profile and DocType permissions so shipping managers edit zones, tiers and free-shipping thresholds directly in the desk without touching accounting or the item master. For large rate cards we provide CSV import/export templates so hundreds of zone-tier rows can be maintained in a spreadsheet and re-uploaded with a validation dry-run.
The engine computes billable weight as the greater of actual weight and volumetric weight, derived from item L×W×H dimensions divided by a configurable carrier dimensional factor. That billable weight then drives tier selection in the zone rate table, so bulky-but-light shipments are priced the way carriers actually charge for them.
A custom-built ERPNext app that calculates customer-facing shipping charges by zone, weight, value, quantity and method, with free-shipping thresholds and per-channel rules. ECOSIRE scopes, builds, installs and supports it for your instance.