Has anyone successfully integrated with ShipStation?


HELP! I’m trying to set up an integration with ShipStation and nothing seems to be working properly. Support on both sides have been unable to help. The fact that there have been LITERALLY no posts on this channel since it was created makes me nervous… If you’ve got ShipStation up and running with TradeGecko, I need to talk to you. Thanks.


Hey Todd,
I see our support team has reached out to you.
But just to put it here for posterity.
The statuses we push to Shipstation are Shipstation specific-statuses and not the ones used in TradeGecko.

From the screenshots you share you had configured Shipstation to check for the TradeGecko statuses.

You can usually safely leave the status filtering settings blank in Shipstation for the default flows, but if you want to change flows the statuses sent are “cancelled”, “unpaid”, “paid”, “shipped”.

  • Brad


Hi Todd,
We have 2 integrations between Shipstation and Trade Gecko. Happy to help if I can.


Hi @todd1 – We have a working ShipStation integration as well. Happy to help however I can. I feel you on the lack of dialogue regarding the ShipStation integration.

Hey @katiel – Do you by chance do multiple shipments for individual orders? If so, do you mind sharing your current workflow given that the ShipStation integration doesn’t allow for this?

Hey @Bradley – Can you explain why the ShipStation integration is triggered by the status of an order (marked as Finalized) versus the creation of an actual shipment on the order?

Btw I’ve added some notes to a separate post I created about partial shipments with the ShipStation integration.


Hey Brian,

Basically we have two different groups of customers using the TG-Shipstation integration (with a lot of overlap to be fair).

The first group, and majority, wants to stay completely out of the way and have orders come directly from third party channels, whether it’s eCommerce stores/their B2B store etc come through TradeGecko and straight to Shipstation for shipping when the order is ready to go.

The second group like yourself is more likely to send partial shipments/ wait on delivery etc and generally wants tighter control over the shipments.

The integration was initially built and optimized for the first group of customers.
Whilst we definitely understand the need for finer control and we do have plans to add the ability to run the second workflow built around shipments to the integration in the future, we have no timeline for it as of just yet.



Hi Brian,
We have different SKUs that come in different sized boxes so I set these presets up and associated the packaging defaults in the Products section of Shipstation.
HOWEVER, we can’t set up a default instruction for when customers order multiple items. By default the items all come over on the order but the first item’s default packaging is chosen for the order.
Our warehouse have to manually add the extra boxes or change the package to one of our larger boxes (also saved in Shipstation but not the default setting for any purchases).
It would be helpful if Shipstation allowed rules i.e. if 3 items then use Box X, if 4 items use box Y but I think this varies so much between organisations that they deliberately force the shippers to manually confirm the packaging used.
Sorry it’s not an easy answer but I hope that’s helpful!


Thanks for the responses everyone.

The short version of my rather lengthy conversations with TG support is that none of the current XML endpoint mappings to order status (paid, unpaid, cancelled and shipped) work for our business. Problem is that we’ve already got an integration between TG and Quickbooks and I’m concerned that messing around with the paid/unpaid status in order to make the TG/SS integration work will create unintended consequences in our TG/QB integration… 99% of our orders are on terms, so practically nothing gets paid before it ships. I’ve been told from the engineering department (via Support who went ant talked to them on my behalf) that mapping to the “finalized” status isn’t possible. That’s the status that most closely represents when a TG order is ready to ship as we use the software.

So @brian and @katiel… just a handful of questions if you don’t mind:

  1. What Trade Gecko order status do you use to send orders into the “awaiting shippment” queue in Shipstation?
  2. If the answer to the above is the “paid” status, do you actually collect B2B payments prior to shipping? Or do you just mark as paid in TG so that you can use SS?
  3. I see a lot of value in Shipstation, but I have already put in about 15 hours of troubleshooting and working with Support and I’m kinda at the end of my rope with it all… so how valuable would you say that TG/SS integration is to your business?
  4. Have you experienced any bugs, issues, weirdness, etc. over at Shipstation since successfully integrating or has it worked relatively smoothly?

And @Bradley, I have just one question for you: why is it seemingly impossible to map additional XML endpoints? That would effectively unlock all of the order status options (active, finalized, packed, etc.) I’m not a coder and don’t want to presume, however in the last two weeks I’ve learned more about .xml than I thought I would ever need and it seems to me (the layperson) that adding additional endpoints is relatively simple and straightforward.

Thanks again for all your responses - it’s been a frustrating couple of weeks trying to make this integration work, but I know it’s going to benefit my fulfillment team if we can get it working properly.



Hi Todd,
There seems to be some confusion here

