What this plugin does
TikTok Shop Orders Sync for WooCommerce connects one TikTok Shop to WooCommerce through the TikTok Shop Open API (version 202309). It imports orders every 15 minutes, maps TikTok statuses to WooCommerce statuses, marks packages shipped with tracking, opens TikTok shipping labels from the order screen, and pushes stock every hour.
Jobs run on Action Scheduler (WP-Cron as a fallback) once the shop is connected and Enable syncing is ticked.
Requirements
- WordPress 5.8 or later and PHP 7.4 or later
- WooCommerce 7.0 or later, HPOS or legacy order storage
- A TikTok Shop seller account and an app in TikTok Shop Partner Center
- An HTTPS site for the authorisation callback
Installation
- Upload the zip at Plugins → Add New → Upload Plugin and activate it with WooCommerce active.
- Open WooCommerce → TikTok Shop Sync. Tabs: Settings, Sync log, Status.
Connecting your TikTok Shop
- Create an app in TikTok Shop Partner Center (partner.tiktokshop.com).
- Set the app’s callback URL to the one in the Getting connected box, e.g.
https://yourstore.com/wp-admin/admin-post.php?action=rau_tos_action&do=callback. - Copy the App Key, App Secret and Service ID into the plugin and save. The Service ID is on your app’s page and builds the seller authorisation link.
- Click Connect TikTok Shop, sign in as the seller and approve. The shop is detected and shown under Connected shop.
- Tick Enable syncing, then press Sync orders now.

Settings reference
| Setting | What it does |
|---|---|
| App Key / App Secret | From your Partner Center app. The secret is stored encrypted. |
| Service ID | From your app page; builds the authorisation link. |
| Connected shop | Read-only. The authorised shop. |
| Enable syncing | Master switch for scheduled jobs. |
| Import | Import TikTok Shop orders every 15 minutes. |
| Import orders with status | Which TikTok orders to import — usually Awaiting shipment. Also: Awaiting collection, In transit, Delivered, Completed, Cancelled. |
| Status mapping | WooCommerce statuses for New / awaiting shipment, In transit, Delivered / completed and Cancelled. |
| Shipping | Mark TikTok packages shipped when the order reaches the In transit status above. |
| Look back (days) | How far back each import looks, up to 30 days. |
| Stock sync | Push WooCommerce stock to TikTok Shop every hour, matched by seller SKU. |
| Warehouse ID (optional) | Send stock to a specific TikTok warehouse; leave empty for the default. |
Buttons on the settings screen
| Button | What it does |
|---|---|
| Connect TikTok Shop | Starts authorisation. Appears once App Key, Secret and Service ID are saved. |
| Test connection | Makes a signed read-only call and logs the result. |
| Refresh shop | Re-reads the authorised shop details. |
| Sync orders now | Imports immediately. |
| Push stock now | Sends stock immediately. |
| Clear cached SKU map | Forgets the seller-SKU map built from your TikTok catalogue. Use after adding listings. |
| Refresh token | Forces an access-token refresh. Normally automatic. |
| Disconnect | Removes the stored tokens. |
How orders are imported
Every 15 minutes the plugin searches TikTok orders with your chosen status updated within the look-back window. Each becomes a WooCommerce order with the recipient address, line items, shipping fee and seller discounts, and records the TikTok order ID, status and payment method.
Lines are matched by seller SKU; unmatched lines become placeholders with a warning note. Imports are keyed on the TikTok order ID, and later syncs move the WooCommerce order through your status mapping as TikTok’s status changes.
Marking packages shipped and printing labels
The TikTok Shop panel on the order screen shows the TikTok order ID, current TikTok status and whether it has been marked shipped, with fields for the tracking number and shipping provider ID.
When the order reaches the status mapped to In transit, the plugin marks the package shipped on TikTok with that tracking number and provider. Tracking recorded by a shipment-tracking plugin is used automatically.
Click Shipping label to open TikTok’s label for the order — useful when you ship with TikTok’s own logistics.

Stock sync
TikTok addresses inventory by product ID plus SKU ID, so the plugin builds a seller-SKU map from your TikTok catalogue and caches it for a day. SKUs with no TikTok match are skipped. After adding listings, press Clear cached SKU map. Hold back a safety quantity with rau_tos_stock_buffer.
The sync log and Status tab
The Sync log records imports, status changes, shipments, label requests, stock pushes and errors, with TikTok’s error code and message and raw API detail. Entries link to the order and are kept for seven days.
The Status tab shows whether the app is configured and the shop authorised, the shop and seller, API endpoint, token and refresh-token expiry, last and next sync, orders this month, errors in the last 24 hours and the scheduler.

What the free version includes
- Up to 150 imported orders per month
- One TikTok Shop
- 15-minute order sync and hourly stock sync
- 30-day order look-back
- 7-day log retention
- Shipping and labels one order at a time
Troubleshooting
| What you see | What to do |
|---|---|
| “Signature is invalid” | The App Key and App Secret must come from the same Partner Center app. Re-paste both. |
| Authorisation fails | The callback URL registered on the app must match the one on the Settings tab exactly. |
| Authorisation about to lapse | The plugin warns you before the refresh token expires. Reconnect before it does. |
| Stock sync skips SKUs | Those seller SKUs don’t exist in TikTok, or were added after the map was cached — Clear cached SKU map. |
| Package not marked shipped | Check the order reached the In transit mapping and has a tracking number and provider; the log shows TikTok’s reason. |
For developers: hooks
Every hook below is part of the plugin’s public surface and safe to use from a theme’s functions.php or a small site plugin.
| Hook | Type | Use it to |
|---|---|---|
rau_tos_order_imported | action | Run code after a TikTok order is created. Receives the WC_Order and the TikTok order. |
rau_tos_stock_buffer | filter | Hold back a safety quantity per product. |
rau_tos_unmanaged_stock_value | filter | Quantity for products that don’t manage stock. |
rau_tos_stock_rows | filter | Adjust rows before stock is pushed. |
rau_tos_loaded | action | Fires once the plugin has booted. |
// Keep 5 units back on TikTok during a campaign.
add_filter( 'rau_tos_stock_buffer', function () {
return 5;
} );Uninstalling
Deleting the plugin removes its settings, tokens, SKU map, counters and log table. Imported orders remain in WooCommerce.
Questions people ask
Which TikTok Shop regions work?
The plugin uses TikTok Shop’s global Open API, so any shop your Partner Center app is authorised for. The free version connects one shop.

