Cloud ERP · Integrations
The ERPNext ShipStation integration
An open-source Frappe app that connects ShipStation to ERPNext: multiple ShipStation accounts sync into one ERPNext instance, each store maps to a company, warehouse, cost center, and account heads, and products, orders, and shipments fetch in on a schedule. Everything below is described from the app's own README on GitHub — sync direction, features, setup, and its stated limits, with nothing added beyond what's published there.
- Open source · MIT license
- github.com/ParsimonyGit/shipstation_integration
- Frappe / ERPNext v13 · v14 · v15 branches
- Custom app — installs on a private Frappe Cloud bench
In this explainer
- 01
- 02
- 03
- 04
01 / What syncs
What the app actually does
The ShipStation Integration app is described in its own README as "a custom ShipStation application built on top of the Frappe framework and ERPNext." The sync runs primarily one direction: products, orders, and shipments are fetched periodically from every connected ShipStation account into ERPNext. Shipping label generation runs the other way, back out to ShipStation, and it's a per-account setting rather than something every store does automatically.
Because it's built to hold more than one ShipStation account against a single ERPNext site, the mapping step matters: each store inside each account is configured separately, with its own company, warehouse, cost center, and account heads. That's what makes it workable for an operator running two brands, or a wholesale channel and a direct-to-consumer channel, out of one ERPNext instance instead of standing up a second one. If you're piecing together the rest of an ecommerce fulfillment stack in ERPNext beyond just ShipStation, the wider picture is on /erp/ecommerce.
- 01
Multiple accounts, one ERPNext instance
Connect more than one ShipStation account to a single ERPNext site, rather than running a separate ERPNext instance per storefront.
- 02
Per-store mapping
Each store inside a ShipStation account maps individually to a company, warehouse, cost center, and account heads — so two brands in one ShipStation account can post to two different companies in ERPNext.
- 03
Scheduled fetch of products, orders, and shipments
The app periodically pulls products, orders, and shipments from every connected ShipStation account into ERPNext, rather than requiring a manual export/import each time.
- 04
Amazon marketplace hooks
Stores connected to the Amazon marketplace are identified, and the app adds hooks that other Frappe applications can use to process those Amazon orders — the README describes this as an identification-and-hook layer, not a full Amazon order pipeline on its own.
- 05
Shipping label generation
Label generation can be enabled per ShipStation account. It's an optional switch per account, not a feature that's on for every store by default.
One thing the README doesn't spell out is which specific ERPNext record type each fetched product, order, or shipment becomes — it documents what data moves, not the DocType-level mapping. If that detail matters for how your team already works in ERPNext, it's a fair question to raise on the quote call rather than something we'd guess at here.
02 / Setup outline
Installing a custom Frappe app, in general — then this one
Every Frappe app, ShipStation Integration included, installs the same underlying way: it's pulled onto a bench — the app environment a site runs on — installed onto a specific site, then migrated so its database changes apply. On self-hosted Frappe that's three terminal commands. Frappe Cloud runs the same bench model through its dashboard: because this is a custom app, not one published to the Frappe Cloud Marketplace, it needs a private bench rather than one of the shared plans a self-serve site starts on — the same distinction already laid out on /erpnext-hosting. In general terms, adding it means attaching the repository and the right branch to that private bench, deploying, and then installing it on the site — the dashboard version of the same three-step shape below.
- 01
Pick the branch that matches your ERPNext version
The repository publishes version-matched branches — main-v13 (the default branch, targeting Frappe/ERPNext v13), main-v14, and main-v15. Install the one that matches the ERPNext version already running your site.
- 02
Get the app onto a bench
The README's own command is bench get-app https://github.com/ParsimonyGit/shipstation_integration --branch main-v13. On Frappe Cloud, a custom app that isn't in the Marketplace needs a private bench — the same private-bench requirement already published on /erpnext-hosting — and the equivalent step is attaching the repository and branch to that bench through the dashboard instead of a terminal.
- 03
Install it on the site and migrate
bench --site <site_name> install-app shipstation_integration, then bench --site <site_name> migrate to apply the app's database migrations. This is the same two-command shape every Frappe app install ends with, on Frappe Cloud or self-hosted.
- 04
Open ShipStation Settings in the desk
Connect one or more ShipStation accounts with an API key and secret. This is where every account the site will sync gets added.
- 05
Map each store
For every store inside a connected account, set the company, warehouse, cost center, and account heads it should post to.
- 06
Turn on sync — and labels, if you want them
Enable scheduled sync so products, orders, and shipments keep pulling in on their own, and turn on shipping label generation per account for any store that should use it.
bench get-app https://github.com/ParsimonyGit/shipstation_integration --branch main-v13 bench --site <site_name> install-app shipstation_integration bench --site <site_name> migrate
03 / Limits
What to know before you install it
None of this is a knock on the app — it's what its own repository states, and what it leaves unstated, so there's no surprise after install.
- Version-specific: main-v13 is the default branch and targets Frappe/ERPNext v13 specifically. main-v14 and main-v15 exist as separate branches — there's no single branch that covers every version.
- Depends on a third-party Python client: the app is built on the ShipStation client library maintained by AgriTheory, not a package Parsimony or Frappe publishes.
- It's a custom app, not a Marketplace install: on Frappe Cloud that means a private bench, which is a different plan tier than the shared plans self-serve Frappe Cloud sites start on.
- The README documents what data moves — products, orders, shipments — but not sync frequency, retry behavior, or which specific ERPNext DocType each fetched record lands in. Confirm that mapping on the quote call if it matters to how your team works.
- Each ShipStation account needs its own API key and secret; there's no ERPNext-side credential that stands in for a ShipStation account you haven't connected.
The dependency worth knowing about is the ShipStation Python client the app is built on, maintained by AgriTheory at agritheory/shipstation-client, not something Parsimony or Frappe publishes. It's a normal shape for an open-source Frappe app — most custom apps lean on at least one third-party library — but it's worth knowing which team maintains which layer before you're troubleshooting a sync at 11pm.
Where We Fit
Getting it installed and kept running
The app is free and open source — MIT licensed, on GitHub, no per-store fee from Parsimony to run it. What we quote separately is the work around it: standing up the private Frappe Cloud bench a custom app needs, installing and migrating the right version branch, mapping every ShipStation store to the right company and warehouse, and keeping it patched as new ERPNext and Frappe releases ship. That's part of the same custom-quoted Cloud ERP scope described on /erp, and it sits alongside the hosting options — self-serve Frappe Cloud, a managed partner, Parsimony, or self-host — compared on /erpnext-hosting. If ecommerce fulfillment is the bigger project and ShipStation is one piece of it, start at /erp/ecommerce.
Get a Cloud ERP quote04 / FAQ
Questions, answered from the README
- 01
What does the ERPNext ShipStation integration actually sync?
Per the repository README, it connects one or more ShipStation accounts to a single ERPNext instance, maps each ShipStation store to a company, warehouse, cost center, and account heads, and periodically fetches products, orders, and shipments from every connected account. It can also generate shipping labels, which is enabled per account rather than on by default.
- 02
Which Frappe and ERPNext versions does it support?
The app ships as version-matched branches on GitHub: main-v13 is the repository's default branch and targets Frappe/ERPNext v13, with separate main-v14 and main-v15 branches for those versions. You install the branch that matches your ERPNext version, not a single universal release.
- 03
Does it generate shipping labels?
Yes — the README lists shipping label generation as a feature that can be enabled per ShipStation account, so it's optional rather than automatic for every connected store.
- 04
Does it handle Amazon marketplace orders?
It identifies which connected stores are tied to the Amazon marketplace and adds hooks that other Frappe applications can use to process those Amazon orders. The README doesn't describe it processing Amazon orders on its own beyond that identification and hook layer.
- 05
Is the ERPNext ShipStation integration open source?
Yes. The repository is MIT licensed and published at github.com/ParsimonyGit/shipstation_integration. Installing and running the code is free; what Parsimony quotes separately is the work of installing it on a managed Frappe Cloud bench, mapping your stores, and maintaining it alongside your ERPNext site.
Pricing
Automate is public.
ERP and agents are quoted.
Parsimony Automate has public monthly plans — see Automate pricing. Chat agents, voice agents, and Cloud ERP are quoted to the job. Call or send the form and we put a package together.
- 01Quoted
Cloud ERP
Managed ERPNext on Frappe Cloud. Quoted to the job.
- 02$59 / $199 / $497 a month · self-serve
Automate
CRM, funnels, two-way text, workflows, and websites on one login.
- 03Quoted
AI chat and voice agents
Chat on your site and help desk, voice on your phone line. Quoted to the job.