Skip to main content
Shipping & Logistics Multi-Carrier — A build-to-order ERPNext app that compares carrier rates, generates shipping labels from — 1/1Illustrative preview

A build-to-order ERPNext app that compares carrier rates,

generates shipping labels from the Delivery Note, syncs tracking back to your shipment record, and schedules pickups across Packlink, LetMeShip and SendCloud.

ECOSIRE scopes, builds, installs and supports it for you — this is not an off-the-shelf marketplace download.

What is Shipping & Logistics Multi-Carrier?

A build-to-order ERPNext app that compares carrier rates, generates shipping labels from the Delivery Note, syncs tracking back to your shipment record, and schedules pickups across Packlink, LetMeShip and SendCloud. ECOSIRE scopes, builds, installs and supports it for you — this is not an off-the-shelf marketplace download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`Carrier Account` DocType storing per-carrier API keys, sandbox/production toggle, and service-to-carrier mappings for Packlink, LetMeShip and SendCloud
`Shipping Rate Request` that fans out to all configured carriers in parallel and returns a ranked, comparable rate table (price, service, transit time) on the shipment
One-click label generation from the `Delivery Note` / `Shipment` form via a client script and a `@frappe.whitelist()` server method
Generated shipping labels stored as `File` attachments against the shipment, reprintable and audit-safe
`hooks.py` doc events (`on_submit` on Delivery Note, `validate` on Shipment) enforce address, weight and package completeness before a carrier call
Automated tracking sync via `scheduler_events` that polls carriers and writes normalized status back to the shipment record
Delivery and exception events trigger ERPNext Notifications and optional outbound webhooks
Pickup scheduling as a whitelisted method that books a collection window and records the carrier confirmation number
Customs / commercial invoice PDF generation with HS codes and declared values for cross-border parcels, attached to the shipment
Frappe REST API endpoints so an external WMS, marketplace or storefront can request rates, buy labels and read tracking
Role profiles and permission rules separating `Shipping User` (rate + print) from `Shipping Manager` (credentials + config)
Per-package weight and dimension capture with multi-parcel shipment support
Carrier API request/response logging for reconciliation and support troubleshooting
Built and tested for ERPNext v15 with a forward-compatible path to v16

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

If you ship through more than one courier, the daily reality is a tab-and-portal marathon: staff copy addresses from ERPNext into Packlink, LetMeShip or SendCloud, eyeball rates by hand, paste tracking numbers back into a note field, and re-key customs data for every export parcel. ERPNext core ships a Shipment DocType with a basic Frappe/ERPNext connector for a couple of carriers, but it stops well short of true multi-carrier rate shopping, label printing directly off a Delivery Note, automated tracking status sync, or pickup scheduling. As order volume grows, the manual handoff becomes the bottleneck — mispriced shipments, transposed tracking numbers, and no single place to see where a parcel actually is.

ECOSIRE builds a dedicated Frappe app that turns ERPNext into your shipping control tower. We add a Carrier Account DocType to hold per-carrier API credentials and service mappings, a Shipping Rate Request that fans out to Packlink, LetMeShip and SendCloud in parallel and returns a ranked, comparable rate table, and we extend the standard Shipment/Delivery Note flow so a dispatcher picks a service and gets a printable label in one action. Under the hood we wire carrier calls through hooks.py doc events (for example an on_submit handler on Delivery Note and a validate guard on Shipment), expose @frappe.whitelist() methods that your fulfilment screen and any external WMS can call over the Frappe REST API, and add client scripts on the form for the rate-picker and one-click label button. Generated labels and the commercial/customs invoice PDF are stored as File attachments against the shipment so they are auditable and reprintable.

Tracking stays current without anyone watching it. We register scheduler_events (a cron-style hook) that polls each carrier for in-transit parcels, writes normalized status back onto the shipment, and can fire ERPNext Notifications or webhooks when a parcel is delivered or exception-flagged. Pickup scheduling is a whitelisted method that books a collection window with the carrier and records the confirmation on the record. Access is governed by proper ERPNext permissions and role profiles — for instance a Shipping User who can rate-shop and print labels versus a Shipping Manager who can edit carrier credentials — and every carrier API call is logged for troubleshooting. The app targets ERPNext v15 and is built forward-compatible for v16.

Because this is build-to-order, you are not downloading a generic plugin and hoping it fits. We start with a short scoping call to confirm which carriers, services, warehouses and label formats you actually use, then build your version, run it through UAT on a staging bench, and install it on your site with a documented rollback. Typical delivery is one working week from confirmed scope. You receive the installable source, technical and user documentation, a training session, a post-go-live support window, and the git repository so the code is yours to keep and extend.

What you get

  • Installable source code for your version of the app (Frappe app, versioned)
  • Installation and configuration on your ERPNext site, including carrier credential setup
  • Technical documentation: DocType reference, hooks, whitelisted methods and REST endpoints
  • End-user guide plus a live training session for your fulfilment team
  • UAT on a staging bench with a documented rollback plan before production install
  • Post-go-live support window for defect fixes and configuration tuning
  • Handover of the private git repository so the code is yours to keep and extend

