Skip to main content
ShipStation Connector for ERPNext — A two-way integration that pushes ERPNext Delivery Notes into ShipStation as orders and p — 1/1Illustrative preview

A two-way integration that pushes ERPNext Delivery Notes into ShipStation as orders and pulls shipped status and

tracking numbers back — built, installed, and supported by

ECOSIRE for your ERPNext instance.

What is ShipStation Connector for ERPNext?

A two-way integration that pushes ERPNext Delivery Notes into ShipStation as orders and pulls shipped status and tracking numbers back — built, installed, and supported by ECOSIRE for your ERPNext instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

ShipStation REST API authentication via an encrypted `ShipStation Settings` single DocType — key and secret stored in site config, never in code
Outbound push on the `Delivery Note` (or `Sales Order`) submit event through `hooks.py` doc events, mapping line items, ship-to address, and weights to a ShipStation order
Inbound `SHIP_NOTIFY` webhook received by a whitelisted Frappe method that writes carrier, tracking number, and shipped timestamp back to the source document
Scheduler-based polling fallback (`scheduler_events` cron) for stores where ShipStation webhooks are unreliable or blocked
Multi-store mapping: route each ERPNext company or channel to the correct ShipStation store
Multi-warehouse mapping DocType linking ERPNext `Warehouse` records to ShipStation stores and warehouse IDs
Preserves your existing ShipStation automation rules by tagging and presetting orders so carrier/service/package rules keep firing
Idempotent sync with a log DocType capturing request/response payloads, status, and a one-click retry for failed pushes
Configurable field and address mapping tuned to your instance during the build — not a fixed template
Optional auto-submit of the Delivery Note and fulfillment flag on the linked Sales Invoice when tracking arrives
Client scripts adding manual `Push to ShipStation` and `Refresh Tracking` buttons for warehouse staff overrides
Respects ERPNext permissions and role profiles so only authorized roles trigger or view syncs
Bulk backfill utility to push a queue of open Delivery Notes and reconcile historical tracking
Upgrade-safe as a standalone Frappe app across ERPNext/Frappe v15 and 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

Multichannel sellers running ERPNext for inventory, invoicing, and accounting almost always run ShipStation for the last mile — rate-shopping carriers, printing labels, and batching pick/pack. ERPNext core has no native bridge to ShipStation, so the two systems drift apart: warehouse staff re-key order lines into ShipStation, and tracking numbers printed on labels never make it back into the ERPNext Delivery Note. Customers email asking where their parcel is while the tracking sits in a browser tab nobody copied over. ERPNext's built-in shipping is limited to a manual Shipment DocType and generic tracking fields; it does not speak ShipStation's order or webhook API.

ECOSIRE builds a proper Frappe app — its own module, DocTypes, and hooks.py doc events — that closes that loop in both directions. On the outbound side we hook the submit event of Delivery Note (or Sales Order, depending on where you cut over to fulfillment) and map each document to a ShipStation order via the ShipStation REST API, carrying line items, ship-to address, requested service, weight, and your store/warehouse identifiers. Authentication is handled through a dedicated ShipStation Settings single DocType that stores the API key and secret encrypted in the site config, so credentials never live in code. Inbound, a whitelisted method receives ShipStation's SHIP_NOTIFY webhook (with a scheduled polling fallback via a scheduler_events cron for stores where webhooks are unreliable), matches the shipment back to the originating ERPNext document, writes the carrier, tracking number, and shipped timestamp, and can auto-submit the Delivery Note or mark the linked Sales Invoice as fulfilled.

The connector is multi-store and multi-warehouse aware: a mapping DocType lets you route a given ERPNext Warehouse or company to the correct ShipStation store and tag orders so your existing ShipStation automation rules (preset service, package, and insurance selection) keep firing untouched. Every sync writes to a log DocType with the request/response payload and status, so a failed push is retryable and auditable rather than silently lost. Field mapping, address formatting, and which trigger event to use are configured per your instance during the build — we do not ship a rigid one-size template. Because it is a real Frappe app it respects ERPNext permissions and role profiles, is upgrade-safe across Frappe/ERPNext v15 and v16, and adds client scripts only where a human needs a manual "Push to ShipStation" or "Refresh tracking" button.

This is a build-to-order product, not an instant download. After a short scoping call we confirm your carriers, stores, warehouse layout, and the exact document lifecycle you fulfill against, then build against your version of ERPNext. Typical delivery is one working week from confirmed scope. You get the installable app source for your version, deployment onto your staging site for UAT, and a post-go-live support window — ECOSIRE builds it, installs it, and stands behind it.

