Connect a WooCommerce store
Connecting WooCommerce needs one thing from WordPress: a consumer key and consumer secret from WooCommerce's own REST API settings. Nothing here needs a developer, and nothing you do in WordPress changes what your storefront sells. Everstock only ever reads from WooCommerce.
Prefer to watch? This 3-minute video walks through every step below, from creating the key to the first sync.
Get a consumer key and secret from WordPress
- Log in to your WordPress admin (usually
yourstore.com/wp-admin). - Go to WooCommerce > Settings, then the Advanced tab, then REST API keys (called REST API in older WooCommerce versions).
- Click Add key (or Create an API key).
- Give it a description you'll recognize later, for example
Everstock. Leave the user as yourself. - Set Permissions to Read. Everstock only reads your catalogue, so Read is all it ever needs; don't grant Write or Read/Write.
- Click Generate API key.
- WooCommerce shows a Consumer key and a Consumer secret. Copy both somewhere safe right away: WooCommerce shows the secret only this once, and shows it again nowhere.
If you don't see REST API keys or REST API under Advanced, your WooCommerce version keeps it under WooCommerce > Settings > Advanced > Legacy API, or it may need enabling by whoever manages the site.
Connect the store in Everstock
Open Connect a supplier and set Connect from to WooCommerce store. Four fields follow:
- Display name: what you'll see on the connection page and in every list, for example
My WooCommerce store. - Store URL: your store's address, for example
https://mystore.com. It must start withhttps://; Everstock won't connect to a store served over plainhttp://. - Consumer key and Consumer secret: paste the two values WordPress showed you above.
Then two questions:
Store type is either My own store or An independent supplier. Pick My own store if this WooCommerce store is one you run yourself, for example one you're moving away from. It's safe to let Everstock create products and sync price once you're ready to. Pick An independent supplier for anyone else's store; Everstock starts more cautiously there, the same way every other connection does: only stock syncs at first, and creating products or syncing price is something you turn on yourself once you've checked what the feed sends.
Which products to bring in is either Published only (recommended) or Published and drafts. Published only matches what your storefront actually sells. Published and drafts also brings in anything not yet live in WordPress, so review each one before it reaches customers.
Click Test connection before you save. It checks that the store answers at that address, that the consumer key and secret work, and reads the store's currency. A failure shows a banner naming what to check: the store URL, the keys, or that the site is reachable at all.
What syncs
On the Connect a supplier page, Sync inventory is on by default, like every connection. Sync supplier price needs your WooCommerce store's currency to match your Shopify store's. If they differ, Sync supplier price is turned off on this page, with a note explaining why. Stock still syncs either way. To sync prices from a store in another currency, save the connection first. Then turn on Price on the connection page and set a conversion rate in Supplier price rules. See Set price rules for a supplier.
Everything else starts off for products you already have, the same as any other connection. Turn fields on one at a time from the connection page once you have seen what the feed sends. WooCommerce sends:
- Stock, price, and the regular price as the compare-at price when a product is on sale.
- Title, description, tags and images. When Everstock creates a variable product, each variation's own image is added to the product and linked to its variant.
- Product type, taken from the product's first category.
- Weight, in the weight unit set in your WooCommerce store. Weight is off for new products until you turn it on.
- Categories, which can add products to Shopify collections. See Add products to collections from supplier categories.
WooCommerce has no cost field and no SEO fields, so Cost per item, SEO title and SEO description are not available from a WooCommerce store. See Update product content, one field at a time.
Products that don't track stock in WooCommerce
In WooCommerce, a product only has a stock number when Manage stock? is ticked on it. Otherwise it is just in stock, out of stock or on backorder. When Everstock creates one of these products in Shopify, it follows the same status:
- In stock: the product is created with Track quantity off, so Shopify keeps selling it, just as WooCommerce does.
- Out of stock: the product is created with stock tracked at 0.
- On backorder: the product is created with stock tracked at 0, and customers can keep ordering it.
Products already in your Shopify store keep their stock: a status with no number never changes it. If you later tick Manage stock? in WooCommerce, the next sync writes the number and turns on Track quantity in Shopify.
Variations that share their parent's stock
A variation can use its parent product's stock in WooCommerce, so all its variations sell from one count. Shopify keeps stock for each variant, so each variant gets the full count, and together they can sell more than you have. The run shows a notice when this happens. To avoid it, set stock on each variation in WooCommerce.
Variable, grouped and external products
A variable product and its variations become one Shopify product with variants. It can have up to three options, such as Size, Colour and Material. A product with more than three options goes to review, because Shopify cannot build it. See Sync products with variants.
Grouped and external/affiliate products have no price or stock of their own in WooCommerce. Everstock counts and skips them rather than creating a product at 0.00.
Replace the consumer key and secret
Generate a new key in WooCommerce the same way as above. Then open the connection in Everstock, scroll to Credentials, paste the new Consumer key and Consumer secret, and save. You can change the Store URL there too. Leave a field blank to keep its current value.
Everstock tests the new details when you save. If they don't work, nothing is saved and the banner says why, so the connection keeps working with the old key. Test connection also tests what you have typed, before you save. Once the new key is saved, you can revoke the old one on the same WooCommerce REST API screen. The connection keeps its settings and sync history.
Need help? Visit the support page or email hello@usenormalize.com.