Skip to main content

Product Sync

Admin Manager

Brother POS provides two-way product synchronization with WooCommerce. Products created or updated in your WooCommerce store are pulled into Brother POS, and products pushed from Brother POS appear in your online store.

WooCommerce Configuration


How Product Sync Works

Product sync operates in two distinct phases:

1. Initial Import

The first sync after connecting WooCommerce performs a full import of your entire catalog:

  • All WooCommerce product categories are synced first.
  • Every published product is imported with its full details.
  • Variable products and their variations are imported as parent-child relationships.
  • Cannabis attributes are extracted from product metadata.
  • Images are downloaded and associated with each product.

The initial import is automatically marked as complete once products have been successfully created. After that, Brother POS switches to incremental sync.

2. Incremental Sync

After the initial import, Brother POS performs periodic sync at the interval you configured (default: every 5 minutes):

  • New products added to WooCommerce are created in Brother POS.
  • Updated products have their cannabis attributes refreshed.
  • Stock levels are updated for products with managed stock.
  • A change detection system identifies discrepancies and an auto-corrector resolves them.

What Gets Synced

Product Fields

WooCommerce FieldBrother POS FieldNotes
NameNameOnly updated during initial import for existing products
SKUSKU / BarcodeSKU is used for barcode scanning. Auto-generated as WOO-{id} if blank.
Regular / Sale PricePriceSale price takes priority if set
DescriptionDescriptionHTML tags are stripped automatically
Status (publish/draft)ActivePublished = Active, Draft = Inactive
Stock QuantityCurrent StockOnly when "Manage Stock" is enabled in WooCommerce
WeightWeight ValueConverted to grams based on your configured weight unit
ImagesPrimary Image / GalleryFirst image becomes primary; all images stored as gallery
CategoriesCategoriesMulti-category support with primary category detection

Cannabis-Specific Fields

Brother POS extracts cannabis data from WooCommerce product metadata and attributes:

Data SourceFields Extracted
Product metadataTHC content and unit
Product metadataCBD content and unit
Product metadataStrain type (Indica, Sativa, Hybrid)
Product metadataBrand name
Product metadataEffects profile
Product metadataFlavour profile
Product attributesFallback extraction from WooCommerce attributes (THC %, CBD %, Strain Type)
Product metadataTerpene associations
Product metadataFlavor associations
Product metadataMedical benefit associations
Cannabis data sources

Brother POS checks product meta first (more reliable), then falls back to product attributes. If your WooCommerce store uses a cannabis plugin that stores data in custom meta fields, Brother POS will pick it up automatically.


Category Sync

Categories are synced before products to ensure proper categorization:

  • WooCommerce categories are matched to Brother POS categories by name.
  • If a matching category does not exist in Brother POS, it is created automatically.
  • Parent-child category hierarchies are preserved.
  • Products can belong to multiple categories (many-to-many relationship).
  • Brother POS selects the most specific (deepest) non-marketing category as the primary category.

Marketing categories like "Staff Picks", "ON SALE", and "Mix & Match" are recognized and deprioritized when selecting the primary category.

Product Format Mapping

Brother POS automatically maps your WooCommerce category names to product formats:

Category Name ContainsProduct Format
flower, bud, strainflower
pre-roll, jointpre_roll
edible, gummy, chocolateedible
oil, extract, concentrateoil
vape, cartridgevape
topical, cream, balmtopical
accessory, tool, pipeaccessory

Variable Products and Variations

WooCommerce variable products are fully supported:

  1. The parent product is imported first with its base attributes.
  2. Each variation is imported as a child product linked to the parent.
  3. Variation names are built from their attributes (e.g., "3.5g - Premium").
  4. If a variation has no SKU in WooCommerce, Brother POS auto-generates one as WOO-{parent_id}-{variation_id}.
  5. Variations inherit their parent's categories automatically.
  6. Variations without their own images inherit the parent product's images.

Stock for Variable Products

  • Individual variation stock levels are synced from WooCommerce.
  • The parent product's stock is calculated as the sum of all variation stock levels.
  • If the parent has no price set, Brother POS calculates a weighted average price from in-stock variations.

Tiered and Quantity Pricing

Brother POS supports two types of advanced pricing from WooCommerce:

Weight-Based Tiered Pricing

For weight-based products (typically cannabis flower), tiered pricing data is extracted from the weight_pricing metadata:

  • Quality tier assignment (AA, AAA, AAAA, AAAA+)
  • Price-per-gram tiers
  • Tiered pricing matrices

Unit-Based Quantity Pricing

For unit-based products, quantity pricing is extracted from the _quantity_pricing_data meta field. Brother POS validates the pricing structure to ensure all quantities and prices are positive numbers.


Pushing Products to WooCommerce

Brother POS can push products back to WooCommerce:

  1. Navigate to Admin > Products and open a product.
  2. If the product has a WooCommerce product ID, changes can be pushed.
  3. The WooCommerce Product Push job handles sending updates.
  4. Fields pushed include name, price, description, stock, and status.
One-way fields

Some fields are only synced in one direction. Cannabis attributes (THC, CBD, strain type, terpenes, effects) always sync from WooCommerce to Brother POS, even during regular sync cycles. This ensures your online store remains the source of truth for cannabis product data.


Change Detection and Auto-Correction

Brother POS includes a built-in change detection system that:

  1. Detects discrepancies between WooCommerce and Brother POS product data.
  2. Logs detected changes for review.
  3. Auto-corrects certain discrepancies based on your configuration.

This ensures data consistency over time, even if manual edits are made on either side.


Monitoring Sync Status

Every product imported from WooCommerce has a sync status:

StatusMeaning
syncedProduct is up to date
pendingProduct has changes waiting to sync
errorLast sync attempt failed

You can view sync status and recent sync logs on the Health Monitor page.


Common Questions

What happens if I delete a product in WooCommerce?

The product is not automatically deleted in Brother POS. A separate Product Deletion Job handles cleanup based on your configuration. By default, deleted WooCommerce products are deactivated (not deleted) in Brother POS to preserve sales history.

Can I edit synced products in Brother POS?

Yes. After the initial import, Brother POS does not overwrite product names, prices, or SKUs during regular sync. Cannabis attributes (THC, CBD, strain type) continue to sync from WooCommerce.

What if a product has no SKU in WooCommerce?

Brother POS generates a unique SKU using the pattern WOO-{woocommerce_id}. For variations without SKUs, the pattern is WOO-{parent_id}-{variation_id}.

Why are some products missing after import?

Check the Health Monitor for failed records. Common causes include validation errors (missing required fields), duplicate SKUs, or products without categories.


What's Next?

  • Order Sync -- Learn how WooCommerce orders are imported for fulfillment.
  • Inventory Sync -- Understand how stock pushes keep your online store accurate.
  • Freebie Sync -- Sync freebie campaigns to your WooCommerce store.
  • Health Monitor -- Monitor sync health and troubleshoot errors.