Skip to main content
EasyPost Multi-Carrier Connector for ERPNext — A build-to-order Frappe app that wires ERPNext into EasyPost so your team rate — 1/1Illustrative preview

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.

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

`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
EasyPost address verification called before label purchase to catch undeliverable or malformed addresses at data-entry time
Dedicated whitelisted webhook endpoint for EasyPost tracker events with payload verification, updating a `Shipment Tracking` log and the parent document status
`hooks.py` doc events (e.g. Delivery Note `on_submit`) to auto-rate, auto-buy, or auto-attach labels according to your configured flow
Frappe scheduler event that reconciles any tracker missing a webhook update, so no shipment silently goes stale
`Shipment` and `Shipment Rate` DocTypes linking each shipment back to its Sales Order / Delivery Note for full traceability
Multi-parcel and package-preset support mapped from ERPNext item weights and dimensions, with per-line packing where required
Role profile and permission rules separating rate/label operators from carrier-configuration managers
Full request/response logging of every EasyPost call for audit, dispute resolution, and debugging
Return-label generation and, where the carrier supports it, insurance and customs/commercial-invoice fields for international shipments
Clean support for Frappe/ERPNext v15 and v16, delivered as an installable bench app with migrations

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

CriterionECOSIRECustom BuildCompetitorERPNext Native
Carrier coverage100+ carriers via one EasyPost API, scoped to your accountsWhatever you build and maintain per carrierOften one or a few hard-coded carriersNone — no carrier integration in core
Rate shopping & cheapest-rate rulesLive multi-carrier rates with Python-enforced selection rulesPossible but you design and test all logicBasic rate display, limited rule supportStatic Shipping Rules only, no live rates
Label purchase & trackingOne-click labels + webhook tracking on the source documentBuild label + webhook handling yourselfLabel buying common, tracking variesManual — copy tracking numbers by hand
Fit to your workflowBuilt to your DocTypes, fields, and hooks.py flowFully bespoke but fully your effortFixed feature set, adapt your process to itGeneric ERPNext behavior only
Source code & ownershipFull source + git repo handover, yours to extendYou own it end to endUsually closed or licensed, limited accessCore code, not shipping-specific
Delivery timeone working week from confirmed scope, build-to-orderMonths of design, build, and QAInstall today, then fight the gapsAvailable now, but does not solve the problem
Testing & rollbackStaging UAT with real orders + documented rollbackYou set up all testing yourselfInstall-and-hope, minimal migration supportN/A
Support & versionsPost-go-live window, v15/v16 targeted, retainers availableYou are your own supportVendor support quality variesCommunity/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.

Request a quote

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

Request a Quotation

Tell us about your EasyPost Multi-Carrier Connector 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.