Sapera can connect directly to a WooCommerce webshop, so you only maintain your products in one place. The integration works in two directions:
From Sapera to the webshop: Sapera is the "source of truth" for products, prices, stock, images, categories and brands. When something changes in Sapera, the change is automatically sent on to WooCommerce.
From the webshop to Sapera: When a customer completes a purchase in the webshop, the order is automatically pulled into Sapera and turned into a sales order — with customer, order lines, shipping, payment and everything else.
So Sapera owns the product and stock data; the webshop is the display window and the checkout. Below is exactly which fields are exchanged in each direction.
---
The configuration lives in Shop Manager. From the hamburger menu in the top-left corner, open Shop Manager, and in the left-hand menu choose Webshop. This is where the individual webshop connection is created and edited.
If you cannot see the menu item, you most likely do not have permission for it. Contact support.
---
To connect Sapera with your webshop, the following must be in place. The click-by-click step-by-step guide is in the article Sapera integration with a Woo webshop; below are the requirements you need ready.
A running WooCommerce webshop — i.e. a WordPress site with WooCommerce installed.
An API user in WordPress — we recommend creating a dedicated user (e.g. "sapera api") whose sole purpose is the integration.
WooCommerce REST API keys — under WooCommerce → Settings → Advanced → REST API, create a key pair (consumer key + consumer secret). The permission must be set to Read/Write, because Sapera both reads orders and creates/updates products.
A WordPress application password — an "Application Password" on the API user. It is used to upload product images via WordPress' media API and is not the same as the ordinary login password.
Internet access to Sapera — for WooCommerce to send webhooks (new order / new customer) to Sapera, the Sapera service must be reachable from the outside. CRS handles this in a hosted setup.
Once the keys are created, the five details (URL, API key, API secret, WordPress user and application password) are entered on the webshop in Sapera. Use the Test connection button to confirm that both the WooCommerce and the WordPress access work, then click Register webhooks. Finally, set up the category mappings (see "Which products are included in the shop") so Sapera knows which products to synchronize. All fields and choices are covered in detail in Part 3 below.
---
When a product is synchronized, Sapera creates or updates the corresponding item in WooCommerce. On creation, all of the fields below are sent. When updating an item that already exists in the webshop, you decide for yourself how much may be overwritten (see "How much Sapera may overwrite").
Product name — the webshop display name from Sapera (or the product's regular name if no separate web name is given).
Product type — "simple product" or "variable product" (the latter if the item has variants, e.g. sizes/colours).
Long description — the product's web description from Sapera.
Short description — the product's SEO description (falls back to the regular description if the SEO field is empty).
Item number (SKU) — the product's identifier in Sapera. This is the key that ties an item in Sapera to an item in the webshop.
Status — published or hidden/draft, depending on whether the item is active (see the "Create products in draft state" setting).
Weight — converted to kg.
Dimensions — length, width and height converted to cm. A dimension of zero is not sent, so an existing dimension in the webshop is not overwritten by mistake.
Regular price — the item's current sales price.
Sale price — set automatically if the item has an active campaign/offer price in the relevant period. Otherwise the regular and sale prices are the same.
Prices are currency-converted if the webshop runs in a different currency than Sapera.
Stock management on/off — whether WooCommerce should manage stock quantities for the item (follows your stock-policy setting).
Stock quantity — the available quantity, summed across the warehouses/units you have selected for the webshop.
Stock status — "in stock" / "out of stock".
Backorder handling — allow / do not allow / notify the customer.
Stock can be synchronized on its own (only quantity and status, fast and frequent) or as part of a full product synchronization. Gift cards are not included in stock synchronization.
Product images from Sapera are uploaded to the webshop and set on the item, with any alternative text.
Images you have uploaded yourself in WooCommerce (and which do not originate from Sapera) are preserved — Sapera does not delete them.
The item's categories are sent along, so the item ends up in the right menus in the webshop. The category structure (parent/child), category name, order, image and description are synchronized.
Brands (manufacturers) are created in the webshop as a separate category-tree branch under a top-level category that you name yourself. Each brand can have a name, image and description, and the items are linked to their brand.
For variant products, each variant is sent as a separate variation in WooCommerce with its own item number, price, status, stock and image.
Attributes (e.g. colour, size) are created as Woo attributes, and the relevant values are set on the product and variants. Sapera preserves attributes you have created yourself in the webshop.
If gift-card synchronization is enabled:
Gift-card products (the "Buy a gift card" item itself) are marked as gift cards in the webshop.
Issued gift cards (code and balance) are kept synchronized. If a gift card is used in Sapera, the corresponding one is deactivated in the webshop.
The product's EAN/GTIN is sent along.
If the item has supplier and manufacturer information, the relevant EU product-safety fields (GPSR) are sent: name, address and e-mail of the importer and manufacturer.
You decide for yourself how "aggressively" Sapera may update items already created in the webshop. Through four options you can individually allow or prevent Sapera from overwriting:
product descriptions
product images
other product fields (name, dimensions, weight, attributes, etc.)
category descriptions
That way a webshop editor can fine-tune texts and images directly in WooCommerce without Sapera overwriting it at the next synchronization. Prices, stock and category links are, however, always sent during a full product synchronization.
Sapera never deletes an item in the webshop. If an item no longer meets the criteria (e.g. discontinued or removed from the synchronized categories), it is instead set to hidden/private in the webshop. That way neither history nor links are lost.
---
Sapera is notified of new orders in two complementary ways:
Webhook — WooCommerce gives Sapera a "nudge" the moment an order is created.
Scheduled polling — Sapera asks the webshop at regular intervals whether there are new orders. This acts as a safety net in case a nudge is lost.
In both cases Sapera always fetches the order fresh from WooCommerce via the API, so the data is always correct and complete. By default, orders with the status "processing" are fetched — and also "completed" if gift-card synchronization is enabled.
Order number — used as the customer's reference number on the sales order.
Order status.
Payment method and title as well as transaction ID (for payment settlement, see below).
Payment date — used as the invoice date and for the exchange rate.
Customer details — first name, last name, any company name, e-mail and phone.
Billing address and shipping address.
Order lines — for each line: item number/item reference, quantity, amount incl. VAT before and after discount (so both price and any line discount can be calculated correctly).
Shipping lines — shipping method, title and amount.
Gift cards used on the order.
Customer note and any pickup point (e.g. a Shipmondo parcel shop), which are added to the order's notes.
Amounts are calculated from the individual order lines, so VAT and discounts per line always add up.
Sapera first tries to recognize the customer:
If the customer was previously linked to a Sapera actor, that one is reused.
Otherwise it matches on e-mail, on phone + name, or on company name.
If no customer is found, a new customer is created automatically from the order's details — as a person or a company depending on whether a company name is given. E-mail, phone, billing address (contact address) and shipping address are added to the customer.
Sapera builds a sales order:
Each order line from the webshop is linked to the corresponding item/variant in Sapera (via the item number). Stock is drawn from the selected warehouse with the best coverage.
Shipping becomes an order line based on the shipping category you have specified.
Line discounts are transferred per line.
The customer note, payment method and delivery method are added as visible notes; any warnings (e.g. an item that could not be recognized) are added as internal notes.
If gift-card synchronization is enabled, gift cards are registered as part of the order.
The sales order then follows Sapera's completely normal flow for invoicing and posting.
For payment methods that require a transaction, Sapera stores the transaction ID from the order.
If you have chosen that Sapera handles the ePay settlement, a valid transaction ID is required; if it is missing, the order is marked as failed so it is not processed incorrectly.
If an order is cancelled, the associated ePay payment can be released again.
As the sales order moves through Sapera (created → in progress → completed / cancelled), Sapera sends the corresponding status back to WooCommerce, so the order's status in the webshop is kept up to date.
In Shop Manager there is a Sales order status screen where all received WooCommerce orders can be followed from receipt to sales order. Failed orders can be re-run from here. Product synchronization can be followed on the Woo synchronization operations screen.
---
All settings are configured on the individual webshop under Shop Manager → Webshop.
WooCommerce URL — the address of your WordPress/WooCommerce site.
WooCommerce API key and API secret — WooCommerce REST API access (consumer key/secret).
WordPress user and WordPress application password — used to upload images via WordPress.
The Test connection button checks both the WooCommerce and the WordPress access and reports back whether everything works.
Name — the webshop's name in Sapera.
Organizational unit — the unit/accounting entity the webshop belongs to. It governs sales orders, stock and prices for the shop.
Stock unit(s) — the warehouses whose stock is summed into the stock quantity sent to the webshop.
Shipping category — the product category where the shipping products are located, so shipping on web orders can be linked correctly.
Automatic synchronization — the main switch for whether changes are automatically sent to the webshop.
Stock policy — whether WooCommerce should manage stock.
Backorder handling — allow / do not allow / notify the customer.
Allow updating of, respectively, product descriptions, product images, other product fields and the category description (see "How much Sapera may overwrite").
Create products in draft state — whether new items should be created as drafts in the webshop instead of published.
There is no "show in webshop" checkbox on the individual item. Instead, the selection is governed by category mappings (the Webshop categories screen). An item is sent to the webshop if it matches at least one mapping, and a mapping can be based on:
an entire product category,
selected products within a category,
a search tag, or
a manufacturer.
This gives full control over exactly which items are displayed, without having to mark them one by one.
Name of the WP product category for manufacturers — the top-level category in the webshop under which brands are placed.
Search-tag type for brands — which type of search tag in Sapera represents brands.
ePay payment side — whether it is Sapera or WooCommerce that settles ePay payments.
Synchronize gift cards — enables gift-card synchronization. When enabled, "completed" orders are also fetched, so gift cards can be processed correctly.
Once the connection is created, webhooks are registered with a single click (Register webhooks). Sapera automatically creates the necessary webhooks in WooCommerce — it listens for new order and new customer.
---
To set the right expectations:
Sapera never deletes items in the webshop — discontinued items are hidden instead.
The order's overall totals, fee lines and discount coupons at order level are not used directly; amounts are calculated per order line.
No VAT/company registration number or EAN is transferred from the web order to the customer in Sapera; a company name becomes the customer's organization name.
Two webhook events are listened for: new order and new customer.
---
*If you need help with the setup, you are always welcome to contact support.*