ShipStation
Push sales orders to ShipStation for shipping and fulfillment, then mark items shipped and save tracking numbers when ShipStation ships them.
Availability — Part of the Sales module. Manage modules and your plan tier in Account & Billing.
The ShipStation integration hands fulfillment off to ShipStation and brings the shipping details back, so your orders stay current without manual copying.
Connecting #
Enter your ShipStation API credentials on the ShipStation settings page. Knowledge ERP also exposes a webhook URL that ShipStation calls when shipments are created.
Saving makes one test call to ShipStation first, and stores nothing unless ShipStation accepts the key pair — so "Connected to ShipStation" means ShipStation confirmed it, not merely that the fields were filled in.
What syncs #
- Orders → ShipStation — sales orders are sent to ShipStation when their status moves to Confirmed, Picking or Partially Shipped, so your team can buy labels and ship from there. An order is sent once: when it is sent again, the same order in ShipStation is updated rather than a second one appearing. Editing an order does not send it; the changes go across the next time the order is sent. Each line carries the product's SKU, so the person packing can find it; a kit line carries the kit's code and name, and a product with no SKU is sent by name only. ShipStation is sent what is still to ship, so a line that has already shipped is left out.
- Back-ordered items → their own order. Once ShipStation has shipped part of an order, whatever is still to ship goes to ShipStation as a separate order, so the second half can be shipped too. Knowledge ERP sends it as soon as the shipment has been recorded.
- Shipments → Knowledge ERP — when ShipStation ships an order, Knowledge ERP marks those items shipped, the same as if someone had shipped them on the Ship screen: stock moves, and the sales order shows Partially Shipped or Shipped. The tracking number and carrier are saved on the sales order. A shipment already cancelled (voided) in ShipStation when its notification is read is ignored; one cancelled afterwards is not undone here. The import appears in the sales order's History as made by ShipStation, not by a person, and can't be undone there.
When a shipment can't be applied #
A shipment is applied as a whole. If one of its items can't be marked shipped (there is no stock for it, it isn't a line of that order, it is returnable equipment, or it is a kit that includes a product whose units you say which go when they ship), none of that shipment's items are, and the ShipStation settings page counts an error. A product whose units you say which go, on an order with no Location, may also be refused: when the units held for the line don't cover the shipment and the rest of its stock is at more than one Location. Put the stock right or correct the order, then mark the items shipped on the Ship screen.
If ShipStation can't be reached or reports a temporary problem when an order is sent, the send is tried again automatically, up to three attempts a minute apart. A problem that trying again won't fix, such as ShipStation not accepting the order, is counted as an error straight away.
Units to confirm #
ShipStation doesn't say which units went, only how many. For a product whose units you say which go when they ship, the line is marked shipped when ShipStation ships it, and the units taken for it (the ones held for the line, then the oldest in stock at the order's Location) show as to confirm: on the unit's page, in the units list, in search, on its movements and on a return. The order itself says how many units are to confirm, and has a Confirm Units button while there are any. It opens the Ship screen, where you choose the line and scan or tick the units that actually went, or say how many went from each lot. Name all of a line's units in one pass: a unit named that wasn't taken replaces one that was, oldest first.
A unit that matches is confirmed. Naming a different unit is a swap: it needs the Swap units when shipping permission, which Admins have, and the unit that was taken goes back In Stock. If a unit taken was the wrong one and you don't have the permission, someone who does needs to confirm the line before the rest of it can be shipped from the Ship screen. The order's shipped count and its invoice don't change. Each confirmation is recorded in the change log against the person who made it, and can't be undone.
The two switches #
The ShipStation settings page has two switches. Click one to turn it on or off; each takes effect for the next order or shipment.
- Orders — send sales orders to ShipStation.
- Shipments and tracking — mark items shipped and save tracking numbers when ShipStation ships an order. While it is off, ShipStation's shipment notifications are not fetched.
How it runs #
A sales-order observer queues orders to ShipStation, and inbound shipment webhooks trigger a shipment import job — both run in the background. In ShipStation, add the webhook URL from the settings page under Account Settings → Webhooks and select the SHIP_NOTIFY event.