# Connect a WooCommerce store

> Link ArmPOS to your WooCommerce shop: what each sync sends which way, and what to check before the first one.

*Section: Integrations · Updated: 2026-10-19 · Needs the plan feature: woocommerce*

By the end you will know how to link ArmPOS to a WooCommerce shop, what each sync sends which way, and what to check before your first one.

> **Note:** This guide was written from ArmPOS's screens and code. It was **not run**: it needs a WooCommerce shop of your own. WooCommerce comes with some plans only; without it, the page isn't in your menu.

## What it does

- From ArmPOS to WooCommerce: products, stock, categories, brands and customers.
- From WooCommerce to ArmPOS: products, categories, brands, customers, and orders, which become sales (WO- and the order number).

**Every sync starts with a button.** Nothing runs by itself: a sale at your till doesn't change WooCommerce's stock until someone clicks **Sync stock now**. Products are matched by their SKU, which is the product **Code** in ArmPOS: keep them the same on both sides.

## Connect

In WordPress first: **WooCommerce › Settings › Advanced › REST API**, **Add key** with **Read/Write**, and copy the **Consumer key** and **Consumer secret**.

1. **Open [Settings › WooCommerce Settings](/app/woocommerce)**, tab **Settings**.
2. **Type the Store URL:** your site's address, starting https:// and without a slash at the end.
3. **Paste the Consumer Key and the Consumer Secret.**
4. **Add a WP Username and WP Application Password only if you want product pictures sent.** The password is made in WordPress under **Users › Profile › Application Passwords**.
5. **Check no box was filled in by your browser,** then **click Save**, then **Test connection**. The badge turns **Connected**.

![WooCommerce Settings, Settings tab: the tabs Settings, Products, Stock, Category, Brands, Customers, Orders, View logs and Guide, then Connection Settings with Store URL, Consumer Key, Consumer Secret, WP Username (Optional), WP Application Password (Optional), Connection status Disconnected, Save and Test connection.](https://armpos.online/storage/help/bedbc5ea2d-woocommerce-1-settings.webp)
*Some browsers fill your ArmPOS sign-in into these boxes: empty any box you didn't type in.*

Changing the Store URL or the keys later clears every link between your products and WooCommerce's.

## The first sync, in this order

1. **Category** and **Brands** tabs: send them, or bring WooCommerce's in.
2. **Products** tab: **Run manual sync now** sends your products (only the ones not sent yet when **Sync only unsynced** is on). The other side, **Sync Products from WooCommerce**, brings WooCommerce's in.
3. **Stock** tab: **Sync stock now** sets WooCommerce's stock to ArmPOS's, all warehouses added up.
4. **Customers** tab: customers need an email to be sent; they are matched by email.
5. **Orders** tab: **Sync WooCommerce Orders to Stocky** brings orders in as sales.

**View logs** shows what each sync did, with its errors.

> **Warning:** Read what each button overwrites before you click it; no button asks you to confirm.
>
> - Bringing products in **overwrites** the matching ArmPOS products: name, price, cost (set to the price), picture, and the default warehouse's stock.
> - Sending products **overwrites** the matching WooCommerce products and publishes drafts.
> - Bringing orders in takes **every** WooCommerce order, past ones too. A completed order takes stock; an order with a product ArmPOS doesn't know is skipped.
> - A sale deleted in ArmPOS comes back at the next order sync.

## What's next

To sell on your own ArmPOS store instead, see [Set up your online store](/app/help/set-up-your-online-store).
