Doudlah B2B orders were syncing to ShipStation with an incorrect status, causing them to appear as already shipped rather than ready for fulfillment. The root cause was a custom plugin (Autocomplete offline orders) that was auto-completing orders on the WooCommerce thank-you page, setting their status to completed instead of processing. ShipStation skips orders marked completed (treating them as done) and skips orders marked on-hold (treating them as unpaid/not ready) — processing is the correct status for ShipStation to pick up and fulfill.
Attendees: Karly Oykhman, Mark Hope
on-hold by default; ShipStation ignores on-hold orders.Autocomplete offline orders) was overriding this and immediately setting orders to completed on the thank-you page.completed orders (treats them as already fulfilled).Plugin: Autocomplete offline orders (custom, installed on the Doudlah B2B WooCommerce site)
File: autocomplete-offline-orders.php
Line: 64
Original value: completed
Problem: The plugin was hooking into the thank-you page and immediately transitioning all offline orders to completed status.
Changed line 64 of autocomplete-offline-orders.php from completed to processing.
// Line 64 — before
'completed'
// Line 64 — after
'processing'
The fix was identified and applied via an MCP server (Model Context Protocol — an AI-powered terminal console with direct API access to the site). The cache was flushed after the change.
processing (set by the modified plugin).processing order and queues it for fulfillment.completed.This mirrors the existing B2C site behavior and is the intended flow.
processing (not completed) as the auto-set status for offline B2B orders. processing is the signal ShipStation needs to act; completed tells ShipStation the order is already done.processing — ShipStation's webhook handles the transition to completed after shipping, so no additional automation is needed.processing immediately after checkout, and (2) ShipStation picks it up correctly (~1 hour lag expected). Report result to Mark.