Skip to main content
Back to Articles

ShipStation-BigCommerce Split Fulfillment Custom Routing

By Wilson TechnologyPublished
BigCommerceIntegrationFulfillmentAutomationLogistics

When managing a growing e-commerce operation, searching for ways to handle "ShipStation BigCommerce partial shipments" is a common occurrence, reflecting a major operational hurdle. As your brand scales its omnichannel logistics, you inevitably encounter split fulfillment scenarios where a single customer order cannot be fulfilled in one simple box. Whether one item is on backorder, certain SKUs are dropshipped directly from a manufacturer, or inventory is distributed across multiple warehouses, complex fulfillment becomes a daily reality.

However, standard plug-and-play connections between e-commerce platforms and shipping software are rarely designed to handle this nuance gracefully. When you split an order in ShipStation, the default communication back to BigCommerce often breaks down. Order statuses update prematurely, tracking numbers overwrite each other, and customers are left confused about where the rest of their purchase is. In this article, we will explore the technical friction behind these issues and outline how correcting the underlying order status logic through a custom API integration can solve them.

The Core Problem with "ShipStation BigCommerce partial shipments"

BigCommerce and ShipStation both offer robust APIs and native connectivity, but their standard integration assumes a relatively linear fulfillment path: an order is placed, an order is picked, and the entire order ships.

When you introduce partial shipments, the logic gets muddy. In ShipStation, you might split an order into two distinct shipments so you can dispatch the in-stock items today and leave the backordered items in an "Awaiting Shipment" queue. When that first box gets its shipping label, ShipStation fires an update back to BigCommerce.

Depending on how your native connector is configured, one of several problematic things typically happens:

  1. Premature Completion: BigCommerce marks the entire order as "Shipped," triggering an email to the customer that implies everything is on the way. When they open a box missing half their items, your customer service team takes the brunt of the frustration.
  2. Stuck in Limbo: BigCommerce successfully recognizes a partial shipment but leaves the master order status as "Partially Shipped" indefinitely, even after the second half of the order finally goes out.
  3. Tracking Number Overwrites: The integration pushes the tracking number for the first shipment. When the second shipment leaves the warehouse a week later, the new tracking number completely overwrites the first one in BigCommerce, erasing the historical delivery data.

These errors stem from a fundamental mismatch in how the two platforms model data. ShipStation looks at shipments, while BigCommerce looks at the master order object. To fix this, you have to bridge the gap in how line items are tracked.

Understanding BigCommerce's Order Shipments API

To accurately handle split fulfillment, you have to leverage BigCommerce's architecture correctly. BigCommerce handles multiple shipments within a single order via its Order Shipments API. A shipment payload groups specific line items and their respective quantities to a specific shipping address and fulfillment location.

When a standard integration just blindly updates the top-level order status, it ignores the shipment level. To get partial shipments right, the update from ShipStation must specify exactly which line items and what quantities were included in that specific label generation event.

If you are using a generic connector, this detailed line-item mapping is often omitted because it requires significantly more processing power and complex mapping logic. Instead of parsing out that SKU A shipped but SKU B didn't, the connector simply says, "Order #12345 has a tracking number now."

The Wilson Tech Approach

When businesses run into these partial fulfillment issues, the classic tech fix is to immediately try and force a workaround. We often see teams building brittle middleware scripts—or stringing together complex Zapier flows—that attempt to intercept ShipStation webhooks and "guess" what the order status should be in BigCommerce. Alternatively, they might try to force warehouse teams to manually update statuses in both systems, leading to human error and massive operational overhead.

The Wilson Tech Approach is different: we solve the business problem first, then build the tech around it. Before we write a single line of custom API logic to fix ShipStation BigCommerce partial shipments, we look holistically at your operational lifecycle.

Why are split shipments happening in the first place? If it is due to poor inventory synchronization across warehouses, fixing the integration between your ERP and BigCommerce might eliminate the need for partial shipments entirely. For example, while modern cloud ERPs like NetSuite provide robust REST APIs via SuiteTalk and server-side scripting via SuiteScript, their intricate workflows present a learning curve that can occasionally lead warehouse staff to create mismanaged inventory states. If split fulfillments are an intentional business strategy—like dropshipping large items while fulfilling accessories in-house—then the integration needs to reflect that reality.

Instead of slapping a band-aid on the symptom by hacking ShipStation's native sync, we often recommend decoupling the routing logic. The Wilson Tech Approach focuses on solving these process bottlenecks at the architectural level. By utilizing a custom Order Management System (OMS) module or an intelligent middleware layer, we can split the order before it ever reaches ShipStation, using the same custom logic for splitting dropship and stocked items from one BigCommerce order we build for clients running mixed fulfillment models. BigCommerce can route the in-house items to your primary ShipStation account, while routing dropship items directly to the vendor's portal. This completely eliminates the order status confusion, because each system only sees the items it is actually responsible for fulfilling.

Building a Custom Architecture for Order Routing

Integration ROI Estimator

Calculate Your ROI

Expand

Step 1 of 2 — Your Integration Landscape

Shopify, NetSuite, ShipStation…

