Docs
Order Splitting by Location

Order Splitting by Location

Automatically split orders across multiple Square locations based on inventory.

Automatically split WooCommerce orders into multiple Square orders based on product inventory at different locations.

Overview

When enabled, order splitting:

  • Checks real-time stock levels at each location
  • Assigns products to locations with available inventory
  • Creates separate Square orders per location
  • Processes payments without additional charges

Enable Order Splitting

  1. Go to SWS Pro > Settings > Orders
  2. Find the Order Splitting section
  3. Toggle on Split by Location
  4. Click Save Changes

How It Works

Step 1: Inventory Check

When an order is placed, the system checks real-time stock levels at each Square location for every product in the order.

Step 2: Location Assignment

Each product is assigned to the best location based on priority:

PriorityCondition
1Default location (if product is in stock)
2Other locations with available stock
FallbackDefault location (regardless of stock)

Step 3: Order Creation

Separate Square orders are created for each location that has assigned products.

Step 4: Payment Handling

Uses EXTERNAL payment records so customers are not charged multiple times.

Order Distribution

When an order is split:

ItemApplied To
Line itemsDistributed by location
DiscountsFirst split order only
ShippingFirst split order only
FeesFirst split order only

Requirements

For order splitting to work properly:

  • Products must be synced from Square (needs location metadata)
  • Multiple Square locations must be configured
  • Inventory tracking must be enabled in Square

Limitations

Local Pickup Orders

Order splitting is disabled for local pickup orders. The entire order is sent to the pickup location.

Background Processing

Order splitting runs in the background to avoid checkout delays. There may be a short delay before split orders appear in Square.

Example Scenario

Customer orders:

  • 2x Widget A (in stock at Location 1)
  • 1x Widget B (in stock at Location 2 only)
  • 1x Widget C (in stock at both locations)

Result:

  • Order 1 (Location 1): 2x Widget A, 1x Widget C, shipping, discounts
  • Order 2 (Location 2): 1x Widget B

Troubleshooting

Orders not splitting

  • Verify order splitting is enabled
  • Check that products have location metadata (synced from Square)
  • Confirm multiple locations are configured
  • Review sync logs for errors

Wrong location assignment

  • Check inventory levels at each location
  • Verify default location is configured correctly
  • Review location priority logic

Missing discounts on split orders

  • Discounts only apply to the first split order
  • This is expected behavior to prevent double-discounting