New: the AI assistant diagnoses sync issues from your own logsRead more →
DocsFulfillment Types

Fulfillment Types

Configure how orders sync to Square with pickup, delivery, or shipment fulfillment.

Orders sync to Square with one of three fulfillment types based on the WooCommerce shipping method used.

Fulfillment Types

TypeWhen UsedDetails Included
PICKUPLocal pickup shipping methodPickup time, recipient info, pickup location
DELIVERYDelivery-mapped shipping methodDelivery time, recipient address
SHIPMENTStandard shipping (default)Shipping address, carrier info

Delivery Mapping

Map WooCommerce shipping methods to Square DELIVERY fulfillment for local delivery orders.

Configure Delivery Methods

  1. Go to SWS Pro > Settings > Orders
  2. Find the Delivery Mapping section
  3. Select which shipping methods represent delivery orders
  4. Click Save Changes

Available Methods

Any WooCommerce shipping method can be mapped:

  • flat_rate
  • free_shipping
  • local_pickup
  • pickup_location
  • Custom shipping methods from plugins

Delivery Time Calculation

The delivery time sent to Square is calculated as:

  1. With Orderable integration: Uses Orderable's delivery time
  2. Without Orderable: Current time + Preparation time setting

Local Pickup Mapping

Configure how pickup orders sync to specific Square locations.

Configure Pickup Methods

  1. Go to SWS Pro > Settings > Orders
  2. Find the Pickup Mapping section
  3. Select which shipping methods represent pickup orders (default: local_pickup)
  4. Click Save Changes

Pickup Location Mapping

Map WooCommerce pickup locations to Square locations. Both ways WooCommerce offers pickup are listed (since 10.5.14):

  • Zone-based "Local pickup" methods — one Local pickup shipping method per store inside a shipping zone (for example "Pick up at Raymond Terrace" and "Pick up at Glendale" in your Domestic zone). Each method is listed with its zone name. This is the common multi-store setup and works on both the classic and the block checkout.
  • Block checkout Local pickup locations — the list of locations under WooCommerce → Settings → Shipping → Local pickup, offered under one method on the checkout block only.
WooCommerce LocationSquare Location
Store A→ Square Location A
Store B→ Square Location B
Store C→ Square Location C

If no mapping exists for a location, the default Square location is used.

Only Offer Pickup From Stores With Stock

Since 10.5.13. By default WooCommerce offers every pickup location at checkout whatever the cart contains, so a customer can choose a store that does not stock the item and the order lands at a Square location that cannot fulfil it. Turn on Only offer pickup from stores with stock (under the Pickup Location Mapping table) and the plugin checks each mapped pickup location against the per-location stock the sync already keeps on every product:

  • A pickup location whose Square location does not have every item in the cart in the quantity ordered is removed from the pickup choices. The customer sees which store lacks which item, for example Pickup from Glendale is unavailable for this order: Blue Mug (0 of 2 in stock).
  • When items in one cart sit at different stores (item A only at store 1, item B only at store 2), no store can fulfil the whole order, so every pickup location is removed and the customer is told so. Shipping and delivery options are never affected, so the customer can still check out.
  • When one store has everything and the other has only part of it, only the store that has everything is offered.

The check uses the stock counts Square last reported per location (shown in the Square stock by location panel on the product), so it adds no Square call to the checkout and is refreshed by the same webhooks that keep WooCommerce stock in step. It errs on the side of offering a store: a pickup location or zone pickup method left as Default Square Location, a product with no per-location data yet (not linked to Square, or not synced since the per-location map was introduced), and a product with stock management off or backorders allowed are always offered. It applies to both kinds of pickup listed above: block checkout locations and zone-based Local pickup methods (zone methods since 10.5.14).

The wording the customer sees can be changed under Orders → Storefront wording → Pickup, and developers can override the decision per store or per item with the sws_pickup_stock_gate_rate_available and sws_pickup_stock_gate_item_available filters.

This setting only changes which pickup locations are offered. The order itself still syncs to the mapped Square location in full (pickup orders are never split across locations), exactly as before.

Location Detection Priority

When determining which Square location to use for pickup:

  1. WooCommerce block checkout pickup location
  2. Pickup location index/name from order meta
  3. Checkout Field Pro location
  4. Default Square location (fallback)

Default Behavior

Orders using standard shipping methods (not mapped to delivery or pickup) sync as SHIPMENT fulfillment type with:

  • Full shipping address
  • Shipping method name
  • No scheduled time

Troubleshooting

Wrong fulfillment type

  • Check shipping method mapping configuration
  • Verify the order used the expected shipping method
  • Review delivery and pickup method lists

Pickup location incorrect

  • Check pickup location mapping
  • Verify WooCommerce pickup location data
  • Confirm location detection priority order

Delivery time missing

  • Enable Orderable integration or configure preparation time
  • Check open hours configuration
  • Verify delivery mapping is correct