iPaaS, middleware, retainers — 0 if none.

If partial shipments must be handled after the order reaches the warehouse, relying on the native plugin is not viable. You need a custom integration architecture that respects the data models of both platforms.

Here is what a robust custom API integration looks like for handling ShipStation BigCommerce partial shipments and streamlining your omnichannel logistics operations:

  1. Decouple the Native Sync: First, turn off the native status sync that pushes shipment updates from ShipStation back to BigCommerce. This prevents the native app from making premature or incorrect status changes.
  2. Listen for Webhooks: Set up a secure endpoint (such as an AWS API Gateway connected to AWS Lambda) to listen for the SHIP_NOTIFY webhook from ShipStation.
  3. Parse the Payload: When a label is created, the serverless function receives the webhook payload. However, the ShipStation SHIP_NOTIFY payload only contains a resource_url. Your middleware must make a subsequent GET request to that URL to retrieve the actual shipment details, and then iterate through the response to identify the specific line items and quantities that were included in that specific shipment.
  4. Update BigCommerce Shipments: The function then makes an authenticated REST API call to the BigCommerce Orders API (specifically the Shipments endpoint). It creates a new shipment under the master order, passing in the exact line items, quantities, and the specific tracking number.
  5. Let BigCommerce Handle the Status: When you create a shipment for specific line items via the API, BigCommerce's internal logic takes over. It will automatically calculate if all items have been fulfilled. If only some items are in the shipment, BigCommerce natively transitions the order to "Partially Shipped." Once the final items are shipped in a subsequent webhook, BigCommerce will automatically bump the master status to "Shipped."

Navigating Platform Limitations and Rate Limits

While building this custom architecture is the definitive solution, it requires careful handling of API constraints. BigCommerce has strict concurrency limits and API rate limits. If you process a massive batch of 500 labels at the end of the day in ShipStation, blasting 500 simultaneous requests to the BigCommerce API will result in HTTP 429 Too Many Requests errors.

To build a resilient system, your custom middleware must implement a queuing mechanism. Using a decoupled event-driven architecture with an event bus or message broker (like Amazon SQS) ensures that webhook payloads are queued and processed sequentially, respecting BigCommerce's rate limits. It is important to note that Amazon SQS relies on a static visibility timeout for retries. It does not natively provide exponential backoff, which requires custom implementation within the consuming service (like AWS Lambda) or via dead-letter queues.

Furthermore, you must handle edge cases in your mapping logic. For instance, if a customer orders a bundled product, ShipStation might break that bundle into its component SKUs for the warehouse team. BigCommerce, however, might only recognize the parent bundle SKU. Your middleware needs the intelligence to translate the component SKUs back to the parent bundle when reporting the shipment back to BigCommerce, or else the API call will fail — the exact scenario covered in handling complex bundle splitting from BigCommerce to a 3PL without Workato.

Operational Benefits of Getting It Right

Fixing the logic behind ShipStation BigCommerce partial shipments does more than just clean up your data—it actively protects your brand reputation and bottom line.

Correcting your order status logic means your automated customer notification emails actually make sense. Customers receive a tracking number that clearly states, "Item A has shipped, Item B is still processing." This dramatically reduces the volume of "Where is my order?" tickets hitting your Zendesk or customer service inbox — tickets that often trace back to the same root causes behind delayed shipping notifications.

Furthermore, accurate fulfillment data ensures that revenue recognition and financial reporting in your ERP are precise. When partial shipments are recorded correctly, your finance team knows exactly what liabilities remain and what revenue can be recognized today.

E-commerce growth relies on systems that can handle complexity gracefully. By stepping away from rigid native connectors and designing a custom, logic-driven architecture, you can turn fulfillment from a massive headache into a streamlined, automated operational strength. The Wilson Tech Approach ensures that your technical solutions are always driven by your fundamental business processes. (Our Automated Order Gatekeeper case study provides a real-world example of this scale).

Ready to streamline your complex fulfillment operations?

If you are struggling with complex routing or split fulfillment limitations between ShipStation and BigCommerce, it is time to move beyond generic plugins.

Ready to streamline your complex fulfillment operations? Contact WTECH to schedule a technical discovery session.

Frequently Asked Questions

Why does BigCommerce mark my whole order as shipped when I only shipped one item?

Standard integrations often update the master order status instead of specific line items. You need a custom API connection to target BigCommerce's Order Shipments API for accurate item-level updates.

Can ShipStation natively handle BigCommerce bundle products for partial shipments?

No, if ShipStation splits a bundle into component SKUs, the native BigCommerce sync will fail. Middleware is required to translate the component SKUs back to the parent bundle ID.

How do I prevent API rate limit errors when syncing end-of-day batches?

Batch processing often triggers HTTP 429 errors in BigCommerce. Implement a decoupled queue like Amazon SQS to throttle inbound webhooks and process shipment updates sequentially.

Should I use Zapier to fix ShipStation order status updates?

No. If Zapier's inbound gateway rejects a payload, it cannot retry it because it was never ingested; the sender must handle retries. It also struggles with complex array iterations.