Docs / Connect WooCommerce to Suppli

Connect WooCommerce to Suppli

WooCommerce runs on your own WordPress site, so Suppli talks to your store directly through its REST API. You approve Suppli on your store in one click, or past

Illustration coming soon

Connect WooCommerce to Suppli

WooCommerce runs on your own WordPress site, so Suppli talks to your store directly through its REST API. You approve Suppli on your store in one click, or paste a REST API key pair. Suppli then keeps stock (and, if you turn them on, prices, orders and reports) in step with your supplier feeds.

No app to install

Nothing is added to your WordPress site. Suppli uses the REST API every WooCommerce store already has.

Steps

  1. Go to Add connection in Suppli. In Channels, click Add connection, pick the Supplier whose stock should count on this store, and choose WooCommerce from the Platform dropdown. Click Connect WooCommerce.

  2. Enter your store URL and approve Suppli. Type your store's address (it must be https://). Suppli sends you to your own store's approval page: log in to WordPress if asked, leave the permissions at Read/Write, and click Approve. You are brought back to Suppli with the store connected.

    Can't use the approve page? Paste keys instead

    In WordPress go to WooCommerce → Settings → Advanced → REST API → Add key, permissions Read/Write, and paste the consumer key and secret into the form under "Paste REST API keys instead". Suppli checks the pair against the store before saving it and stores it encrypted.

    Stores on "Plain" permalinks (WordPress → Settings → Permalinks) cannot serve the approve page; Suppli tells you so and opens the paste form. It then talks to the store through ?rest_route= instead of /wp-json/, automatically.

  3. One store, several suppliers. If more than one supplier stocks the same store, connect the store once and then pick Use this store's connection for each further supplier. The store's stock total is the sum of every supplier connected to it.

  4. You're done — stock syncs automatically. Every supplier feed updates the matching products and variations on your store by SKU: the SKU in Suppli must equal the SKU on the WooCommerce product or variation. Suppli turns on Track stock ("Manage stock") for each product it updates and sets the quantity.

    • At stock 0 WooCommerce shows Out of stock by itself, and In stock again when stock returns. Suppli never hides, drafts or deletes a product.
    • Suppli leaves your backorder settings alone: a product that allows backorders keeps selling at 0, as you configured it.
    • A product whose SKU is not on the store is reported as Not listed in Sync logs. Grouped, external/affiliate, bundle and composite products carry no stock of their own and are reported as type not supported, never as a failure.
    • Sync logs shows a WooCommerce stage with its own counts for every run.

Prices

Suppli writes a WooCommerce price only when you ask it to, and only the regular price. It never touches a sale price.

  • Price rules on a product mapping push the rule's price with the stock, on every sync.
  • The Repricer (Repricer → WooCommerce) calculates a price from cost, shipping, fees and margin and pushes it automatically or after your approval. See Repricer.
  • Currency. Suppli calculates in USD. For a store that sells in another currency, the final price is converted with a daily exchange rate and rounded to the store's price decimals; the store card in the Repricer shows the rate and date. If there is no fresh rate, nothing is pushed and the card says why.
  • A regular price at or below an active sale price is not sent, because WooCommerce would remove the sale.

Orders, labels and tracking (Fulfillment)

With the Fulfillment app on, Suppli registers two webhooks on your store (order created, order updated) and also polls the store every 15 minutes, so an order is never missed even when WooCommerce stops a webhook.

  • An order is recorded when its status is one you chose in Fulfillment settings (default: Processing, the paid status).
  • Suppli buys the label through EasyPost for US ship-to addresses; other countries are flagged for manual handling.
  • When the label is bought, Suppli adds a tracking note to the order, saves the tracking number in the order's meta, and marks the order Completed.

See Fulfillment.

Profit and loss (Finance)

With the Finance app on, the WooCommerce tab reads your orders for the period: revenue, refunds and the fees recorded on the orders. WooCommerce charges no platform fee of its own; your payment gateway's fee is not on the order and can be added as a custom charge. Amounts are shown in the store's currency. See Finance.

Troubleshooting

What you see What it means What to do
Key revoked: reconnect on the Channels row The store refused Suppli's key three times in a row (the key was deleted or edited, or its WordPress user is gone). Suppli stopped pushing to this store and sent you one Inbox alert. Approve Suppli on the store again, or paste a new Read/Write key pair. Nothing on the store was changed.
"The store refused the key … Authorization header" Some hosts (Apache/CGI) and security plugins strip the Authorization header, so a valid key still gets 401. Ask your host to pass the header to WordPress, or add the usual .htaccess rule for HTTP_AUTHORIZATION.
"uses Plain permalinks" on the connect page WordPress is not serving /wp-json/ or the approve page. Paste keys (Suppli uses ?rest_route=), or switch permalinks to Post name.
Pushes are slow or time out A slow host cannot answer a batch of 100 updates in time. Nothing to do: Suppli halves the batch and retries, down to 10 items per call.
Not listed in Sync logs No product or variation on the store has that SKU. Set the SKU on the WooCommerce product (or variation) to match Suppli's.
type not supported The product is grouped, external, a bundle or a composite. Stock the simple products or variations inside it instead.
The storefront still shows the old stock A page cache (LiteSpeed, WP Rocket, Cloudflare) is serving an old page. WooCommerce itself has the right number and checkout checks real stock. Purge the cache, or wait for it to expire. Suppli does not purge other people's caches.
Store moved (https, www, new domain) Pushes would go to the old address. On the WooCommerce page, open Store moved? Change its URL. Suppli re-checks the keys at the new address and keeps your product cache if it is the same store.

Each connected store shows its last error from the store on the Channels row and on the WooCommerce page.

What Suppli does on your store

Suppli reads products, orders (Fulfillment) and store settings; writes stock, prices only through the Repricer or price rules, and order notes and the Completed status for Fulfillment; it never deletes, hides, drafts or publishes anything, never edits customers, and never changes a product's backorder setting.

Also useful