A build-to-order Frappe app that wires ERPNext Delivery Notes into the eShipz aggregation platform, giving your fulfillment team one workflow to rate-shop 200+ couriers, print labels and manifests, push branded tracking, and work NDR/RTO exceptions without leaving ERPNext. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that wires ERPNext Delivery Notes into the eShipz aggregation platform, giving your fulfillment team one workflow to rate-shop 200+ couriers, print labels and manifests, push branded tracking, and work NDR/RTO exceptions without leaving ERPNext.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
If you sell across marketplaces and your own storefront out of ERPNext, the fulfillment desk is where the day gets lost. ERPNext core can raise a Delivery Note and record a tracking number in a text field, but it has no native concept of carrier rate-shopping, AWB generation, label/manifest printing, or the reverse-logistics reality of South-Asian e-commerce — non-delivery reports (NDR) and return-to-origin (RTO). Teams paper over this with the eShipz web dashboard in a second browser tab, re-keying addresses and order lines by hand, exporting CSVs, and reconciling shipment status against ERPNext manually. That double-entry is slow, error-prone, and it means the ERP never holds the true state of a shipment.
eShipz REST API integration via server-side whitelisted methods (`@frappe.whitelist()`), with credentials stored in an `eShipz Settings` Single DocType and never exposed to the client
New `eShipz Shipment` DocType linked to the Delivery Note, holding AWB number, courier partner, label PDF attachment, and a per-status tracking timeline
Rate-shopping across 200+ aggregated courier partners at booking time, with configurable courier preference rules (by weight, pincode serviceability, COD/prepaid, or channel)
`hooks.py` doc events on Delivery Note `validate` and `on_submit` to enforce address/weight completeness and trigger AWB generation automatically or on-demand
Client Script adding 'Book Shipment', 'Cancel AWB', and 'Print Label' buttons directly on the Delivery Note form
Bulk manifest generator: select many delivery notes and produce one carrier manifest plus a batched, print-ready label PDF for the day's dispatch
We build a proper Frappe app — its own installable module with a clean hooks.py, not a pile of ad-hoc Server Scripts — that makes eShipz a first-class part of the ERPNext order-to-delivery flow. The app ships new DocTypes such as eShipz Settings (a Single DocType holding your API credentials, default warehouse pickup addresses, and courier preference rules) and eShipz Shipment (a child of the Delivery Note that stores the AWB number, courier partner, label PDF, and a live status timeline). Doc events registered in hooks.py — on_submit of the Delivery Note, validate for address completeness — call whitelisted server-side methods that hit the eShipz REST API to fetch live rates, book the shipment against your chosen or rule-selected courier, and pull back the AWB and label. Credentials never touch the browser; every outbound call runs server-side under a dedicated eShipz Manager role profile so warehouse staff get exactly the buttons they need and nothing more.
Around that core we build the operational surface your team actually works from. A Client Script adds a "Book Shipment" and "Print Label" action to the Delivery Note; a bulk manifest tool lets a packer select many delivery notes and generate a single carrier manifest and a batched label PDF for the day's dispatch. Real-time tracking is handled by a Scheduler Event (a scheduler_events cron entry) that polls eShipz webhooks/status for in-transit AWBs, writes each status change onto the shipment timeline, and can drive a branded, customer-facing tracking page rendered by a Frappe web view on your own domain. The NDR & RTO management dashboard is a Frappe Workspace with number cards and a list view of failed-delivery and return shipments, so your team can re-attempt, update the delivery instruction back to the courier, or flag an RTO — all as auditable actions inside ERPNext.
Because this is build-to-order, nothing is guessed. We start from a short scoping call to confirm your courier mix, marketplace channels, warehouse/pickup structure, and which order documents trigger a booking. We then build against your ERPNext version (Frappe/ERPNext v15 or v16), test the full flow on a staging bench with your real courier accounts in eShipz sandbox where available, run UAT with your fulfillment team, and only then install on production behind a rollback plan. Typical delivery is 2-4 weeks from confirmed scope, and you receive the full git repository and source so the app is yours to keep, audit, and extend.
Runs fulfillment for a brand selling across its own store plus Amazon, Flipkart, Meesho and similar, all consolidated into ERPNext. Needs to rate-shop couriers per order and stop re-keying every shipment into the eShipz dashboard by hand.
Ships on behalf of several client brands from shared warehouses. Needs role-scoped booking, bulk daily manifests per courier, and a clean audit trail of NDR/RTO actions per client inside ERPNext.
Works the packing floor and wants one screen: pick delivery notes, generate a batched label PDF and manifest, and hand exceptions (failed delivery, returns) to the team without touching an external tool.
Owns post-purchase communication and wants a branded tracking page on the company domain plus a live NDR dashboard so support can proactively re-attempt deliveries before customers complain.
Buy the license on ecosire.com and download the eShipz Logistics Automation Connector 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 eShipz Logistics Automation Connector 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 |
|---|---|---|---|---|
| Courier coverage | 200+ partners via eShipz, rate-shopped at booking | Whatever you integrate one carrier at a time | Often a fixed set of carriers the app hard-wired | |
| ERPNext integration depth | Proper Frappe app: DocTypes, `hooks.py` events, whitelisted methods | Depends entirely on your developer's discipline | Varies; many rely on brittle Server Scripts | |
| NDR / RTO management | Dedicated Workspace dashboard with re-attempt and RTO actions | Build it yourself from scratch | Rarely covered beyond basic status | |
| Bulk labels & manifests | Multi-select delivery notes → batched label PDF + carrier manifest | Only if you scope and build it | Sometimes, single-carrier only | |
| Branded tracking page | Frappe web view on your own domain from the status timeline | Possible but extra effort | Usually redirects to aggregator branding | |
| Fit to your process | Scoped to your channels, warehouses, and courier rules | Fully bespoke but you carry all the risk | You adapt to the app's assumptions | |
| Ownership & source | Full git repo and source handed over — yours to keep | You own it, and all the maintenance | Licensed; source usually closed | |
| Support & upgrades | Post-go-live window + optional v15/v16 upgrade retainer | Only what you staff internally | Vendor-dependent, often community-only |
This is a build-to-order app, not an instant download. Typical delivery is 2-4 weeks from confirmed scope, depending on your courier mix, number of sales channels, and how customized the NDR/RTO and tracking-page workflows need to be. The scoping call pins down the exact timeline before any build starts.
Yes. eShipz is a third-party shipping aggregation platform, and you provide your own eShipz account plus API credentials (and your onboarded courier partners within it). The connector authenticates to eShipz on your behalf; we do not resell eShipz or its courier contracts.
We build and test against Frappe/ERPNext v15 or v16. Tell us your exact version during scoping and we target that branch. If you are on an older version we will advise on an upgrade path rather than ship something unsupported.
Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full git repository and source, your own team can maintain and extend the app afterward; we also offer optional ongoing support and version-upgrade retainers separately.
It is a proper Frappe app with its own module and `hooks.py`, so it stays cleanly separated from ERPNext core rather than patching it. When you upgrade ERPNext, the app is re-tested and adjusted for any framework API changes — that work is scoped as part of a support retainer or a small upgrade engagement.
Yes. At booking time the app rate-shops across your eShipz courier partners and applies preference rules you define — by weight, pincode serviceability, COD vs prepaid, sales channel, or cost — so bookings can be fully automated on Delivery Note submit or left as a one-click choice for the operator.
Yes. Tracking is rendered by a Frappe web view served from your ERPNext site, styled to your brand and driven from the shipment status timeline. Customers see your domain and branding, not an eShipz-branded redirect.
A build-to-order Frappe app that wires ERPNext Delivery Notes into the eShipz aggregation platform, giving your fulfillment team one workflow to rate-shop 200+ couriers, print labels and manifests, push branded tracking, and work NDR/RTO exceptions without leaving ERPNext.