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
- Go to SWS Pro > Settings > Orders
- Find the Order Splitting section
- Toggle on Split by Location
- Click Save Changes
Enabling order splitting automatically enables the "Combine All Location Stock" setting for accurate inventory visibility.
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:
| Priority | Condition |
|---|---|
| 1 | Default location (if product is in stock) |
| 2 | Other locations with available stock |
| Fallback | Default 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:
| Item | Applied To |
|---|---|
| Line items | Distributed by location |
| Discounts | First split order only |
| Shipping | First split order only |
| Fees | First 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