Skip to main content
Branded Order Tracking Portal for ERPNext — A build-to-order Frappe app that turns ERPNext shipments into branded, customer-f — 1/1Illustrative preview

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.

What is Branded Order Tracking Portal for ERPNext?

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 $999.00 USD; request a quote for a scoped proposal.

Key Features

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
Estimated delivery date computation with an interactive, timezone-aware checkpoint timeline
Multi-channel notifications on status transitions: email (Frappe Email Queue), SMS, and WhatsApp via Twilio, Meta Cloud API, or a local gateway
Editable Frappe notification templates with per-locale copy so marketing controls messaging across all languages
Self-service returns action that creates an RMA (Return / Material Request-backed) in ERPNext honoring return window, eligible items, and reason codes
Whitelisted `@frappe.whitelist()` methods + REST API endpoints so a headless storefront, mobile app, or Shopify/Woo front end can embed live status
Dedicated role profile and Frappe permission rules separating support-agent visibility from token-scoped customer access
Client Script enhancements on `Delivery Note` giving fulfillment staff a live status badge and manual re-sync button
Delivery-exception detection that flags stuck/failed shipments and can auto-alert your support desk (optional ERPNext `ToDo`/ticket creation)
Configurable via a single `Tracking Settings` DocType (carriers, credentials, cadence, channels, branding) with no code edits for day-to-day changes

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

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.

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 one working week 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.

What you get

  • Installable Frappe app source code built and pinned for your ERPNext/Frappe v15 or v16 site
  • Installation and configuration on your site (staging then production), including carrier credentials, notification providers, and branding wiring
  • Technical documentation: DocType schema, hooks, scheduler jobs, whitelisted methods/REST endpoints, and carrier adapter architecture
  • End-user and admin guide plus a live training session for support and fulfillment teams
  • UAT on a staging bench with sign-off checklist and a documented rollback plan
  • Post-go-live support window for bug fixes and adjustments after launch
  • Git repository handover so the code is fully owned by you
  • Configuration workbook capturing carriers, return rules, channels, and localized templates as delivered

Who this is for

D2C brand operations lead

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.

Head of customer experience

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.

ERPNext system administrator / IT lead

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.

Ecommerce/integrations manager

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.

How Branded Order Tracking Portal for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Branded tracking pageFully branded, localized page on your domain, built to your designPossible but you design and build it from scratchBranded but on the vendor's platform, template-limitedNone — customer sees the raw carrier page
Multi-carrier normalizationUnified canonical state machine across all your carriersYou build and maintain each adapter yourselfBroad carrier list but generic status mappingNo carrier tracking abstraction at all
WhatsApp/SMS/email alertsAll three, template-driven, per-locale, on status transitionsBuilt to spec but full dev effort per channelUsually email/SMS; WhatsApp often a paid add-onStandard email notifications only, not shipment-journey aware
Self-service returnsRMA created in ERPNext with your rules from the tracking pageCustom-built to your return workflowOften a separate product or higher tierManual Material Request handled by staff
Data ownershipAll data stays inside your ERPNext siteYours entirelyCustomer data held on the SaaS vendor's platformYours, but no tracking layer exists
Cost modelOne-time build, no per-shipment fee, code handed overHigh one-time dev cost plus ongoing maintenanceRecurring per-shipment or tiered subscriptionIncluded, but delivers none of this capability
ERPNext integration depthNative DocTypes, hooks, scheduler, REST — upgrade-safeAs deep as you build itExternal sync via API, lives outside ERPNextN/A — feature absent
Support & ownershipPost-go-live window, git handover, optional retainerDepends on your in-house team's bandwidthVendor support, but you never own the codeCommunity/ERPNext support only for core

Frequently Asked Questions about Branded Order Tracking Portal

How long does delivery take, and how does build-to-order work?

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 one working week 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.

Which carriers and ERPNext versions do you support?

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.

How do you handle support and updates after go-live?

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.

Will this survive ERPNext upgrades, or will it break like customizations often do?

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.

Do customers need to log in to track their order?

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.

Can it integrate with our Shopify, WooCommerce, or headless storefront?

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.

Do we own the code and the customer data?

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.

Request a quote

Branded Order Tracking Portal

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.

  • 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`

Request a Quotation

Tell us about your Branded Order Tracking Portal requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.