HomeExtensionsSetting up Printful (print-on-demand)

Setting up Printful (print-on-demand)

The Printful extension connects your Printful print-on-demand store to TitanCart. It imports your Printful products as real storefront products, sends paid orders to Printful for fulfillment, can charge your customers Printful’s live shipping rates at checkout, and can add tracking to an order automatically once Printful ships it. This guide takes about twenty minutes and assumes you already have a Printful account with at least one synced product.

1. Activate and enable the extension

  1. Go to TitanCart → Extensions → Installed Extensions and enter your Printful license key to activate it.
  2. Open Growth → Printful and switch the master Enabled toggle on.

Note: the Enabled toggle stays locked until a valid license is active — that’s expected. Activate your license first, then enable. Nothing imports, sends, or syncs until this master toggle is on.

2. Connect your Printful account

On the Growth → Printful page, find the Connect card and paste your Printful private API token, then save.

  1. In your Printful dashboard, open Settings → Developers → API and create a private token for your store.
  2. Copy the token, paste it into the Connect card in TitanCart, and save.

When the token is valid, the card shows your connected store name — that confirms TitanCart is talking to Printful.

Note: the token is store-level. If you run more than one Printful store, use the token for the store whose catalog you want to sell through this site.

3. Choose where products land and how stock behaves

Before importing, set two options on the Printful page:

  • Default category — the TitanCart category imported products are placed in. Pick an existing category (for example “Apparel”) so imported items aren’t uncategorised.
  • Stock — how TitanCart treats availability:
    • Always in stock (default) — print-on-demand items are made to order, so they’re always sellable. Best for most stores.
    • Follow Printful availability — TitanCart checks each variant’s availability and marks a discontinued or out-of-stock variant as sold out. The product stays visible but can’t be added to the cart until it’s available again. Choose this if you sell items that Printful sometimes discontinues.

4. Import your products

In the Import & sync card, click Import all products. A progress bar shows how many products were created, updated, and grouped as it works through your Printful catalog.

When it finishes:

  • Each Printful product becomes one storefront card, with its size/colour options as selectable variants — not a separate card per size.
  • Each variant keeps its own Printful SKU and its own retail price.
  • Printful mockup images are pulled into your media library and attached to the product.

Note: Import all products is safe to run again — it’s a reconcile, not a duplicate. Re-running updates any product whose price, name, or (in availability mode) stock changed in Printful, and skips everything unchanged. See “Keeping your catalog in sync” below.

5. Choose how orders are sent to Printful

On the Printful page, set Order mode — this decides what happens when a customer pays for a Printful product:

  • Draft (default) — the order is pushed to Printful as a draft that you review and confirm yourself in the Printful dashboard. Safest while you’re getting started, and the recommended default.
  • Auto — the order is pushed and automatically confirmed for fulfillment, no manual step. Switch to this once you trust the flow and want hands-off fulfillment.

Either way, only the Printful lines of an order are sent — if a customer buys a Printful shirt and one of your own in-house products in the same order, just the shirt goes to Printful.

6. Track fulfillment from the order screen

Open any order containing a Printful product and look for the Printful Fulfillment panel. It shows the current state (draft, pushed, confirmed, or an error), a link to the order in your Printful dashboard, and — if a push ever fails — a Push / Retry button to send it again. Once an order has a Printful order number, the button disappears so you can’t create a duplicate.

7. (Optional) Charge live Printful shipping rates

By default your normal TitanCart shipping applies. If you’d rather charge exactly what Printful charges you to ship, turn on Live Printful shipping rates and save. At checkout, a “Printful Shipping” method then appears priced at Printful’s live rate for the customer’s address, and the customer is charged that same amount.

Note: Printful needs a destination to quote a rate. For US addresses it needs the state — the method appears once the shopper has entered enough of their address for Printful to price it. Turning the toggle back off restores your normal shipping unchanged.

8. (Optional) Turn on automatic tracking

The Fulfillment webhooks card lets Printful tell TitanCart the moment an order ships. Click Register and the status dot turns green. From then on, when Printful ships an order, TitanCart automatically records a shipment with the carrier and tracking number, adds the tracking link, and clears the order out of your “Needs Fulfillment” list — no manual entry.

Note: registration is per-store and re-runs itself if your site URL changes, so you normally only click Register once. If the dot ever shows disconnected, click Re-register.

Keeping your catalog in sync

Your TitanCart catalog can drift from Printful over time (new price, renamed product, a discontinued variant). Two ways to keep them aligned:

  • Manual — click Import all products again whenever you want. It reconciles in place: updates changed prices/names/stock and marks vanished variants out of stock, without touching anything unchanged.
  • Daily auto-sync — turn on Daily auto-sync and TitanCart runs that same reconcile once a day automatically.

Troubleshooting

  • The Enabled toggle won’t switch on — activate your license first under TitanCart → Extensions → Installed Extensions.
  • Connect says the token is invalid — regenerate a private API token in Printful under Settings → Developers → API and make sure you copied the whole string with no trailing spaces.
  • A product I fixed in Printful didn’t come back after I deleted it in TitanCart — re-run Import all products; the importer re-creates a deleted product on the next sync.
  • A discontinued item still shows as buyable — set Stock to Follow Printful availability and re-run the import; in the default “Always in stock” mode, POD items are always sellable by design.
  • No “Printful Shipping” method at checkout — confirm Live Printful shipping rates is on, and that the shopper has entered their address including state/region so Printful can quote a rate.
  • Orders aren’t reaching Printful — check the order’s Printful Fulfillment panel for an error and use Push / Retry; confirm the products in the order were actually imported from Printful (only mapped lines are sent).
  • Tracking isn’t appearing automatically — open the Fulfillment webhooks card and make sure the status dot is green; click Re-register if not.

See also

Previous
Setting up Tips & Donations
Next
How the Extensions Marketplace works