Skip to Content

Rithum (ChannelAdvisor) Orders Sync for WooCommerce — Documentation

Rithum (ChannelAdvisor) Orders Sync for WooCommerce — Documentation

What this plugin does

Rithum (ChannelAdvisor) Orders Sync for WooCommerce connects one Rithum account to WooCommerce through the Rithum REST API. It imports orders every 15 minutes, pushes shipments and cancellations when order statuses change, and syncs stock by SKU every hour.

Jobs run on Action Scheduler (WP-Cron as a fallback) once 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 Rithum (ChannelAdvisor) account and a developer account at developer.channeladvisor.com
  • WooCommerce SKUs that match your Rithum product SKUs

Installation

  1. Upload the zip at Plugins → Add New → Upload Plugin and activate it with WooCommerce active.
  2. Open WooCommerce → Rithum Sync. Tabs: Settings, Sync log, Status.

Connecting your Rithum account

  1. Request a developer account at developer.channeladvisor.com.
  2. In the Developer Console, create an Application. It generates an Application ID and Shared Secret.
  3. Grant the application access to your Rithum account. This produces a refresh token.
  4. Paste all three into the plugin. Add a Profile ID only if the application can see more than one profile and you want a specific one.
  5. Save, press Test connection, then tick Enable syncing.
Rithum Orders Sync settings with Application ID, Shared Secret, refresh token and profile ID fields
WooCommerce → Rithum Sync: Application ID, Shared Secret and refresh token from the ChannelAdvisor Developer Console.

Settings reference

SettingWhat it does
Application ID / Shared SecretFrom your Developer Console application. Both stored encrypted.
Refresh tokenLong-lived token from granting access. Exchanged for a one-hour access token automatically.
Profile ID (optional)Restrict imports to one Rithum profile.
Enable syncingMaster switch for scheduled jobs.
ImportImport Rithum orders every 15 minutes.
Import orders with statusActive (the default), Complete or Cancelled.
Status for imported ordersWooCommerce status for new orders, usually Processing.
Push shipment when status becomesWhen the order reaches this status (usually Completed), the shipment is sent to Rithum.
Push cancellation when status becomesCancelling in WooCommerce with this status cancels the order on Rithum if no shipment exists.
Look back (days)How far back each import looks, up to 30 days.
Stock syncPush WooCommerce stock to Rithum every hour, matched by SKU.
Distribution centre IDThe Rithum distribution centre that receives stock quantities.

Buttons on the settings screen

ButtonWhat it does
Test connectionGets an access token and makes a read-only call.
Sync orders nowRuns an import immediately.
Push stock nowSends stock immediately.
Clear cached SKU mapForgets the SKU → Rithum product ID lookups. Use after adding products in Rithum.

How orders are imported

Every 15 minutes the plugin queries /v1/Orders for orders with your chosen status created within the look-back window, expanding items and fulfilments, page by page. Each becomes a WooCommerce order with buyer and shipping addresses, marketplace shipping charges, tax, the marketplace name and its site order ID.

Lines are matched by SKU. Unmatched lines are imported as placeholders with a warning note. Imports are keyed on the Rithum order ID, so repeat syncs never duplicate.

Pushing shipments and cancellations

The Rithum panel on the order screen shows the marketplace, site order ID, Rithum order ID and whether the shipment was sent, with fields for carrier, shipping class (for example Ground) and tracking number.

When the order reaches Push shipment when status becomes, the plugin sends the shipment with those values. Rithum passes it to the marketplace. Adjust the payload with rau_ros_shipment_payload if your carrier needs extra fields.

Cancelling the order in WooCommerce with the mapped status, before a shipment exists, cancels it on Rithum.

WooCommerce order with the Rithum panel showing Walmart Marketplace, site order ID, UPS Ground and tracking number
A Walmart Marketplace order imported through Rithum. The panel shows the marketplace, its site order ID, the Rithum order ID and shipment state, with carrier, shipping class and tracking.

Stock sync

Rithum addresses products by its own internal product ID, so the plugin looks each SKU up once and caches the mapping. SKUs with no Rithum product are remembered as misses and skipped. After adding products in Rithum, press Clear cached SKU map.

Quantities go to the distribution centre you set. Hold back a safety quantity with rau_ros_stock_buffer.

The sync log and Status tab

The Sync log records imports, shipments, cancellations, stock pushes and errors, with raw API detail and links to orders. Entries are kept for seven days.

The Status tab shows connection and syncing state, the API endpoint, how long the access token is valid, last and next sync, last stock push, orders this month, errors in the last 24 hours and the scheduler.

Rithum Orders Sync log with imports from Walmart and Amazon and a shipment entry
Orders from Walmart Marketplace and Amazon imported through Rithum, and a UPS Ground shipment sent back.

What the free version includes

  • Up to 100 imported orders per month
  • One Rithum account
  • 15-minute order sync and hourly stock sync
  • 30-day order look-back
  • 7-day log retention
  • Whole-order shipments with one tracking number

Troubleshooting

What you seeWhat to do
Test connection fails with invalid_grantThe refresh token doesn’t belong to this Application ID and Secret, or access was revoked. Grant access again and paste the new token.
Stock sync skips productsThose SKUs aren’t in Rithum, or were added after the map was cached. Press Clear cached SKU map.
Nothing importsCheck the status filter is Active, the look-back covers the orders, and a Profile ID isn’t excluding them.
Shipment rejectedThe log shows Rithum’s reason — typically a carrier or class value the marketplace doesn’t accept.

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.

HookTypeUse it to
rau_ros_order_importedactionRun code after a Rithum order is created. Receives the WC_Order and the Rithum order.
rau_ros_shipment_payloadfilterChange the shipment sent to Rithum. Receives the payload and the WC_Order.
rau_ros_stock_bufferfilterHold back a safety quantity per product.
rau_ros_unmanaged_stock_valuefilterQuantity for products that don’t manage stock.
rau_ros_stock_rowsfilterAdjust rows before stock is pushed.
rau_ros_loadedactionFires once the plugin has booted.
// Hold back 1 unit on every product sold through Rithum.
add_filter( 'rau_ros_stock_buffer', function () {
	return 1;
} );

Uninstalling

Deleting the plugin removes its settings, tokens, SKU map, counters and log table. Imported orders remain in WooCommerce.

Questions people ask

Can I import only one marketplace’s orders?

Per-marketplace rules are part of the Pro edition; the free version imports all Rithum orders matching the status filter.