A native Frappe app that wires UPS negotiated rates, label printing, and delivery tracking directly into the ERPNext Delivery Note workflow. ECOSIRE builds it to your account and carrier setup, then installs and supports it. 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 wires UPS negotiated rates, label printing, and delivery tracking directly into the ERPNext Delivery Note workflow. ECOSIRE builds it to your account and carrier setup, then installs and supports it.
لا حاجة للدفع الآن. يؤدي هذا إلى إرسال طلب عرض سعر إلى فريقنا — وسنتواصل معك عبر البريد الإلكتروني بالأسعار والخطوات التالية.
ERPNext handles quotations, sales orders, and stock beautifully, but the moment a warehouse team needs a real UPS rate at pick-and-pack time, native ERPNext runs out of road. Out of the box there is no UPS OAuth connection, no negotiated-rate quote on the Delivery Note, no label to print, and no tracking status flowing back into the document. Teams end up re-keying addresses into UPS WorldShip or ups.com, copying tracking numbers back by hand, and reconciling shipping cost after the fact — slow, error-prone, and impossible to audit against the sales order.
UPS OAuth 2.0 client-credentials flow with encrypted secret storage in site config and cached bearer tokens refreshed on expiry
`UPS Settings` single DocType for account number, rate/label preferences, and per-service toggles
Live negotiated-rate quotes from the UPS Rating API at Delivery Note / Shipment submit, keyed on weight, dimensions, and destination
Custom fields for service level, shipping cost, and UPS tracking number persisted directly on the Delivery Note
One-click label generation returning GIF, ZPL (thermal), or PDF, auto-attached to the document as a Frappe File
Paperless commercial invoice upload for international shipments so customs docs travel with the request
We build a proper Frappe app (installed with bench get-app / bench install-app) that lives inside ERPNext rather than bolting on beside it. A UPS Settings single DocType holds your OAuth 2.0 client credentials, account number, and rate/label preferences, with the client secret stored encrypted in the site config. A whitelisted server method authenticates against the UPS OAuth API, caches the bearer token until expiry, and calls the Rating, Shipping, Track, and Pickup endpoints. Doc events registered in hooks.py extend the standard Delivery Note and Shipment DocTypes: on submit we request a live negotiated-rate quote for the parcel's weight, dimensions, and destination, then persist the returned service level, cost, and UPS tracking number onto custom fields.
Label generation is a one-click action. A client script adds a "Get UPS Label" button that calls the whitelisted method, receives the label in your chosen format (GIF, ZPL for thermal printers, or PDF), and attaches it to the document as a File. Paperless commercial invoice upload is supported for international shipments so customs documents ride along with the shipment request. A scheduler event (registered under scheduler_events in hooks.py) polls the UPS Track API on an interval and writes time-in-transit and delivery status back onto the Delivery Note, so ops and customer service see live status without leaving ERPNext. Void Shipment and Pickup Request are exposed as guarded server actions with their own role permissions.
Because this is build-to-order, nothing is a black box. We scope the exact services, DocTypes, and print formats you need on a short call, build against your UPS developer account and ERPNext version (Frappe/ERPNext v15 or v16), and validate everything on a staging site before go-live. Typical delivery is 2 to 4 weeks from confirmed scope depending on how many services (rating, labels, tracking, void, pickup, paperless invoice) and print/ZPL formats you require. You receive the installable source, the git repository, documentation, and a post-go-live support window — this is not an instant Marketplace download, it is a system engineered to your shipping process and handed over to you.
Runs fulfillment out of ERPNext and needs accurate negotiated rates and printable labels at pack time without re-keying orders into ups.com or WorldShip.
Ships high parcel volumes daily and wants tracking status and time-in-transit flowing back onto Delivery Notes so customer service can answer 'where is my order' inside ERPNext.
Owns the site and wants a clean, upgrade-safe Frappe app (proper hooks.py, DocTypes, permissions) they can maintain and extend, not brittle customizations.
Needs shipping cost and service level captured on each shipment against the sales order for accurate landed-cost reconciliation and carrier auditing.
قم بشراء الترخيص من موقع ecosire.com وقم بتنزيل تطبيق UPS Shipping Connector for ERPNext ZIP من لوحة تحكم حسابك.
قم باستخراج ملف ZIP إلى مجلد تطبيقات مقعدك، أو قم بتشغيل "bench get-app" مع المسار إلى التطبيق المستخرج.
قم بتشغيل `bench --site SITE_NAME install-app APP_NAME` متبوعًا بـ`bench migrate` لتثبيت UPS Shipping Connector for ERPNext وتطبيق مخططه.
افتح إعدادات ترخيص ECOSIRE على موقعك وقم بتنشيط مفتاح الترخيص الخاص بك. يتطلب تطبيقي ecosire_connect وecosire_license_client المجانيين.
| المعيار | ECOSIRE | بناء مخصص | منافس | أودو الأصلي |
|---|---|---|---|---|
| UPS negotiated-rate quotes on Delivery Note | Live rate at submit, saved to the document | Buildable but you write the OAuth + Rating integration | Sometimes list rates only, generic mapping | |
| Label printing (GIF / ZPL / PDF) | One-click, auto-attached, thermal ZPL supported | Must implement label parsing and printer formats | PDF common, ZPL varies by app | |
| Tracking status back into ERPNext | Scheduler polls UPS Track, writes status + transit time | You build and schedule the polling job | Often manual or webhook-only | |
| Fit to your workflow and service mix | Scoped and built to your exact services and print formats | Fully bespoke by definition | Fixed feature set, take it or leave it | |
| Upgrade safety (v15/v16) | Standard hooks.py, custom fields, whitelisted methods | Depends on your team's discipline | Varies; some patch core | |
| Void shipment and pickup request | Guarded server actions with role permissions | Extra endpoints you build yourself | Frequently omitted | |
| Source code and repo ownership | Full git repo + release handed over | You own it (you built it) | Usually closed / licensed binary | |
| Time and cost to production | 2-4 weeks, fixed scope, includes UAT + training | Longer; unbounded dev + QA effort | Fast install but config + gaps to close |
No. This is a build-to-order engagement. We build the UPS Shipping Connector against your UPS developer account, your service mix, and your ERPNext version, then install and support it. There is no instant Marketplace download.
Typically 2 to 4 weeks from confirmed scope. The exact timeline depends on which services you need (rating, labels, tracking, void, pickup, paperless invoice) and how many print/ZPL formats and integrations are involved. We give you a firm timeline after the scoping call.
We build for Frappe/ERPNext v15 and v16. We target your specific site version so the app installs cleanly with `bench get-app` / `bench install-app` and survives standard `bench update` cycles.
Every build includes a post-go-live support window for bug fixes and adjustments. Because you receive the full git repository and source, your own team can maintain it too. We also offer ongoing support and version-upgrade retainers separately if you want us to keep it current.
Yes. UPS negotiated rates, labels, and tracking require your own UPS account and developer (OAuth) credentials. We help you configure them in the encrypted `UPS Settings` DocType and validate against UPS sandbox before switching to production.
Yes. Labels are returned in GIF, ZPL (for thermal/Zebra printers), or PDF, and attached to the document automatically. For international parcels we support paperless commercial invoice upload so customs documents accompany the shipment request.
We build it as a standard Frappe app using documented extension points — hooks.py doc events, custom fields, whitelisted methods, and scheduler events — instead of patching core files. That is the upgrade-safe approach, and UAT includes a rollback plan so cutover is low-risk.
A native Frappe app that wires UPS negotiated rates, label printing, and delivery tracking directly into the ERPNext Delivery Note workflow. ECOSIRE builds it to your account and carrier setup, then installs and supports it.