What you get

  • Installable Frappe app source code built for your ERPNext version (v15 or v16)
  • Installation and configuration on your instance, including `ShipStation Settings`, store/warehouse mappings, and webhook wiring
  • Technical documentation: DocType schema, hook events, whitelisted endpoints, scheduler jobs, and field-mapping reference
  • User guide plus a live training session for your fulfillment and operations staff
  • UAT on a staging site with a documented test plan and a rollback plan before go-live
  • Post-go-live support window for bug fixes and configuration adjustments
  • Git repository handover with full commit history and README
  • Version-compatibility notes and guidance for upgrading the app alongside ERPNext

Who this is for

Multichannel operations manager

Runs ERPNext as the system of record but fulfills through ShipStation across Amazon, Shopify, and a webstore. Needs orders and tracking to flow automatically so support stops chasing parcels manually.

Warehouse / fulfillment lead

Prints labels in ShipStation all day and is tired of re-keying ERPNext Delivery Note lines. Wants a Push button, correct addresses and weights, and tracking that lands back in ERPNext without copy-paste.

ERPNext administrator / systems owner

Owns the Frappe bench and cares about a clean, upgrade-safe app that respects permissions, stores credentials securely, and logs every sync — not a fragile server script bolted onto production.

Finance / order-to-cash owner

Needs shipped status to reliably flip Sales Invoices to fulfilled so revenue recognition and customer comms stay accurate across every store.

How ShipStation Connector for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Two-way order + tracking syncPush Delivery Notes and pull tracking automatically, both directionsPossible but you design and test both flows yourselfOften outbound-only or fixed field mappingNone — manual re-keying in both systems
Fit to your workflowMapping and trigger events tuned to your instance during buildFully bespoke if your devs have Frappe depthRigid template you bend your process aroundNo ShipStation concept at all
Credential securityEncrypted `ShipStation Settings` DocType in site configDepends on your implementation disciplineVaries by vendorN/A
Multi-store / multi-warehouseMapping DocType routes each warehouse to the right storeBuild it yourself per storeLimited or single-storeN/A
Reliability & auditabilityLog DocType with payloads, retries, webhook + scheduler fallbackYou build logging and retryBasic or no retryN/A
Upgrade safety (v15/v16)Standalone Frappe app, version-testedYour responsibility each upgradeDepends on vendor release cadenceN/A
Delivery timeone working week from confirmed scopeWeeks to months depending on teamInstant install but genericImmediate but no capability
Support & accountabilityPost-go-live window + git handover from ECOSIREInternal team onlyTicket queue, no context on your setupCommunity forums

Frequently Asked Questions about ShipStation Connector

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

No. This is build-to-order. ECOSIRE builds the Frappe app against your specific ERPNext version, carriers, stores, and fulfillment workflow, then installs it for you. There is no instant download.

How long does delivery take?

Typically one working week from confirmed scope. After the scoping call we lock the mapping, trigger events, and store/warehouse layout, then build, run UAT on staging, and deploy to production.

Which ERPNext and Frappe versions are supported?

Frappe and ERPNext v15 and v16. The app is built and tested against the version you run so it stays upgrade-safe on your bench.

How does the two-way sync actually work technically?

Outbound, a `hooks.py` doc event on Delivery Note (or Sales Order) submit pushes the order to the ShipStation REST API. Inbound, a whitelisted method receives ShipStation's SHIP_NOTIFY webhook — with a scheduler polling fallback — and writes carrier and tracking back to the source document.

Will it break my existing ShipStation automation rules?

No. Orders are tagged and preset so your ShipStation automation rules for carrier, service, package, and insurance keep firing. We map your ERPNext warehouses to the correct ShipStation stores rather than replacing your setup.

What about support and updates after go-live?

Every build includes a post-go-live support window for bug fixes and configuration tweaks. You also receive the full git repository so your team can maintain it, and ECOSIRE offers ongoing support and version-upgrade work as a separate engagement.

What happens if a sync fails?

Every push and pull is written to a log DocType with the full request and response payload and status. Failed syncs are visible and retryable with one click, so nothing is silently lost.

Request a quote

ShipStation Connector

A two-way integration that pushes ERPNext Delivery Notes into ShipStation as orders and pulls shipped status and tracking numbers back — built, installed, and supported by ECOSIRE for your ERPNext instance.

  • ShipStation REST API authentication via an encrypted `ShipStation Settings` single DocType — key and secret stored in site config, never in code
  • Outbound push on the `Delivery Note` (or `Sales Order`) submit event through `hooks.py` doc events, mapping line items, ship-to address, and weights to a ShipStation order
  • Inbound `SHIP_NOTIFY` webhook received by a whitelisted Frappe method that writes carrier, tracking number, and shipped timestamp back to the source document
  • Scheduler-based polling fallback (`scheduler_events` cron) for stores where ShipStation webhooks are unreliable or blocked

Request a Quotation

Tell us about your ShipStation 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.