A native Frappe app that connects ERPNext directly to USPS for live domestic and international rates, one-click labels with CN22/CP72 customs forms, address standardization, and automatic tracking updates. ECOSIRE builds it to your scope, installs it, and supports it after go-live. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A native Frappe app that connects ERPNext directly to USPS for live domestic and international rates, one-click labels with CN22/CP72 customs forms, address standardization, and automatic tracking updates. ECOSIRE builds it to your scope, installs it, and supports it after go-live.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
If you run a US shipping operation on ERPNext, the last mile is usually a swivel-chair mess. Your Sales Orders and Delivery Notes live in ERPNext, but rating a parcel, buying postage, printing a label, and filling out a customs form all happen on USPS.com or a separate postage tool. Reps re-key addresses and weights, quote shipping from a rate table that went stale months ago, and paste tracking numbers back into ERPNext by hand — when they remember to at all. ERPNext core ships a generic Shipment DocType and a Shipping Rule engine, but it has no USPS carrier integration, no live rate calls, no label generation, and no customs-form output. Native runs out of road the moment you need a real USPS rate or a scannable label.
OAuth2 client-credentials auth against the modern USPS APIs (Ship/Rates, Addresses, Tracking), tokens cached and auto-refreshed server-side
Encrypted `USPS Settings` single DocType with per-environment sandbox/production toggle and connection test button
Whitelisted `get_rates` method returning live Priority Mail, Priority Mail Express, Ground Advantage, First-Class, and Media Mail options for a Delivery Note or Shipment
One-click label purchase that stores the returned PDF/ZPL as a File attached to the source document and writes the tracking number back to ERPNext
Automatic CN22 / CP72 customs declaration generation for international parcels, populated from item HS codes, country of origin, and declared value
USPS Addresses API standardization and ZIP+4 correction on Address save via a `hooks.py` doc event, blocking undeliverable-address surcharges
We build a proper Frappe app — its own module, DocTypes, and hooks.py — installed on your bench, not a brittle pile of copy-pasted scripts. It authenticates to the modern USPS APIs using OAuth2 client-credentials against the Ship/Rates, Addresses, and Tracking endpoints, with credentials held in an encrypted USPS Settings single DocType behind a sandbox/production toggle. From a Delivery Note or Shipment, a whitelisted server method (ecosire_usps.api.get_rates) calls the USPS Rates API and returns live Priority Mail, Priority Mail Express, Ground Advantage, and First-Class/Media Mail options based on the shipment's actual weight, package dimensions, origin ZIP, and destination — so reps quote the real number instead of a guess.
When a rep picks a rate, a second whitelisted method buys the label, stores the returned PDF/ZPL as a File attached to the document, writes the USPS tracking number back onto the Delivery Note, and — for international shipments — generates the correct CN22 or CP72 customs declaration from the item lines (HS codes, country of origin, declared value). Addresses are run through the USPS Addresses API for standardization and ZIP+4 correction before a label is ever bought, so you stop paying for undeliverable-address surcharges. A scheduler event polls the Tracking API on the interval you choose, appends each scan event to a child table on the shipment, and moves the status through In Transit / Delivered / Exception, optionally emailing the customer. Everything is wrapped in role-based permissions and Client Scripts so buttons only appear for the right roles and the workflow feels native to ERPNext.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, confirm which USPS services, package profiles, and document types you use, and hand you a fixed statement of work. We build against Frappe/ERPNext v15 or v16 on a staging copy of your site, run UAT with your team, then install on production behind a rollback plan. You receive the full source in a Git repository you own, plus documentation, a training session, and a post-go-live support window — no black boxes, no lock-in.
Ships domestic parcels daily from one or two warehouses and wants live USPS rates and labels generated straight from the Delivery Note, without re-keying addresses into USPS.com or paying for a separate postage app per label.
Owns the pick-pack-ship desk and needs consistent rate shopping across Priority and Ground Advantage, batch label printing to a ZPL thermal printer, and tracking that flows back into ERPNext so support stops chasing scan updates manually.
Sends international USPS parcels and needs correct CN22/CP72 customs forms auto-generated from item HS codes and declared values, so shipments clear customs and don't get returned for paperwork errors.
Maintains the site and wants a clean, upgrade-safe Frappe app with documented hooks, role-based permissions, and a Git repo they own — not untracked server scripts that break on the next bench update.
Buy the license on ecosire.com and download the USPS Shipping Connector 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 USPS Shipping Connector 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 |
|---|---|---|---|---|
| USPS live rating | Built into Delivery Note / Shipment via whitelisted method | Possible, but you design and debug the API calls yourself | Often generic multi-carrier, USPS rates may be limited | |
| Label + customs forms | One-click label with CN22/CP72 auto-generated from item lines | Build label and customs logic from scratch | Labels common; customs form support varies | |
| Fit to your workflow | Scoped to your services, package profiles, and roles | Fully custom but on your time and budget | Fixed feature set, adapt your process to it | |
| Frappe/ERPNext v15/v16 | Built and tested against your target major version | Depends on your team's Frappe depth | Depends on maintainer keeping pace | |
| Source code ownership | Full Git repo handover, you own it | You own it | Usually closed source, license-locked | |
| USPS API-change maintenance | Support window plus optional retainer | Entirely your responsibility | Depends on vendor roadmap and pricing | |
| Time to working shipping | Typically 2–4 weeks from confirmed scope | Weeks to months depending on capacity | Fast install, slow to fit real process | |
| Tracking sync back to ERPNext | Scheduler polls USPS, appends scan events, updates status | You build and schedule the poller | Sometimes included, sometimes manual |
No. This is a build-to-order integration. ECOSIRE builds it to your confirmed scope on Frappe/ERPNext v15 or v16, tests it on a staging copy of your site, and installs it on production. You are not downloading a pre-built marketplace app.
Typical delivery is 2–4 weeks from confirmed scope, depending on which USPS services, document types, and customizations you need. We give you a fixed timeline and statement of work after the scoping call, before any build starts.
A USPS Business account with API access enabled and OAuth2 client credentials (consumer key/secret) for the Rates, Addresses, and Tracking APIs. We connect against the USPS sandbox during development and switch to production credentials at go-live. We can guide you through requesting access if you don't have it yet.
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full source in a Git repo you own, your own team or ECOSIRE can maintain it. We also offer ongoing support and USPS API-change maintenance as a separate retainer if you'd rather we keep it current.
Yes. For international shipments the app generates the correct CN22 or CP72 customs declaration, populated from your item lines — HS codes, country of origin, quantities, and declared value — so parcels clear customs without manual paperwork.
Yes. It's a proper Frappe app with its own module, DocTypes, and hooks — not untracked server or client scripts pasted into the UI. It's built and tested against your target major version (v15 or v16), so bench and app upgrades behave predictably.
Yes. Each fulfillment Warehouse can rate from its own origin ZIP and USPS account, so multi-location operations quote and buy postage correctly per shipping point.
A native Frappe app that connects ERPNext directly to USPS for live domestic and international rates, one-click labels with CN22/CP72 customs forms, address standardization, and automatic tracking updates. ECOSIRE builds it to your scope, installs it, and supports it after go-live.