Order Sync
Sync WooCommerce orders to Square automatically or manually.
SquareSync Pro provides bidirectional order synchronization between WooCommerce and Square with support for multiple fulfillment types, location-based splitting, and real-time status updates.
Settings Location
Go to SWS Pro > Settings > Orders to configure order sync options.
When the SquareSync Payment Gateway is enabled, some settings are locked because orders are automatically created during payment processing.
Enable Order Sync
| Setting | Description |
|---|---|
| Enable Order Sync | Toggle automatic order synchronization on/off |
| Sync Transactions | Include transaction/receipt information with orders |
| Trigger Status | When to sync: Processing or Completed status |
When Orders Sync
Orders sync to Square:
- After checkout completion
- When order status changes to the configured trigger status
- When manually triggered via order actions dropdown
What Gets Synced
Line Items
- Product name, quantity, unit price
- Square catalog object ID (if product is synced)
- Applied modifiers with prices
- Per-item tax rates
Discounts & Coupons
- Coupon codes and discount amounts
- Negative fees converted to discounts
- Applied at ORDER scope
Taxes
- Non-zero tax rates only
- Respects WooCommerce tax display settings
- Handles tax-inclusive/exclusive pricing
Fees & Service Charges
- Order fees synced as service charges
- Tips and gift card fees excluded
- Negative fees treated as discounts
Shipping
- Shipping cost and method
- Applied to first order only (when split by location)
Customer
- Matched or created in Square automatically
- Linked via email or phone number
Manual Order Sync
Sync Individual Order
- Go to WooCommerce > Orders
- Open the order you want to sync
- Select Sync order to Square from the Order Actions dropdown
- Click Update
Field Mapping Reference
Order Fields
| WooCommerce Field | Square Field |
|---|---|
| Order ID | metadata.wc_order_id |
| Customer ID | customer_id |
| Currency | currency |
| Billing name | display_name |
| Billing email | email_address |
| Billing phone | phone_number |
Line Items
| WooCommerce | Square |
|---|---|
| Product name | name |
| Quantity | quantity |
| Unit price (ex-tax) | base_price_money |
| Catalog ID | catalog_object_id |
| Variations | modifiers[] |
Fulfillment
| WooCommerce | Square |
|---|---|
| Shipping method | type (PICKUP/DELIVERY/SHIPMENT) |
| Shipping address | recipient.address |
| Pickup time | pickup_at / deliver_at |
| Customer name | recipient.display_name |
| Customer email | recipient.email_address |
Important Notes
- Payment Gateway Lock — When SquareSync Payment Gateway is enabled, basic sync settings are locked since orders sync automatically during payment
- Timezone Handling — All times converted to UTC for Square, displayed in WordPress timezone
- Duplicate Prevention — Atomic locks prevent orders from syncing twice
Troubleshooting
Orders not syncing
- Verify order sync is enabled
- Check the trigger status matches order state
- Confirm Square connection is active
- Review sync logs for errors
Duplicate orders
- Check if both payment gateway and manual sync are triggering
- Review webhook configuration
- Verify atomic locks are working
Missing order data
- Ensure all required fields are complete
- Check for API errors in logs
- Verify customer data exists