Docs

WooCommerce

If you sell through a WordPress store, the Kushi CRM plugin sends its orders here automatically — linked to your products, so they count towards stock and profit rather than arriving as plain text.

It takes about ten minutes, once.


Before you start

You need:

  • A WordPress site with WooCommerce installed and active
  • An administrator login for that site
  • Your products already in Kushi (Products → New product)

1. Install the plugin

In WordPress, go to Plugins → Add New → Upload Plugin, choose the kushi-crm.zip file we sent you, then Install Now and Activate.

A new item appears under WooCommerce → Kushi CRM in the left-hand menu. If it doesn't, WooCommerce isn't active — activate that first.


2. Create an API key

Back in Kushi:

  1. Open API Keys in the sidebar.
  2. Click Create Key and give it a name you'll recognise later, like "WooCommerce store".
  3. Copy the key from the box that appears.

The key is shown once. We only keep a fingerprint of it, so we can't show it again — if you lose it, revoke that key and create another. Nothing else breaks.


3. Connect the two

In WordPress, go to WooCommerce → Kushi CRM and fill in:

Field Value
API address https://crm.api.kushicorp.com
API key the key you just copied
Order source a name for this store, e.g. "main website"

Save changes, then click Test connection. You should see "Connected. Found N products in your Kushi catalog."

If it can't connect, it's nearly always the key — create a fresh one and paste it again, taking care not to include a trailing space.


4. Match your products

Scroll to Products on that same page. This is the step that decides whether inventory works.

Any WooCommerce product whose SKU matches a product in Kushi links itself — nothing to do. For the rest, pick the matching Kushi product from the dropdown beside it, then Save changes.

Why it matters: a linked line takes stock out when the order is delivered and counts towards your profit figures. An unlinked one is only a label on the order — the sale still records, but your stock won't move for it.

If an order does come through unlinked, it isn't lost: Inventory & Stock → Order Links lists what didn't match and lets you connect it, including for orders that already arrived.


5. Choose what statuses mean

Under Statuses, decide which of your WooCommerce statuses should move the order in Kushi. The sensible starting point is already filled in:

WooCommerce Kushi
Completed Delivered
Cancelled Cancelled
Refunded Returned

Leave a row on "do nothing" to keep that status in WooCommerce only.

Be deliberate here. Moving an order to Delivered takes the goods out of stock. If your team marks orders Completed at dispatch rather than on delivery, leave Completed doing nothing and let your riders' updates drive it instead.


6. Optional: let riders update your store

When someone marks a delivery in Kushi, your WooCommerce order can follow automatically.

  1. Copy the Webhook URL shown on the plugin page.
  2. In Kushi, go to Settings → Webhooks, add that URL, and subscribe it to order.status_changed.
  3. Copy the webhook's signing secret and paste it into Signing secret on the plugin page. Save changes.

Your store now reflects what actually happened on the ground, without anyone updating it twice.


What to expect day to day

  • A new order appears in Kushi within seconds, with a note on the WooCommerce order showing its Kushi reference. The orders list gets a Kushi CRM column so you can see at a glance which ones went through.
  • Stock doesn't move at checkout. It moves when the order reaches Delivered — the goods are still yours until the customer has them.
  • A bad connection doesn't lose an order. Failed sends are queued and retried automatically, and a retry can never create a duplicate: we recognise your WooCommerce order number and return the order we already have.
  • Bundles are understood. If you price a 2-pack as a bundle, delivering it takes two units out of stock — along with anything you give away free with it.

If something looks wrong

An order didn't reach Kushi. Open it in WooCommerce and read the order notes — the plugin writes the reason there. If it says queued to retry, it will go by itself. If it says the order was rejected, the message explains why.

Stock didn't change after delivery. Check the order's items are linked to products, in Inventory & Stock → Order Links.

You want to resend one order. Open it in WooCommerce, and under Order actions choose Send to Kushi CRM. This is safe to do twice — you'll get the same order back, not a second one.