- Home
- Apps
- Multichannel & PIM Tools
- EasyPost Multi-Carrier Connector for ERPNext
Illustrative previewA build-to-order Frappe app that wires ERPNext into EasyPost so your team rate-shops 100+ carriers,
buys labels, verifies addresses, and streams live tracking straight from the Delivery Note and Sales Order.
ECOSIRE scopes, builds, installs, and supports it for you.
What is EasyPost Multi-Carrier Connector for ERPNext?
A build-to-order Frappe app that wires ERPNext into EasyPost so your team rate-shops 100+ carriers, buys labels, verifies addresses, and streams live tracking straight from the Delivery Note and Sales Order. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 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 merchants hit the same wall the moment they start shipping at volume: ERPNext core has no native carrier integration. You can print a Shipping Rule and a packing slip, but there is no way to compare live rates across FedEx, UPS, USPS, DHL, and regional couriers, no one-click label purchase, no address validation, and no automatic tracking. Warehouse staff end up copy-pasting order data into a carrier portal, buying labels off-system, and manually pasting tracking numbers back into the Delivery Note — a slow, error-prone process that leaves your Sales and Support teams blind to where a shipment actually is.
The EasyPost Multi-Carrier Connector closes that gap by building EasyPost directly into your ERPNext instance as a proper Frappe app. We add a EasyPost Settings single DocType to hold your API key (production and test), default parcel presets, and carrier-account selection, plus a Shipment and Shipment Rate DocType structure that binds each shipment back to its source Delivery Note or Sales Order. From the Delivery Note itself, a client script exposes a "Get Rates" action that calls a whitelisted server method; that method builds the EasyPost shipment payload from the document's addresses and items, requests live rates across every carrier account you've connected, and writes them back as child rows you can sort by price and transit time. Cheapest-rate and rule-based selection (for example "cheapest ground under 3 days", or "force UPS for insured orders over a threshold") are enforced in Python so buying the wrong service is impossible.
Technically, the connector is real Frappe engineering, not a screen-scrape. Label purchase, address verification, and rate requests run through whitelisted methods and are wired into the document lifecycle via hooks.py doc events (for example on_submit of a Delivery Note can auto-buy the selected label and attach the PDF/PNG to the document). EasyPost webhook events for tracking updates hit a dedicated whitelisted endpoint that verifies the payload and updates a Shipment Tracking log plus the parent document's status, so your team sees "In Transit" or "Delivered" without touching a carrier site. A Frappe scheduler event provides a reconciliation sweep for any tracker that missed its webhook. Address verification uses EasyPost's verify API before a label is ever purchased, catching undeliverable addresses at data-entry time. Everything respects ERPNext permissions — we ship a role profile so warehouse operators can buy labels while rate configuration stays locked to managers — and every API call is logged for audit and debugging.
Because this is build-to-order, you are not downloading a generic marketplace plugin and hoping it fits. ECOSIRE scopes your exact carriers, document flow, warehouse layout, and edge cases on a short call, then builds the app against your Frappe/ERPNext v15 or v16 instance. We install it on a staging site first, run UAT with your real orders, and only then cut over to production with a documented rollback path. Typical delivery is one working week from confirmed scope, depending on how many carriers and custom rules you need. You receive the full source code, a git repository handover, technical and user documentation, a training session, and a post-go-live support window — so the integration is yours to keep and extend, not a black box you rent.
What you get
- Installable Frappe app (source code) built for your ERPNext v15 or v16 instance
- Installation and configuration on your environment, including EasyPost API key and carrier-account setup
- Technical documentation: DocTypes, whitelisted methods, hooks, webhook endpoint, and scheduler events
- User guide plus a live training session for your warehouse and operations team
- UAT on a staging site with your real orders, and a documented production rollback plan
- Git repository handover so you own and can extend the code
- Post-go-live support window for defect fixes and configuration help
- Configured carrier rules, package presets, and role profiles matching your operation
Who this is for
US/global ERPNext eCommerce merchant
Ships from one or more warehouses across FedEx, UPS, USPS and DHL and wants a single API to rate-shop and buy labels without leaving ERPNext. Needs cheapest-rate rules to protect margin on every order.
Operations / fulfillment manager
Owns the Delivery Note workflow and wants labels, tracking, and address checks driven from the document itself, with a clean permission split so warehouse staff can print labels but not change carrier configuration.
3PL or multi-brand distributor on ERPNext
Handles high shipment volume across carrier accounts and needs reliable webhook tracking, reconciliation, and audit logs so support teams can answer 'where is my order' without logging into carrier portals.
ERPNext partner or in-house developer
Wants a well-structured Frappe app with whitelisted methods, hooks.py doc events and a git handover they can maintain and extend, rather than a closed marketplace plugin they cannot audit.
How EasyPost Multi-Carrier Connector for ERPNext Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Carrier coverage | 100+ carriers via one EasyPost API, scoped to your accounts | Whatever you build and maintain per carrier | Often one or a few hard-coded carriers | None — no carrier integration in core |
| Rate shopping & cheapest-rate rules | Live multi-carrier rates with Python-enforced selection rules | Possible but you design and test all logic | Basic rate display, limited rule support | Static Shipping Rules only, no live rates |
| Label purchase & tracking | One-click labels + webhook tracking on the source document | Build label + webhook handling yourself | Label buying common, tracking varies | Manual — copy tracking numbers by hand |
| Fit to your workflow | Built to your DocTypes, fields, and hooks.py flow | Fully bespoke but fully your effort | Fixed feature set, adapt your process to it | Generic ERPNext behavior only |
| Source code & ownership | Full source + git repo handover, yours to extend | You own it end to end | Usually closed or licensed, limited access | Core code, not shipping-specific |
| Delivery time | one working week from confirmed scope, build-to-order | Months of design, build, and QA | Install today, then fight the gaps | Available now, but does not solve the problem |
| Testing & rollback | Staging UAT with real orders + documented rollback | You set up all testing yourself | Install-and-hope, minimal migration support | N/A |
| Support & versions | Post-go-live window, v15/v16 targeted, retainers available | You are your own support | Vendor support quality varies | Community/ERP partner only |
Frequently Asked Questions about EasyPost Multi-Carrier Connector
How long does delivery take?
This is a build-to-order product, not an instant download. Typical delivery is one working week from confirmed scope, depending on how many carriers, custom rate rules, and document workflows you need. After a short scoping call we give you a firm timeline and milestones before any build begins.
Is this an existing app I can download today?
No. ECOSIRE builds the connector against your specific ERPNext instance, carriers, and warehouse flow, then installs it. You are getting a purpose-built Frappe app plus the source code and git repo, not a generic marketplace listing.
Which ERPNext and Frappe versions are supported?
We build for Frappe/ERPNext v15 and v16. Tell us your exact version and hosting (Frappe Cloud, self-hosted bench, or a managed provider) during scoping and we target it precisely, including migrations for future upgrades within that range.
How do updates and support work after go-live?
Every build includes a post-go-live support window for defect fixes and configuration help. Because you receive the full source and git repository, your own team can also maintain and extend the app. We offer ongoing support and enhancement retainers separately if you would rather we keep evolving it.
Do I need my own EasyPost account and carrier accounts?
Yes. You supply your EasyPost account (with your production and test API keys) and connect your own carrier accounts inside EasyPost. The connector stores those credentials securely in an `EasyPost Settings` DocType and uses them for all rate, label, verification, and tracking calls.
Will it work with our custom Delivery Note or Sales Order fields?
Yes. Because we build to your scope, we map the shipment payload from your actual address, item weight/dimension, and any custom fields, and wire the automation into your document lifecycle via hooks.py. Custom packing logic and multi-parcel rules are handled during the build.
How is it tested before it touches production?
We install on a staging site first and run UAT with your real orders and carrier accounts against EasyPost test mode where possible. Only after you sign off do we deploy to production, with a documented rollback plan in case anything needs to be reverted.
Related Modules