Shouldn’t you just be able to map both “unpaid” and “paid” as “awaiting shipment” in Shipstation and achieve what you’re looking for?

As for the implementation, I don’t want to get into the specifics of software development, but nothing is ever as simple as it seems, in this case the majority of the work is to do with the synchronization back from Shipstation rather than the sending over.

  • Brad


Hi Todd,
We bring across all invoiced orders (we have a mix of cash and credit customers but the invoice is always sent electronically before we release the order).
We don’t use Trade Gecko B2B - it wasn’t compatible with our process.
Because we outsource our logistics, having Shipstation gives us full control and the ability to use our own rates. It’s eliminated the need for manual input which lead to lots of data errors, mis picks and mis ships. It also gives us daily data of what we have sent. I did a free trial when I set it up and the guys at Shipstation did the majority of the customisation for me.
Shipstation has worked quite smoothly since implementation. There can be some issues like the warehouses not noticing that the commercial invoice docs associated with international orders needed printing separately if the countries weren’t linked in the electronic customs systems but generally no problems at all. I think it’s much more reliable and much simpler that Trade Gecko which is quite cumbersome and inflexible in the setup.


Thanks @katiel!

@Bradley, I would agree that there’s some confusion. I’ve already explained the dilemma several times and don’t feel like it’s been fully understood, but here it is one more time. Setting both Unpaid and Paid statuses to push to Awaiting Shipment would theoretically push all orders into the Awaiting Shipment queue in Shipstation. That won’t work for two reasons:

  1. We don’t currently update Paid/Unpaid statuses in TG because the Quickbooks integration isn’t a two way street. Therefore, going into every order and manually updating the payment status in TG after receiving and recording payment in QB would be an unnecessary extra step. So almost all of the orders in our system are currently marked as unpaid. However, marking an order as paid in TG would push to QB via the one way integration and that would seriously mess up our bookkeeping. I would rather not mess around at all with the payment status in TG since the QB integration is more vital for the business.
  2. We process orders for upcoming seasons, meaning that there are some orders in our system that won’t ship for as many as six months from now. I would prefer to avoid making my fulfillment team sift through a huge queue of orders that are not technically “awaiting shipment” for quite some time. As I’ve said, a more accurate representation of the orders that are indeed ready for a shipping label would be Finalized, or even Packed. Pushing unnecessary orders into the SS Awaiting Shipment queue would create a net zero impact on productivity since my team would now be saving time by not manually entering every shipment… but wasting time by searching through a large queue of irrelevant orders instead of grabbing from a tight, targeted list of the orders that are truly at the shipping stage of our process.

I absolutely understand that nothing related to development is as simple as it seems. Thank you for the clarification. I think we’ve come to the end of this road and will just continue with our current method of shipping orders.


Thanks @Bradley – I really appreciate the clarification. I’ve added a bunch of notes to another post outlining our desired workflow & TG<>ShipStation functionality. Would love to discuss further when this makes it onto the roadmap.


I just realized that we can probably get around all of this “headache” by simply moving more of our fulfillment workflow to ShipStation.

We’ve been sort of stuck on trying to make TradeGecko do “everything”. But if we simply split our finalized orders in ShipStation, that will bring our software a lot closer to a 1:1 match with our physical process. We were hoping that the TradeGecko integration would click the buttons in ShipStation automatically, but at least there’s still a way to get it done :)


Thanks @katiel!

I was actually curious whether you fulfill orders in multiple shipments on separate dates (i.e. first shipment on May 15 and second on May 22).

Maybe that’s what you described but it sounds more like automation logic for ShipStation. Regardless I appreciate the response because we are looking into that as well :)


Hi @todd1, how are you currently differentiating out the orders that are not to be shipped?

It sounds like the differentiation is active vs finalized, and then everything should work perfectly because orders are never pushed into Shipstation until they hit the finalized state in the current integration, they can sit quietly in TradeGecko in the active state for as long as you need.

If that’s not how you’re differentiating them in TG, can you please share how you are?

  • Brad


Sorry, I didn’t understand that question fully. I believe you would have to Split the order in Shipstation to ship one order in separate consignments across different days. Our warehouse have accidentally done this in Shipstation even though we don’t use the same set up of partial shipments once or twice so I think the guidance for this is here: https://help.shipstation.com/hc/en-us/articles/205901618-How-do-I-ship-a-partial-order- Sorry, you probably already saw that but just in case!


We manufacture our own product, and we ship about 99.9% of our wholesale orders. We switch a sales order from Active to Finalized about a week before they’re ready to be shipped, at which point we start to pack the order, create an invoice, etc.


Thanks! I actually just realized the other day that we could just split orders in ShipStation and not worry about having everything automatically sync to TradeGecko.