MerchantFlowMerchantFlow Docs
Integrations

Connect Gooten — MerchantFlow

Connect Gooten print-on-demand to MerchantFlow to pull real production and shipping costs into your P&L. Gooten supplies both product cost and fulfillment cost per order.

Connect Gooten to MerchantFlow

The Gooten integration connects your Gooten print-on-demand account to MerchantFlow and pulls the amounts Gooten actually bills you -- both production cost and shipping -- into your profit reports.

What Is the Gooten Integration?

Gooten produces and ships print-on-demand products on your behalf. Because Gooten bills you per order for production and delivery, the amounts it reports are your real costs for that order.

That makes Gooten unusual among 3PL integrations: most supply fulfillment cost only, but Gooten supplies product cost as well. On a connected store, orders fulfilled by Gooten get their COGS from Gooten's actual production charge rather than from a cost you maintain by hand.

This is a meaningful accuracy gain for print-on-demand, where product cost varies by size, colour, and print area, and a single per-product COGS figure is always slightly wrong.

How to Connect Gooten

Open Settings → Integrations and find the Gooten section. There is no OAuth redirect; you paste two static keys.

Both come from Gooten Admin → Settings → API:

  • Recipe ID -- your Gooten account identifier
  • Partner Billing Key -- the secret that unlocks partner cost data

Both are required -- MerchantFlow refuses the connection if either is missing. The Recipe ID alone can read the catalogue but not the cost fields, which is exactly what the billing key unlocks.

Both keys are checked as you connect: the Recipe ID against Gooten's catalogue, the Partner Billing Key against the order endpoints. A typo fails the connect rather than surfacing later as a health error, and because Gooten reports both problems as an HTTP 400, MerchantFlow runs the checks in that order so it can tell you which key is wrong.

Before the credentials are accepted, MerchantFlow requires that your email is verified and that two-factor authentication is satisfied. These apply to credential-paste integrations exactly as they do to OAuth ones. You also need the integrations:manage permission, which owners and admins have by default.

What Data Does MerchantFlow Sync from Gooten?

Product cost, written as the order's COGS and marked as coming from actual 3PL data rather than from your own cost table:

  • Per-item production cost, with SKU and quantity

Fulfillment cost, combining:

  • Shipping charged by Gooten
  • Any surcharge
  • Order-level Gooten fees
  • Any discount applied
  • Tax and duty

Fulfillment cost is calculated as shipping plus surcharge plus fees, less any discount (never below zero), plus tax and duty.

Every figure comes from Gooten's partner columns -- what Gooten billed you -- never from the retail prices it echoes back from your storefront. Costs are read in USD and converted to your workspace currency; if Gooten reports an order in another currency, MerchantFlow syncs its tracking but leaves the costs alone rather than storing a wrong number.

Gooten sometimes splits one of your orders into several of its own. MerchantFlow collects every sibling and sums their costs into one figure for your order. Cancelled and refunded siblings are excluded, so a reversed charge does not land in your COGS -- and when every sibling is reversed, the cost is cleared back to zero.

How Gooten Costs Interact with Your COGS

For orders Gooten fulfils, Gooten's production cost takes over as the order's COGS. Your own COGS entries still matter for:

  • Products you fulfil yourself or through another provider
  • Orders placed before you connected Gooten
  • Forecasting and the scenario tools, which read your maintained costs

An order where you set a COGS override by hand is never overwritten by a Gooten sync -- a deliberate human entry always wins. Tracking and status still update on those orders.

So keep your COGS table populated even with Gooten connected -- it is the fallback everywhere Gooten does not reach.

Gooten also appears as its own scope in the Manual Sync Runner, so you can trigger a Gooten sync on its own.

What Happens If You Disconnect

Disconnecting falls back to your COGS setup for product cost and your configured fulfillment cost method for delivery. Costs already written to past orders stay as they are.

Frequently Asked Questions

Do I still need to enter COGS if Gooten is connected?

Yes, for anything Gooten does not fulfil. Gooten covers its own orders; everything else uses your maintained costs.

Why do some Gooten orders have no cost?

Usually the order has not been priced by Gooten yet, so there is no final cost to read. Two other causes: Gooten reported the order in a currency other than USD, or every Gooten order behind it was cancelled or refunded. In the first two cases MerchantFlow leaves any cost it already stored untouched rather than overwriting it with a guess.

Does Gooten's cost include tax and duty?

Fulfillment cost does -- tax and duty are added on top of the discounted shipping, surcharge and fee total. Production cost is the product cost itself.

How do I update my Gooten keys?

Return to Settings → Integrations, open the Gooten section, and enter the new Recipe ID or Partner Billing Key. Other integrations are unaffected.


Last updated on

On this page