DHL Express Shipping Connector for ERPNext
A native Frappe app that connects ERPNext to the DHL Express MyDHL API for live rate shopping, label and commercial-invoice generation, and real-time tracking straight from your Delivery Notes. Built to order, installed, and supported by ECOSIRE.

DPD Shipping Connector for ERPNext
A native Frappe app that wires DPD parcel rating, PDF/ZPL label generation, Predict time-slot delivery, pickup-point selection, and tracking sync directly into ERPNext's Delivery Note and Shipment flow. Build-to-order: ECOSIRE scopes, builds, installs, and supports it for your v15/v16 site.

ERPNext 3PL / WMS Fulfillment Connector
A build-to-order Frappe app that wires ERPNext to your third-party logistics and fulfillment providers — ShipBob, Amazon MCF, cloud WMS — so orders flow out, stock and tracking flow back, and your ledger stays accurate. ECOSIRE scopes, builds, installs, and supports it.

ERPNext AI Listing & Catalog Optimizer
A build-to-order Frappe app that turns your ERPNext Items into optimized, per-marketplace listings — AI-generated titles, bullets, descriptions, keywords, and translations — reviewed and published from inside ERPNext. ECOSIRE scopes, builds, installs, and supports it; it is not an instant download.
EasyPost Multi-Carrier Connector
A build-to-order Frappe app that wires ERPNext into EasyPost so your team rate-shops 100+ carriers, buys labels, verifies addresses, and streams live tracking straight from the Delivery Note and Sales Order. ECOSIRE scopes, builds, installs, and supports it for you.
- `EasyPost Settings` single DocType storing production/test API keys, default parcel presets, connected carrier accounts, and label format (PDF/PNG/ZPL)
- "Get Rates" action on Delivery Note and Sales Order that calls a whitelisted server method and returns live rates from every connected carrier as sortable child rows
- Cheapest-rate and rule-based service selection enforced in Python (e.g. cheapest ground under N days, forced carrier above an insured-value threshold)
- One-click label purchase via a whitelisted method that attaches the label PDF/PNG/ZPL to the source document and stores the tracking code and cost