Skip to main content

Order Sync

Admin Manager

When customers place orders on your WooCommerce store, Brother POS imports those orders for fulfillment at your physical location. This page explains how the order sync process works, from online purchase to in-store fulfillment.

WooCommerce Monitor


How Order Sync Works

Brother POS periodically polls your WooCommerce store for orders with a "Processing" status. The sync runs at your configured polling interval (default: every 15 minutes).

The process follows these steps:

  1. Brother POS fetches all orders with processing status from WooCommerce.
  2. Orders already imported (matched by WooCommerce order ID) are skipped.
  3. New orders are imported and products are matched to your local catalog.
  4. Stock reservations are created for each line item.
  5. Depending on your settings, orders are either auto-fulfilled or queued for manual fulfillment.
Bulletproof sync

Brother POS fetches all processing orders on each sync cycle, not just orders since the last sync. Since most stores have a manageable number of processing orders at any given time (typically under 50), this approach ensures no orders are missed due to timing issues.


Order Import Process

Product Matching

When an order is imported, Brother POS matches each line item to a local product:

  1. WooCommerce Product ID -- Looks for a WooCommerce product mapping by ID.
  2. SKU Match -- Falls back to matching by SKU.
  3. Barcode Match -- Falls back to matching by barcode.

Orders with some unmapped products are still imported (partial fulfillment). Only orders where no products can be matched are skipped.

Customer Matching

Brother POS creates or updates customer records from WooCommerce order data:

  • Email is the primary identifier. If a customer with the same email exists, their record is updated.
  • Customer name, phone number, and full address are synced from the billing information.
  • WooCommerce customer IDs are linked to Brother POS customer records for future orders.
  • If no email is provided, Brother POS falls back to matching by name.
Customer records

Customer records created from WooCommerce orders are the same customers visible in your Brother POS customer list. Their purchase history includes both online and in-store transactions.


Stock Reservations

When an order is imported, Brother POS creates stock reservations for each product in the order. This ensures that the inventory for online orders is set aside and not sold to walk-in customers before the order is fulfilled.

Key details about stock reservations:

  • Reservations reduce the available stock (current stock minus reserved) shown on the POS.
  • WooCommerce order reservations have a 7-day expiration window.
  • Reservations are automatically released when an order is fulfilled or cancelled.
  • If stock is insufficient, the reservation is still created but a warning is logged.
Negative stock

Brother POS intentionally allows reservations that push stock negative. This tracks discrepancies naturally rather than silently dropping orders. Check the Health Monitor if you see frequent negative stock warnings.


Fulfillment Modes

Auto-Fulfillment

When Auto-Fulfill Orders is enabled in your WooCommerce settings:

  1. The order is imported and immediately converted to a completed sale.
  2. A dedicated system account processes the sale automatically.
  3. Inventory is deducted automatically.
  4. Stock reservations are released.
  5. The sale appears in your sales reports with the source marked as woocommerce.

This mode is ideal for stores that want online orders to flow through without manual intervention.

Manual Fulfillment

When auto-fulfillment is disabled:

  1. The order is imported and appears in the WooCommerce Orders queue.
  2. Staff can review each order, verify stock availability, and prepare the items.
  3. When ready, a staff member manually fulfills the order.
  4. Upon fulfillment, the order is converted to a sale and inventory is deducted.

This mode gives your team control over the fulfillment process.


Automatic Label Printing

If you have a label printer configured and Auto-Print Labels on Import is enabled, Brother POS automatically prints product labels as orders are imported.

How Label Printing Works

  1. Each line item in the order is checked against your label printing rules.
  2. Labels are printed based on your Label Products Filter setting:
    • All Products -- Every product gets a label.
    • Weight-Based Only -- Only weight-based products (e.g., flower) get labels.
    • By Category -- Only products in categories with auto-labeling enabled get labels.
    • Per Product -- Only products individually flagged for auto-labeling get labels.

Weight-Based Labels

For weight-based products (typically cannabis flower), the label includes:

  • The specific weight from the WooCommerce order (extracted from the order details).
  • The calculated price for that weight.
  • Example: 3.5g - $35.00

Unit-Based Labels

For unit-based products, one label is printed per unit ordered. If a customer orders 3 units of a product, 3 labels are printed.


Order Data Captured

Each imported WooCommerce order includes:

FieldDescription
Order NumberThe WooCommerce order number for reference
Customer NameBilling name from WooCommerce
Customer EmailBilling email address
Customer PhoneBilling phone number
Billing AddressFull address from billing fields
Payment MethodHow the customer paid online
Line ItemsProducts, quantities, and prices
DiscountsCoupon codes and discount amounts applied
Tax AmountTax calculated by WooCommerce
Order TotalFinal order total
Fulfillment StatusStarts as pending until fulfilled

Viewing Imported Orders

From the Admin Panel

  1. Navigate to Admin > WooCommerce > Orders.
  2. You will see a list of imported orders with their fulfillment status.
  3. Click an order to view its full details, including line items and customer information.

Filtering Orders

Filter the order list by:

  • Fulfillment Status: Pending, Fulfilled, Cancelled.
  • Date Range: View orders from a specific time period.
  • Customer: Search by customer name or email.

Order Lifecycle

WooCommerce: Order placed (Processing)
|
v
Brother POS: Order imported -> Stock reserved
|
v
[Auto-fulfill ON?]
/ \
YES NO
| |
v v
Sale created Order queued for
Stock deducted manual fulfillment
Reservations |
released v
Staff reviews & fulfills
|
v
Sale created
Stock deducted
Reservations released

Handling Duplicate Orders

Brother POS prevents duplicate imports by tracking the WooCommerce order ID. If an order with the same ID has already been imported, it is silently skipped during sync. This means you can safely run manual syncs without worrying about creating duplicate records.


Sales Attribution

Orders imported from WooCommerce are attributed as follows:

  • User: The system user WooCommerce System (automatically created).
  • Cash Drawer Session: Linked to the current open session, or a new session is created with a zero float.
  • Source: Marked as woocommerce in the sale record.
  • Notes: Include the WooCommerce order number, customer info, and any discount details.

Troubleshooting

ProblemSolution
Orders not importingVerify orders have "Processing" status in WooCommerce. Completed or pending orders are not imported.
"Missing products" warningSome products in the order could not be matched. Run a product sync first, or manually create the missing products.
Labels not printingEnsure your label printer is configured and the auto-print setting is enabled. Check that the label template exists.
Duplicate customer recordsThis can happen if a customer uses different email addresses. Merge customer records manually in the admin panel.
Stock shows negativeOnline orders may have been placed before in-store stock was updated. Perform a stock reconciliation.

What's Next?

  • Inventory Sync -- Keep your WooCommerce stock levels accurate after in-store sales.
  • Freebie Sync -- Sync freebie campaign rules to your online store.
  • Health Monitor -- Monitor sync job status and troubleshoot failures.