WooCommerce Setup

Updated March 25, 2026

This guide covers how to connect WooCommerce to Junipeer and the configuration details specific to WooCommerce as an e-commerce platform.

Overview

WooCommerce is an open-source e-commerce plugin for WordPress. It is one of the most widely used e-commerce platforms, particularly popular with small to mid-sized merchants. Because WooCommerce runs on the merchant's own hosting infrastructure, API performance and reliability can vary depending on the hosting provider and server configuration.

In a Junipeer integration, WooCommerce is typically the source system — orders, customers, and product data originate in WooCommerce and are synced to an ERP system.

Connecting WooCommerce to Junipeer

WooCommerce uses REST API keys for authentication.

Generating API keys

  1. Log in to your WordPress admin panel

  2. Navigate to WooCommerceSettingsAdvancedREST API

  3. Click Add Key

  4. Enter a description (e.g., "Junipeer Integration")

  5. Select the user this key will be associated with — use an admin account

  6. Set permissions to Read/Write

  7. Click Generate API Key

  8. Copy both the Consumer Key and Consumer Secret — they will only be displayed once

Entering credentials in Junipeer

During the Get Started onboarding wizard (Step 2 — Connect Systems), enter:

  • Store URL: your WooCommerce store URL (e.g., https://yourstore.com)

  • Consumer Key: the key generated above

  • Consumer Secret: the secret generated above

Junipeer will validate the connection. If validation fails, verify that:

  • The REST API is enabled in WooCommerce settings

  • Your site uses HTTPS (required for API authentication)

  • The API keys have Read/Write permissions

  • There are no security plugins blocking API requests

Typical flows

For a WooCommerce integration, the most common flows are:

  • Orders: WooCommerce → ERP (the primary flow)

  • Customers: WooCommerce → ERP

  • Products/Articles: direction depends on your setup

  • Stock/Inventory: ERP → WooCommerce (keeps webshop stock accurate)

  • Refunds/Credit notes: WooCommerce → ERP

WooCommerce-specific considerations

Batch sync limits

WooCommerce syncs may stop processing after approximately 700–900 records per batch. This is typically caused by memory limits or pagination constraints on the WooCommerce server. If you notice syncs that consistently process a fixed number of records and then stop, this is likely the cause.

Solutions:

  • Increase the PHP memory limit on your WordPress hosting (at least 256 MB recommended for API use)

  • Ensure your hosting provider supports long-running API requests

  • Junipeer's scheduling will pick up remaining records in subsequent sync runs, but the initial backlog may take several cycles to clear

EU reverse charge (B2B)

WooCommerce does not have built-in support for EU VAT numbers or reverse charge handling. Most merchants use third-party plugins (such as EU VAT Number or similar) that store the VAT number in a custom meta field on the order.

Because the VAT number is stored in a plugin-specific meta field rather than a standard WooCommerce field, Junipeer needs to know which meta field contains the VAT number. This is configured in the flow settings. If B2B orders are being synced without reverse charge applied, check that the custom meta field mapping is correctly configured.

Refund payout handling

WooCommerce refunds paired with certain payment providers (particularly Walley) can result in double-counted refund amounts during payout reconciliation. The refund payout may be applied twice — once as a negative payout line and once as a refund deduction — resulting in a doubled negative balance on the invoice in the ERP.

If you see invoice amounts that are twice the expected refund, contact Junipeer support with the specific order and payout IDs. See the Payout Reconciliation guide for more on refund payout handling.

Order status filtering

WooCommerce has a granular order status system (pending, processing, on-hold, completed, cancelled, refunded, failed). You can filter which order statuses are synced to your ERP using the flow filter settings. By default, Junipeer typically syncs "processing" and "completed" orders.

If orders are not appearing in your ERP, verify that the order status filter includes the statuses you want to sync. See the Error Codes guide if your status filter appears to not be working.

Hosting performance

Because WooCommerce is self-hosted, API performance varies significantly. Shared hosting plans may struggle with large sync operations. For best results:

  • Use a hosting provider optimized for WooCommerce (managed WordPress hosting is recommended)

  • Ensure your server has at least 256 MB of PHP memory

  • Consider using object caching (Redis or Memcached) to improve API response times

  • Monitor your server logs during initial sync operations to catch timeout or memory issues early

For troubleshooting common errors, see the Error Codes reference or your connector pair's troubleshooting section.

Was this article helpful?