Skip to main content

WooCommerce Setup

Admin

Connect your WooCommerce-powered website to Brother POS to synchronize products, import online orders for in-store fulfillment, and keep inventory levels accurate across both systems.

WooCommerce configuration page showing store URL, API credentials, and sync options


Prerequisites

Before you begin, make sure you have the following ready:

  • A live WooCommerce store with WooCommerce 7.0 or later installed.
  • Admin access to your WordPress / WooCommerce dashboard.
  • Admin access to the Brother POS admin panel.
  • Your WooCommerce store must be accessible over HTTPS (SSL certificate required).
HTTPS is required

Brother POS encrypts all API credentials at rest and requires your WooCommerce store to use HTTPS. If your store URL begins with http://, the integration will automatically upgrade it to https://. Make sure your SSL certificate is valid before proceeding.


Step 1: Generate WooCommerce REST API Keys

Brother POS communicates with your online store through the WooCommerce REST API. You need to generate a set of API keys (Consumer Key and Consumer Secret) for Brother POS to use.

  1. Log in to your WordPress admin dashboard.
  2. Navigate to WooCommerce > Settings > Advanced > REST API.
  3. Click Add Key.
  4. Fill in the fields:
    • Description: Brother POS Integration
    • User: Select an administrator account.
    • Permissions: Select Read/Write.
  5. Click Generate API Key.
  6. Copy the Consumer Key and Consumer Secret immediately. The secret is only shown once.
Save your credentials

The Consumer Secret is displayed only once when you generate it. If you lose it, you will need to delete the key and create a new one. Store both values in a secure location until you have entered them into Brother POS.


Step 2: Configure WooCommerce in Brother POS

  1. Log in to the Brother POS Admin Panel.
  2. Navigate to Settings and click the WooCommerce Integration link.
  3. Enter the following details:
FieldDescriptionExample
Store URLYour WooCommerce store addresshttps://shop.example.com
Consumer KeyThe key from Step 1ck_abc123...
Consumer SecretThe secret from Step 1cs_xyz789...
  1. Click Save.
Trailing slashes

Brother POS automatically removes trailing slashes from your store URL. Whether you enter https://shop.example.com or https://shop.example.com/, both will work.


Step 3: Configure Sync Options

After entering your credentials, configure which sync features you want to enable:

Product Sync

  • Sync Products: Enable to pull products from WooCommerce into Brother POS. Categories are synced first, then products and their variations.
  • Weight Unit: Set the weight unit your WooCommerce store uses (g, oz, lb, or kg). Brother POS converts all weights to grams internally.

Order Sync

  • Sync Orders: Enable to import WooCommerce orders with "Processing" status into Brother POS for fulfillment.
  • Auto-Fulfill Orders: When enabled, imported orders are automatically converted to completed sales. When disabled, orders appear in the fulfillment queue for manual processing.
  • Auto-Print Labels: When enabled, product labels are automatically printed as orders are imported (requires a configured label printer).

Inventory Push

  • Sync Inventory: Enable to push stock level changes from Brother POS back to WooCommerce. When you sell a product in-store, the online stock count updates automatically.

Additional Sync Options

  • Sync Tiered Pricing: When enabled, quality tier pricing is synced to WooCommerce as quantity-based pricing.
  • Auto-Correct Changes: When enabled, Brother POS automatically detects and corrects discrepancies between systems during change detection syncs.

Polling Interval

  • Polling Interval (minutes): Controls how often Brother POS checks for changes. The default is 15 minutes. Lower values mean faster sync but more API requests.

Step 4: Test the Connection

  1. After saving your settings, click the Test Connection button.
  2. Brother POS will attempt to reach your WooCommerce REST API.
  3. If successful, you will see a green "Connection successful" message.
  4. If the test fails, check the following:
    • Are your API keys correct? Re-copy them from WooCommerce.
    • Is your store URL correct and accessible?
    • Does your SSL certificate have any issues?
    • Is the WooCommerce REST API enabled? Some security plugins block API access.
Firewall and security plugins

If you use a WordPress security plugin (Wordfence, Sucuri, etc.) or a web application firewall, you may need to whitelist requests from Brother POS or requests to /wp-json/wc/v3/.


Step 5: Run the Initial Import

The first time you connect, Brother POS performs an initial import that pulls all products from your WooCommerce store:

  1. Click Enable to activate the integration.
  2. Brother POS will begin importing categories, products, and variations.
  3. The initial import runs as a background job. You can monitor progress on the Health Monitor page.
  4. Once complete, Brother POS marks the initial import as finished and switches to incremental sync mode.

During the initial import:

  • All WooCommerce categories are matched to Brother POS categories (or created if they do not exist).
  • Products are created with their name, SKU, price, description, images, and stock levels.
  • Variable products have their variations imported as child products.
  • Cannabis attributes (THC %, CBD %, strain type, terpenes, effects) are extracted from product metadata and attributes.
Large catalogs

If your WooCommerce store has hundreds of products, the initial import may take several minutes. Products are fetched in batches of 100. Do not close the admin panel during the import -- it runs in the background and will complete even if you navigate away.


Authentication Methods

Brother POS supports two authentication methods for the WooCommerce API:

Basic Authentication (Default)

Uses the Consumer Key and Consumer Secret as HTTP Basic Auth credentials. This works with most standard WooCommerce installations.

Query Parameter Authentication

Some hosting providers strip HTTP Authorization headers. If you experience authentication failures with Basic Auth, enable Use Query Auth in the advanced settings. This sends credentials as URL query parameters instead.


Advanced Settings

SettingDescription
Use REST RouteEnable if your site uses plain permalinks instead of pretty permalinks. Routes requests through ?rest_route= instead of /wp-json/.
Use Query AuthSend API credentials as query parameters instead of HTTP headers. Use this if your host strips Authorization headers.
WordPress App PasswordBrother POS can optionally fetch WordPress Application Password credentials for enhanced authentication. This requires the Brother POS WooCommerce plugin on your WordPress site.

Disabling the Integration

To temporarily pause synchronization without losing your configuration:

  1. Go to Settings and click the WooCommerce Integration link.
  2. Toggle the Enabled switch to off.
  3. Click Save.

All sync jobs will stop, but your credentials and settings are preserved. Toggle the switch back on to resume syncing.


Troubleshooting

ProblemSolution
"Missing credentials" errorVerify that Store URL, Consumer Key, and Consumer Secret are all filled in.
Connection test failsCheck that your store URL is correct, SSL certificate is valid, and no firewall is blocking API requests.
Products not importingEnsure Sync Products is enabled. Check the Health Monitor for error details.
Orders not appearingEnsure Sync Orders is enabled. Only orders with "Processing" status are imported.
Stock not updating onlineEnsure Sync Inventory is enabled and that products have a WooCommerce product ID mapping.

What's Next?

  • Product Sync -- Learn how two-way product synchronization works.
  • Order Sync -- Understand how online orders flow into Brother POS.
  • Inventory Sync -- See how stock levels stay in sync.
  • Health Monitor -- Monitor the health and status of your WooCommerce integration.