A build-to-order Frappe app that turns ERPNext shipments into branded, customer-facing tracking pages with unified multi-carrier status, proactive WhatsApp/SMS/email notifications, and self-service returns. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 site. 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 turns ERPNext shipments into branded, customer-facing tracking pages with unified multi-carrier status, proactive WhatsApp/SMS/email notifications, and self-service returns. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 site.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Most ERPNext D2C brands lose the post-purchase moment. Once a Delivery Note is submitted, the customer's experience jumps straight to the carrier's generic tracking page (with a competitor's logo and ads), while your support inbox fills with "where is my order?" tickets. ERPNext core tracks the fulfillment internally, but it has no customer-facing tracking experience, no unified view across DHL, FedEx, Aramex, Bluedart, Shippo or a local 3PL, and no branded proactive notification layer. The native portal shows documents, not a delivery journey — so brands bolt on Aftership-style SaaS that re-charges per shipment and keeps your customer data on someone else's platform.
Custom `Shipment Tracking` DocType linked to `Delivery Note` / `Shipment`, storing carrier, tracking number, canonical status, and a checkpoint child table
Unified multi-carrier adapter layer that normalizes DHL, FedEx, Aramex, Bluedart, Shippo/EasyPost, and local 3PL status codes into one canonical state machine
`hooks.py` `doc_events` on `Delivery Note` `on_submit` that auto-creates the tracking record and enrolls the shipment
`scheduler_events` background job (configurable 15-30 min cadence) that polls carrier APIs, appends checkpoints, and updates ETA via `frappe.enqueue`
Branded, mobile-first tracking page served as a Frappe web/portal route with your logo, colors, fonts, and RTL-aware localization
Passwordless access via signed, expiring tracking tokens — no customer login required, no data leakage across orders
We build a proper Frappe app (its own module, installed via bench get-app / bench install-app) that lives inside your ERPNext site and owns the tracking experience end to end. A new Shipment Tracking DocType links to the Delivery Note / Shipment and stores the carrier, tracking number, current status, checkpoints (as a child table), and computed ETA. A hooks.py doc_events handler fires on Delivery Note on_submit to create the tracking record and enroll the shipment, and a scheduler_events job (every 15-30 min) polls each carrier's API, normalizes their status codes into a single canonical state machine (Label Created → In Transit → Out for Delivery → Delivered / Exception), and appends checkpoints. Customers land on a branded, mobile-first, localized tracking page rendered as a Frappe web page / portal route — your logo, colors, fonts, and language, keyed by a signed tracking token (no login required), served over your own domain.
On top of that we wire the notification layer: server-side triggers send email (Frappe Email Queue), SMS, and WhatsApp (via your provider — Twilio, Meta Cloud API, or a local gateway) on each meaningful status transition, using editable Frappe templates so marketing controls the copy in every language. The page displays the estimated delivery date, an interactive checkpoint timeline, and a "Start a return" action that creates a Return / Material Request-backed RMA in ERPNext with your rules (return window, eligible items, reason codes) — no email tennis. Everything is exposed through whitelisted methods and the Frappe REST API so your storefront, mobile app, or Shopify/WooCommerce front end can embed live status. Access is governed by Frappe permissions and a dedicated role profile so support agents see everything and customers see only their signed token.
Because this is build-to-order, nothing ships as a one-click marketplace download. We start with a short scoping call to lock your carriers, notification channels, return rules, languages, and branding, then build against your actual ERPNext v15 or v16 site. Typical delivery is 2-4 weeks from confirmed scope. You get the installable source for your version, UAT on a staging bench with a rollback plan, install and configuration on your site, documentation, a training session, and a post-go-live support window — plus the git repository handed over so it is genuinely yours.
Runs fulfillment on ERPNext and wants every post-purchase touchpoint under the brand, not the carrier's page — needs unified tracking, proactive alerts, and fewer 'where is my order' tickets.
Owns retention and CSAT for an online brand; wants branded, localized tracking pages and multi-channel WhatsApp/SMS/email updates that feel premium and drive repeat purchases.
Responsible for the bench and site; wants a clean, upgrade-safe Frappe app with proper DocTypes, permissions, scheduler jobs, and REST access rather than a third-party SaaS holding customer data.
Connects ERPNext to a Shopify/WooCommerce or headless storefront; needs whitelisted REST endpoints to embed live shipment status and returns into the existing customer account area.
Buy the license on ecosire.com and download the Branded Order Tracking Portal 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 Branded Order Tracking Portal 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 |
|---|---|---|---|---|
| Branded tracking page | Fully branded, localized page on your domain, built to your design | Possible but you design and build it from scratch | Branded but on the vendor's platform, template-limited | |
| Multi-carrier normalization | Unified canonical state machine across all your carriers | You build and maintain each adapter yourself | Broad carrier list but generic status mapping | |
| WhatsApp/SMS/email alerts | All three, template-driven, per-locale, on status transitions | Built to spec but full dev effort per channel | Usually email/SMS; WhatsApp often a paid add-on | |
| Self-service returns | RMA created in ERPNext with your rules from the tracking page | Custom-built to your return workflow | Often a separate product or higher tier | |
| Data ownership | All data stays inside your ERPNext site | Yours entirely | Customer data held on the SaaS vendor's platform | |
| Cost model | One-time build, no per-shipment fee, code handed over | High one-time dev cost plus ongoing maintenance | Recurring per-shipment or tiered subscription | |
| ERPNext integration depth | Native DocTypes, hooks, scheduler, REST — upgrade-safe | As deep as you build it | External sync via API, lives outside ERPNext | |
| Support & ownership | Post-go-live window, git handover, optional retainer | Depends on your in-house team's bandwidth | Vendor support, but you never own the code |
This is a build-to-order product, not an instant marketplace download. After a short scoping call to confirm your carriers, notification channels, return rules, languages, and branding, we build against your actual ERPNext site. Typical delivery is 2-4 weeks from confirmed scope, including UAT on staging before go-live. Complex carrier integrations or many languages can extend that, and we tell you before you commit.
We build a normalized adapter layer, so any carrier with a tracking API can be added — commonly DHL, FedEx, UPS, Aramex, Bluedart, and aggregators like Shippo/EasyPost, plus local/regional 3PLs. We confirm your exact carrier list during scoping. The app targets Frappe/ERPNext v15 and v16; we pin and test against your specific version.
Every build includes a post-go-live support window for bug fixes and adjustments. Because we hand over the git repository, you own the code and can maintain it yourself or retain us. We keep the app upgrade-safe for ERPNext point releases, and we offer ongoing support/retainer plans if you want us to manage v15→v16 upgrades and carrier API changes over time.
We build it as a standalone Frappe app with its own module, DocTypes, and hooks — not as ad-hoc customizations layered onto core doctypes. Business logic lives in `hooks.py`, server scripts, and whitelisted methods, so it upgrades cleanly. We test against your target version on a staging bench and document any version-specific notes in the handover.
No. Tracking pages use signed, expiring tokens embedded in the URL, so a customer clicks the link in their email/SMS/WhatsApp and lands directly on their branded tracking page. Tokens are scoped to a single shipment, so one customer can never see another's order. Support agents, by contrast, get a role-based internal view of all shipments inside ERPNext.
Yes. All tracking and returns logic is exposed through whitelisted `@frappe.whitelist()` methods and the Frappe REST API, so your existing storefront or mobile app can pull live shipment status and initiate returns without leaving your site. We scope the exact endpoints and auth model with your ecommerce/integrations team during discovery.
Yes on both. Unlike SaaS tracking tools that keep your shipment and customer data on their platform and bill per shipment, everything here runs inside your own ERPNext site, and the git repository is handed over to you at completion. There is no per-shipment fee and no vendor lock-in.
A build-to-order Frappe app that turns ERPNext shipments into branded, customer-facing tracking pages with unified multi-carrier status, proactive WhatsApp/SMS/email notifications, and self-service returns. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 site.