Who this is for

E-commerce fulfilment lead

Ships dozens to hundreds of parcels a day across several couriers and needs rate shopping plus one-click labels directly inside ERPNext instead of jumping between carrier portals.

Distribution / wholesale operations manager

Runs multi-warehouse dispatch and wants tracking status synced automatically onto each Delivery Note, with pickups scheduled and exceptions surfaced without manual chasing.

Cross-border trade coordinator

Handles export shipments and needs correct commercial/customs invoice documents generated per parcel with HS codes and declared values, attached and auditable.

ERPNext systems administrator

Owns the ERPNext instance and needs a clean Frappe app with proper permissions, logged carrier calls, and v15/v16 compatibility that they can maintain and extend.

How Shipping & Logistics Multi-Carrier Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Multi-carrier rate shoppingParallel rate compare across Packlink, LetMeShip, SendCloud in one tablePossible but you build every carrier integration yourselfUsually one carrier or a fixed aggregator, limited comparisonNo true rate shopping; basic connector only
Label generation on Delivery NoteOne-click from the Delivery Note, label stored as File attachmentBuildable with significant dev effortOften a separate screen, not tied to your DN flowManual entry via carrier portal, then paste back
Automated tracking syncScheduler polls carriers and writes status onto the shipmentYou must design and maintain the polling jobsVaries; often manual refresh or webhook-onlyNot automated; tracking kept by hand
Customs / commercial invoice docsGenerated per parcel with HS codes, attached to shipmentCustom print formats and logic requiredSometimes available, often genericNo dedicated cross-border document flow
Fit to your workflowScoped to your carriers, warehouses and label formatsFully bespoke but you own all specification riskConfigure within the vendor's fixed modelWhatever core provides, unchanged
v15 / v16 compatibilityBuilt for v15, forward-compatible with v16, upgrade-safe hooksDepends on your team's disciplineDepends on vendor's update cadenceMoves with core, no shipping depth added
Source & ownershipInstallable source plus git repo handover, yours to extendYou own it, but also all the build costLicensed app, source rarely handed overCore code, no shipping app to own
Support & deliveryBuild-to-order in one working week, UAT, training, post-go-live windowTimeline and support depend entirely on your resourcingInstall fast, but support is generic ticket queueImmediate but functionally incomplete

Frequently Asked Questions about Shipping & Logistics Multi-Carrier

Is this a ready-made app I can download and install today?

No. This is a build-to-order engagement. ECOSIRE scopes, builds, installs and supports the app for your specific carriers and workflow — it is not an existing Frappe Cloud Marketplace download. You end up with your own installable, versioned Frappe app and the git repository.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we have agreed which carriers, services, warehouses and label formats you use; simpler single-carrier scopes land faster, and heavy customs or WMS-integration work can extend it.

Which carriers do you support?

The core build targets the Packlink, LetMeShip and SendCloud aggregator APIs, which between them broker most major couriers. Because the `Carrier Account` DocType is designed for additional providers, we can add other carriers you name during scoping as part of the build.

How do labels and tracking actually work inside ERPNext?

A dispatcher opens the Delivery Note or Shipment, runs a rate request that returns a ranked comparison table, picks a service, and clicks to buy the label — which is stored as a File attachment. A scheduled job then polls the carriers and writes tracking status back onto the shipment automatically.

Will it work with our ERPNext version and survive upgrades?

The app is built and tested for ERPNext v15 and is forward-compatible with v16. It is a standalone Frappe app using supported extension points — `hooks.py` doc events, whitelisted methods, scheduler events and client scripts — rather than core patches, so it upgrades cleanly with your bench.

What support and updates do I get after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration tuning, plus a training session and full documentation. Because you receive the source and the git repo, your team can extend it freely; ongoing enhancement or a support retainer beyond the included window can be arranged separately.

Can external systems call it?

Yes. Rate requests, label purchase and tracking reads are exposed as whitelisted methods over the Frappe REST API, so an external WMS, marketplace connector or your storefront can drive shipping programmatically with proper permission checks.

Request a quote

Shipping & Logistics Multi-Carrier

A build-to-order ERPNext app that compares carrier rates, generates shipping labels from the Delivery Note, syncs tracking back to your shipment record, and schedules pickups across Packlink, LetMeShip and SendCloud. ECOSIRE scopes, builds, installs and supports it for you — this is not an off-the-shelf marketplace download.

  • `Carrier Account` DocType storing per-carrier API keys, sandbox/production toggle, and service-to-carrier mappings for Packlink, LetMeShip and SendCloud
  • `Shipping Rate Request` that fans out to all configured carriers in parallel and returns a ranked, comparable rate table (price, service, transit time) on the shipment
  • One-click label generation from the `Delivery Note` / `Shipment` form via a client script and a `@frappe.whitelist()` server method
  • Generated shipping labels stored as `File` attachments against the shipment, reprintable and audit-safe

Request a Quotation

Tell us about your Shipping & Logistics Multi-Carrier 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.