OrderGuard
"No products are configured in Printful. Order was not imported."

No products are configured in Printful. Order was not imported. What it means and how to fix it

Your customer paid. The order is sitting in WooCommerce. Printful never received it, and the message you got points at your products rather than at what actually broke. Here is what is really happening.

What the message actually means

Despite the wording, this is almost never about a product being missing from your Printful dashboard. It means the integration walked your order line by line, could not match a single line to a Printful sync variant, and gave up on the whole order.

The match is done on an identifier stored on the WooCommerce variation, not on the product name or the SKU you see. So a product that looks perfectly configured on both sides can still fail to match, and the message will still say it is not configured.

This matters because it changes where you look. You are not looking for a missing product. You are looking for a broken link between two records that both exist.

The four causes, in the order you should check them

  1. The variation lost its link to Printful

    The link lives in the variation's metadata. It gets wiped by bulk edits, by CSV imports that overwrite meta, by product duplication, and by a sync that was interrupted halfway. The product still shows in Printful, the variation still shows in WooCommerce, and nothing connects them.

    How to check: open the product, switch to the Variations tab, and compare the variation count with what Printful shows for the same product. A mismatch is your answer.

  2. The order contains a variation that was never synced

    One unsynced line is enough. The integration does not send the lines it understands and skip the rest, it refuses the whole order. Mixed carts, where a print on demand item sits next to something you ship yourself, hit this constantly.

    How to check: open the failed order and look at every line, not just the obvious one. The offender is often a shipping fee line or a product added by hand.

  3. The product was re-created instead of edited

    Deleting and re-adding a product in Printful gives it new variant identifiers. The WooCommerce side keeps pointing at the old ones. Everything looks right in both dashboards.

    How to check: if the product was recently rebuilt on the Printful side, assume this is it. The fix is to relink, not to re-import the order.

  4. The order never reached Printful at all

    This is the one people miss. Printful does not receive your orders, it comes and fetches them through the WooCommerce REST API. If that API is unreachable from outside, orders simply sit there and the failure is silent, with no message at all in many cases.

    How to check: your API key has a last used date. If that date is older than the order, nobody came to collect it, and no amount of product fixing will help.

How to fix it, once you know which one it is

The part nobody tells you

If this happened once, it will happen again, because the official integration has no retry queue. We read its source: there is no retry, no backoff and no scheduling anywhere in it. Every operation is a single attempt, and a single attempt that fails is simply lost. That is the mechanism behind shops that report syncing "only half the time".

Confirm it on your own store in under a minute

OrderGuard is a free diagnostic plugin. It runs six checks against your own site and tells you, in plain language, which of these causes is yours. It asks for no API keys, contacts no external service, and writes nothing to your products or orders.

It also names the paid orders your supplier never collected, and adds up the money sitting in them. That one runs entirely on your own database.

Get the free plugin

Questions people ask about this

Will the order import if I just re-save the product?

Sometimes, because re-saving can restore the link. But if the cause is that nobody came to fetch the order, re-saving changes nothing and you will lose another day.

Can I lose the customer's payment by fixing this?

No, as long as you do not delete and re-create the order. The payment record lives on the order; recreate it and the record is gone.

How do I know whether my supplier ever collected an order?

WooCommerce stores a last used date for the API key your supplier authenticates with. Any paid order placed after that date, still waiting to be fulfilled, was collected by nobody. This can be checked entirely on your own server, with no supplier credentials.