Connect your Shopify
shop to GSE-Web
Your catalogue and available stock go to the shop. Paid orders arrive in GSE-Web as confirmed outbound orders, with stock reserved.
In brief
The Shopify connector links a Shopify shop to a GSE-Web warehouse. GSE-Web publishes the stock to a location of the shop, the shop sends its orders. It is set up by an administrator of the organisation, in the ADMIN › “Integrations” menu.
- What goes to the shop: the pages of simple products, kits and products with variants (name, reference, price, barcode), if you ask for it, and the available stock of the published warehouse, placed in the Shopify location you choose.
- What arrives in GSE-Web: each paid order (or each order with the payment statuses you choose) becomes a confirmed outbound order, with stock reserved; the buyer becomes an “Individual” customer. If you ask for it, the description and photos of linked products are also pulled from the shop.
- When: stock goes to the shop a few seconds after each change in GSE-Web, and an order arrives at once by webhook. A full pass runs every 5 minutes and catches up anything missed.
- What is never done: nothing is deleted in the shop, GSE-Web never writes the lines of an order and never issues a refund. It only fulfils or cancels the order, if you ask for it.
- Switching off: pause, disconnect or close the module at any time, without losing anything; on resuming, orders placed in the meantime are caught up.
Requirements
Check these points before opening the connector screen: the connection test checks them and states plainly what does not fit.
The shop's myshopify.com domain
The connector plugs into the shop's admin domain, of the form ma-boutique.myshopify.com, never into its public address.
An app in the Dev Dashboard
Created in the organisation that owns the shop, with these permissions: read_products, write_products, read_inventory, write_inventory, read_locations, read_orders, write_orders, write_merchant_managed_fulfillment_orders, read_publications, write_publications. Release a version, install the app on the shop, then note the client ID and the secret. A shop that still has a legacy custom app uses its Admin token (shpat_…) and its API secret.
Protected customer data declared
Buyers' name, e-mail and address are Shopify “protected customer data”: declare their use in the Dev Dashboard. Without this, orders arrive without a buyer and become items to handle.
The modules enabled for your organisation
“Integrations”, then “Shopify”. Ask KLS-Concept to enable them. Without “Integrations”, the menu entry does not appear; without “Shopify”, its card reads “Not available for your organisation”.
An ADMIN account with two-factor authentication
Entering the shop's credentials is refused until two-factor authentication is turned on for your account, in “My information”.
A real warehouse
Its available stock is published to the shop and orders become outbound orders there. An exercise warehouse is refused.
The same currency and the same price mode
The shop's currency must be your organisation's, and “Published prices” (excluding or including tax) must match the shop's “Include sales tax in product price and shipping rate” setting (Settings › Taxes and duties).
Step-by-step setup
Six steps, in the order of the screen.
Open the connector screen
ADMIN menu › “Integrations”. The Shopify card is in the “E-commerce” category. Click “Set up” (the button becomes “Manage” once the shop is saved).
“Shop” card
Choose the “App type”: “Dev Dashboard app (client ID and secret)”, or “Legacy custom app (Admin token and API secret)”. Fill in the “Shop domain” (…myshopify.com), then the “App client ID” and the “App secret” (or the “Admin access token” and the secret), and choose the “Published warehouse”. The card lists the permissions to tick on the app.
The credentials are write-only: once saved, they are never shown again. The screen only shows a few characters so you can recognise them. To keep them, leave the fields empty; to replace them, enter the secret AND the client ID (or the token). With a Dev Dashboard app, GSE-Web obtains the access token itself, valid for 24 hours, and renews it.
“Settings” card
Each setting has a default value:
- “Published prices”: “Excluding tax” by default, or “Including tax”.
- “Create and update product pages in the shop”: unticked by default. Unticked, GSE-Web creates no page: it only links the products already in the shop with the same reference (SKU), regardless of upper or lower case.
- “Publish available stock”: ticked by default. Unticked, a page created by GSE-Web does not have its stock tracked by Shopify.
- “Receive orders”: ticked by default.
- “Report deliveries and cancellations to the shop”: ticked by default. Order delivered: order fulfilled in the shop, with carrier and tracking number — Shopify notifies the customer with its shipping e-mail. Order cancelled in GSE-Web: order cancelled in the shop, without a refund.
- “Imported payment statuses”: “Paid” by default. You can add “Payment pending”, “Payment authorised” and “Partially paid” (cash on delivery, bank transfer).
- “Maximum age of a caught-up order (days)”: 30 by default, from 1 to 90. Without the
read_all_orderspermission, Shopify only returns orders from the last 60 days: catch-up does not go back further. - “Pull the description and photos from the shop”: unticked by default. The shop remains the owner of the description and photos, which GSE-Web never sends to it; ticked, they are copied onto the linked product. An empty description in the shop never erases the one in GSE-Web, and a photo added in GSE-Web is never removed.
Save
Click “Save”. “Test the connection” and “Activate” use the saved configuration: as long as a change is not saved, the screen says so and these two buttons wait.
Test the connection, then choose the location
“Test the connection” queries the shop and checks that the credentials really belong to this domain, that the app has all its permissions, and that the currency and the price mode match. It also loads the list of the shop's active locations: choose the “Shop location” that receives the stock, then “Save”. Even when refused, the test shows the missing permissions and the locations, so that you can correct them.
Activate
“Activate” runs the test again (a location is then required), then creates four webhook subscriptions in the shop: order created, updated, cancelled and deleted. The status becomes “Active — stock sent as soon as it changes, full sync every 5 minutes” (“Active — synced every 5 minutes” if stock is not published). Orders received before activation are not imported.
What is synchronised, and which side is authoritative
Each field has a single owner. In a shop order, GSE-Web only writes its fulfilment or its cancellation, never its lines.
📦 GSE-Web is authoritative
- ✓Product name
- ✓Reference (SKU in the shop)
- ✓Sale price, excluding or including tax depending on the setting
- ✓Barcode
- ✓On sale or draft
- ✓Stock, in the chosen location
🛒 The shop is authoritative
- ✓Description (pulled into GSE-Web as an option)
- ✓Photos (pulled into GSE-Web as an option)
- ✓Collections and tags
- ✓Taxes
- ✓Orders
- ✓Refunds
The rules
- Simple products, kits and products with variants. A simple product is published as a Shopify product with a single variant. So is a kit, its stock being the number of kits that can be assembled from the components in the published warehouse. A product with variants is published as a product with options (three axes at most, a Shopify limit), with no price or stock of its own; each variant is one of its Shopify variants, with its reference, price and stock.
- A product withdrawn from sale in GSE-Web becomes a draft in the shop; it is never deleted there. As Shopify has no status per variant, a variant withdrawn from sale is set to stock 0. Products created by GSE-Web are published to the online store; an existing page is never republished, to respect your choice if you remove it from a channel.
- A product page changed in the shop on a field GSE-Web is authoritative for is rewritten at the product's next change in GSE-Web. Stock tracking of an existing variant, however, is never changed.
- Published stock = available stock of the published warehouse (physical minus reserved), rounded down to the unit, never negative, placed in the chosen location — the shop's other locations are not touched. It goes to the shop a few seconds after each change: receipt, issue, transfer, stock count, reservation placed or released on an order. The full pass also reads it again every 5 minutes.
- One order = one confirmed outbound order from the published warehouse, with “Reserve the products for this order.” ticked: the whole ordered quantity is reserved, even beyond the stock (the shortfall shows as “Awaiting receipt” on the order), and the stock published in the shop drops at once. The delivery address is copied. Never a partial order: if a line is a problem (unknown product, unknown variant, kit that cannot be published, unreadable buyer, other currency), no order is created and an item to handle explains why.
- Never imported: test orders and orders whose payment status is unknown. An order already fulfilled in Shopify when it arrives — point-of-sale sale (Shopify POS), shipment made from the Shopify admin — does not give an outbound order: it would ship the goods a second time. An item to handle asks you to record its stock exit in GSE-Web.
- One buyer = one “Individual” customer, found again by e-mail from one order to the next (code starting with WEB-). A business partner already in GSE-Web is not matched: an “Individual” customer is created.
- Order cancelled in the shop (cancelled, deleted, refunded or payment voided): the outbound order is cancelled and its reservations released, unless someone is already handling it. In that case, an item to handle leaves the decision to the team. An order that Shopify no longer returns (over 60 days without
read_all_orders) is never taken for a deleted order. - Order changed in the shop after import: the change is not carried over to the outbound order; an item to handle asks you to check it.
- An order for a kit becomes an outbound order for its components (quantity × number of kits); the order's note names the kit. An order for a variant gives an order for the GSE-Web variant, as for any product.
- Reporting deliveries and cancellations (setting ticked by default): an order delivered or closed in GSE-Web fulfils its shop order; if it left in a shipment, the carrier and tracking number are passed on, and Shopify notifies the customer with its shipping e-mail. An order cancelled in GSE-Web cancels its shop order and puts the stock back on sale, without a refund or an e-mail to the customer: the refund is made in Shopify. A shop order already fulfilled by the shop is not undone, and a fulfilment left partial on the Shopify side is not treated as done: an item to handle reports it. Partly delivered or in preparation: nothing until the order is complete.
- Pulling the description and photos (setting unticked by default): on each pass, for each linked product, the shop's description is copied as plain text onto the product; photos are added in the shop's order, the first being the main one, and removed when they disappear from the shop. At most 20 photos per product. Not pulled: collections, tags, taxes, the description and photos specific to each variant, nor names, prices and barcodes changed in the shop.
Day to day
The connector screen reads from top to bottom: status, shop, settings, buttons, then the items to handle and the log.
The “Status” card
It shows where the connection stands, the shop's name and currency, the date of the last sync, the last error and the number of items to handle. On the card of the “Integrations” page, the status fits in a chip.
- Not active yet “Set up, not activated yet”.
- Connected “Active — stock sent as soon as it changes, full sync every 5 minutes”. If stock is not published: “Active — synced every 5 minutes”.
- Paused “Paused — nothing is sent or imported”.
- Stopped — check it “Stopped by the server — check the credentials and test”.
“Sync now”
Stock is sent to the shop automatically, a few seconds after each change, and orders arrive as soon as they are placed: the screen recalls this below the button. This button only starts the full sync right away (product pages, missed orders, deliveries), which otherwise runs every 5 minutes. The message says whether the pass finished, whether it raised items to handle, or why it did not start.
The “What flows between GSE-Web and the shop” card
Below the settings, a card tells, for each exchange, which way it goes: from GSE-Web to the shop (pages, stock, variants, deliveries and cancellations), from the shop to GSE-Web (orders, cancellations, description and photos) and what never goes through (order lines, refunds, collections, tags and taxes, names, prices and barcodes changed in the shop). A line tied to an unticked setting is marked “Off”.
The “Log”
Each pass is listed with its type and its result. Types: “Product pages”, “Stock”, “Live stock” (sent as soon as a stock changes, listed only if a quantity changed), “Pull from the shop”, “Order catch-up”, “Order feedback”, “Order received”, “Webhook check”, “Connection test”. Results: “Succeeded”, “Partial”, “Failed”, “Running”, “Interrupted”. Clicking a pass opens its detail, item by item: product created or updated, stock published, order imported, fulfilled or cancelled, photo pulled, webhook recreated… (at most 200 items per pass). Passes that changed nothing can be hidden.
The “Items to handle”
A line that does not go through never blocks the sync: it becomes an item to handle and the rest carries on. Items about product pages and stock clear themselves once their cause is fixed. Order items have two buttons.
- “Retry” reads the order from the shop again and retries the import, whatever its age. It is not offered for feedback items (fulfilment, cancellation in the shop): the next pass retries them on its own.
- “Ignore” puts the item away: an ignored item does not come back to the list. “Ignore all”, at the top of the list, puts away all open items at once, including those not displayed, after confirmation.
Product pages
- Cause
- This product is of a type the connector does not publish. Simple products, kits and products with variants are published.
- What to do
- Nothing to do in GSE-Web. Manage this product directly in the shop.
- Cause
- The product has no sale price in GSE-Web.
- What to do
- Enter its sale price. The item clears at the next pass.
- Cause
- Prices are published including tax and the product has no VAT rate.
- What to do
- Enter the product's VAT rate.
- Cause
- The shop variant carrying this reference is already linked to another GSE-Web product, belongs to a multi-variant product while the GSE-Web one is simple (or the other way round), or the shop carries the same reference on several variants. A reference containing a comma cannot be searched in the shop either.
- What to do
- Make sure one reference designates a single product, on both sides.
- Cause
- Shopify rejected the product page; its rejection code is shown.
- What to do
- Check the product in the shop using this code.
- Cause
- The product exists in Shopify, but could not be published to the “Online Store” channel: no customer can buy it.
- What to do
- Publish the product to the online store in Shopify, then “Ignore”. Also check the app's publication permissions (
read_publications,write_publications). This item does not clear on its own: GSE-Web never republishes an existing page.
- Cause
- The linked product no longer exists in the shop.
- What to do
- Recreate it in the shop with the same reference. If it should no longer be there, write to us.
- Cause
- The product changed from simple to “with variants” (or the reverse): the Shopify product of the old type no longer matches it. The link was removed; the new product follows the current type.
- What to do
- Delete or archive the old product in Shopify, then “Ignore”.
- Cause
- The kit has no component, one of them is archived or inactive, or a component's quantity is entered in another unit than its base unit. The kit is not put on sale.
- What to do
- Fix the kit's bill of materials. The item clears at the next pass.
- Cause
- A product with variants is sold through its variants: without an active variant, it is not put on sale.
- What to do
- Create a variant, or reactivate one. The item clears at the next pass.
- Cause
- The variant cannot be published: its parent product cannot be found, is archived or not yet published in the shop, or its axes and values are invalid (Shopify accepts three axes at most). The reason is shown in brackets.
- What to do
- Fix the stated cause, on the parent product or on the variant. The item clears at the next pass.
- Cause
- A photo from the shop could not be copied onto the product. Possible reasons: image not found, unsupported format (JPEG, PNG, WebP and GIF are accepted), over 5 MB or unreadable, shop unreachable (retried on the next pass), unsafe image address (public HTTPS required), more than 20 photos (the following ones are not pulled).
- What to do
- Check the photo in the product's media in the shop. The item disappears once everything is imported; the rest of the product is pulled anyway.
Stock
- Cause
- The available stock has decimals; the shop only sells whole units.
- What to do
- Information only: the shop shows the lower unit.
- Cause
- Shopify rejected the quantity; its rejection code is shown.
- What to do
- Check the product page in the shop using this code.
- Cause
- The stock cannot be sent: no location was chosen, or the shop refuses the one that was (deleted, deactivated, permission missing). GSE-Web never falls back on another location.
- What to do
- Choose an active location in the setup (pause the connection to change it), “Save”, “Test the connection”, then “Resume”.
Orders
- Cause
- A line of the order carries a reference that does not exist in GSE-Web.
- What to do
- Create the product with the same reference, then “Retry”.
- Cause
- A line refers to a variant GSE-Web does not know, or to the reference of the product with variants itself, without its variant.
- What to do
- Unknown variant: create the variant with the same reference as the shop variant, then “Retry”. Parent product reference ordered without a variant: handle the order manually.
- Cause
- Without an e-mail, the buyer can be neither found nor created as a customer.
- What to do
- Add the customer's e-mail to the order in the shop, then “Retry”. If the e-mail is already there, check the app's access to protected customer data.
- Cause
- Shopify gives the app neither the buyer's name, e-mail nor address until it has declared its use of protected customer data.
- What to do
- In the Dev Dashboard, declare access to protected customer data (name, e-mail, address), release a version of the app, then “Retry”.
- Cause
- The customer matching this buyer has been archived.
- What to do
- No outbound order is created. Handle this order manually.
- Cause
- The order is in a currency other than your organisation's.
- What to do
- Handle this order manually.
- Cause
- During catch-up, the order exceeds the “Maximum age of a caught-up order”.
- What to do
- “Retry” imports it anyway.
- Cause
- The order was already fulfilled (wholly or partly) in Shopify when it arrived: point-of-sale sale (Shopify POS) or shipment made from the Shopify admin. An outbound order would ship it a second time; its stock exit is therefore not recorded in GSE-Web.
- What to do
- Record the matching stock exit in GSE-Web (otherwise GSE-Web will publish its old available stock to the shop again), then “Ignore”.
- Cause
- The outbound order is already being prepared: GSE-Web does not cancel it on its own.
- What to do
- Decide with the team. If the outbound order must be cancelled, release it, then “Retry”.
- Cause
- The order changed in the shop after the outbound order was created; the change is not carried over.
- What to do
- Compare the order and the outbound order, and correct the outbound order if needed.
- Cause
- The import failed; the reason is shown in brackets.
- What to do
- Fix the stated cause, then “Retry”.
- Cause
- The order contains a kit whose bill of materials does not hold: no component, an archived or inactive component, or a unit other than the base unit. No order is created.
- What to do
- Fix the kit's bill of materials, then “Retry”.
- Cause
- Shopify refused to fulfil or cancel the order, could not find it, or keeps part of it on hold (fulfilment order on hold or scheduled); the message says which.
- What to do
- Check the order in the shop and fulfil or cancel it manually if needed: the next pass retries on its own as long as the outbound order calls for it.
- Cause
- The outbound order was cancelled in GSE-Web, but the shop had already fulfilled or closed the order: GSE-Web does not undo it.
- What to do
- Settle the situation with the customer (refund, return) directly in the shop.
Webhooks
- Cause
- Shopify removes a webhook subscription after several failed deliveries, or one of the app's subscriptions was deleted in the shop.
- What to do
- Nothing to do: the webhook check, every 6 hours, recreates them and catches up the orders.
Pause, resume and changes
The connector can be switched off and on again at any time. Some changes follow a rule, which the screen reminds you of and the server enforces.
“Pause”
Nothing is sent or imported any more, and nothing is lost. The stock shown in the shop stays as last sent.
“Resume”
The shop is checked again (credentials, permissions, currency, price mode, location), then catch-up starts: orders placed during the pause are imported if they are less than N days old (“Maximum age of a caught-up order”, 30 by default) and if Shopify still returns them. Older ones become items to handle.
Changing the credentials, the price mode or the location
On an active connection, the domain, the credentials, “Published prices” and the location are locked. Follow this order: “Pause”, change, “Save”, “Test the connection”, “Resume”. A new location receives all the stock; the former one is not reset to zero — do it in Shopify, as the shop adds up its locations.
Changing shop
“Disconnect” first: the former shop's webhook subscriptions are removed. Then enter the new shop; the location has to be chosen again.
Reconnecting the same shop
Products, orders and customers already linked are found again: no second outbound order is created for an order already imported, and all the stock is sent again.
Changing a product page setting
After changing “Published prices” or “Create and update product pages in the shop”, the next pass reads the whole catalogue again. Changing the “Published warehouse” sends all the stock again.
“Disconnect”
The webhook subscriptions are removed from the shop and the credentials erased. Nothing is deleted in the shop or in GSE-Web: outbound orders and customers already imported remain. If the shop does not answer, the screen asks you to delete the app's subscriptions yourself from Shopify.
Module closed
If KLS-Concept closes the module for your organisation, everything stops without anything being deleted. When it reopens, the next pass catches up the orders and publishes the stock again.
Security and data
What the connector keeps, and how.
Encrypted credentials
The app secret, the client ID or the Admin token are encrypted on the server (AES-256-GCM). They are never shown again, nor written to the logs. The 24-hour token of a Dev Dashboard app is never stored.
Two-factor authentication
It is required to enter or replace a shop's credentials.
Shopify domain only
The connector only calls the …myshopify.com domain entered, over HTTPS; no redirect is followed. Pulled photos are only downloaded from a public HTTPS address, without ever passing on the token.
Signed webhooks
Each webhook received is signed with the app secret, and its signature is checked before any processing. It only serves as a signal: the order is read again from Shopify, and its content is not kept.
Buyer data
The buyer's details are copied to their customer record and the delivery address to the outbound order. The link with the shop keeps only a fingerprint of their e-mail.
Nothing in the export
The encrypted credentials are not included in the organisation's portability export.
Troubleshooting
The message shown by the screen, its cause and what to do. The code in square brackets helps support find the case.
“Stopped by the server — check the credentials and test”
After five authentication refusals in a row (app uninstalled, secret regenerated, token revoked), the server stops the connection rather than keep trying. Check the app in Shopify, enter new credentials if needed, “Save”, “Test the connection”, then “Activate”.
- What to do
- Enter the shop's admin domain (…myshopify.com), not its public address. The admin address pasted from the browser is accepted.
[SHOPIFY_SHOP_DOMAIN_INVALID]
- What to do
- Check the client ID and the secret in the app's settings (Dev Dashboard), that the app is indeed installed on this shop, and that the app and the shop are in the same organisation.
[SHOPIFY_SHOP_AUTH_FAILED]
- What to do
- The credentials belong to another shop: correct the domain, or enter the credentials of the app installed on this shop.
[SHOPIFY_SHOP_DOMAIN_MISMATCH]
- What to do
- In the Dev Dashboard, tick the missing permissions, release a new version and reinstall the app on the shop, then test again. The screen shows the list of missing permissions.
[SHOPIFY_SHOP_SCOPES_MISSING]
- What to do
- The connector only links a shop in your organisation's currency.
[SHOPIFY_SHOP_CURRENCY_MISMATCH]
- What to do
- In “Settings”, set “Published prices” to the shop's regime (“Include sales tax in product price and shipping rate”, in Settings › Taxes and duties). Pause the connection first if it is active, save, then test.
[SHOPIFY_SHOP_PRICE_MODE_MISMATCH]
- What to do
- “Test the connection”, choose the “Shop location”, “Save”, then “Activate”.
[SHOPIFY_LOCATION_REQUIRED]
- What to do
- Pause the connection, “Test the connection” (the list of locations is reloaded), choose an active location, “Save”, then “Resume”.
[SHOPIFY_LOCATION_NOT_FOUND]
- What to do
- Settle the shop's situation with Shopify (subscription, payment); the sync then resumes on its own.
[SHOPIFY_SHOP_UNAVAILABLE]
- What to do
- Check that the shop answers, then try again.
[SHOPIFY_SHOP_UNREACHABLE]
- What to do
- Try again a little later.
[SHOPIFY_SHOP_TIMEOUT]
- What to do
- Wait: the next pass resumes on its own.
[SHOPIFY_SHOP_RATE_LIMITED]
- What to do
- Try again; if the message comes back, write to us with the code below.
[SHOPIFY_SHOP_RESPONSE_INVALID]
- What to do
- “Pause”, change, “Save”, “Test the connection”, “Resume”.
[SHOPIFY_CONNECTION_ACTIVE_CHANGE_REFUSED]
- What to do
- “Disconnect”, then enter the new shop.
[SHOPIFY_SHOP_CHANGE_REQUIRES_DISCONNECT]
- What to do
- Follow this order: “Pause”, change “Published prices”, save, test, then “Resume”. The price mode is checked against the shop at the test and on resuming.
[SHOPIFY_PRICE_MODE_CHANGE_REQUIRES_PAUSE]
- What to do
- Enter the secret with the client ID (or with the Admin token), or leave everything empty to keep the saved credentials.
[SHOPIFY_CREDENTIALS_REQUIRED]
- What to do
- Turn it on in “My information” (the screen offers “Open “My information””), then save again.
[SHOPIFY_CONNECTION_TWO_FACTOR_REQUIRED]
- What to do
- Choose a real warehouse as “Published warehouse”.
[SHOPIFY_WAREHOUSE_EXERCISE_REFUSED]
- What to do
- Enter the secret and the client ID (or the token) again, test, then activate.
[INTEGRATIONS_CREDENTIALS_UNREADABLE]
- What to do
- Wait for the current pass to finish.
[INTEGRATIONS_CONNECTION_BUSY]
Frequently asked questions
Are products with variants supported?
Yes. A product with variants is published as a product with options, and each of its variants as a Shopify variant, with its reference, price and stock. Shopify accepts three axes at most (size, colour, material…). An order for a variant gives an order for the GSE-Web variant.
Can several shops or several locations be linked?
No. An organisation links one shop, and one GSE-Web warehouse, the “Published warehouse”, feeds a single location of the shop. The other Shopify locations are not touched.
Are deliveries reported back to the shop?
Yes, if “Report deliveries and cancellations to the shop” is ticked, which it is by default. A delivered order fulfils its shop order; if it left in a shipment, the carrier and tracking number are passed on, and Shopify sends the customer its shipping e-mail. An order cancelled in GSE-Web cancels its shop order, without a refund. GSE-Web never writes the lines of an order.
Are product images and descriptions exchanged?
They never leave GSE-Web: photos and description are managed in Shopify. However, if you tick “Pull the description and photos from the shop”, they are copied into GSE-Web onto the linked products. The photos and description specific to each variant are not pulled.
Are the shop's collections, tags and taxes pulled?
No. They remain managed in Shopify, and GSE-Web does not pull them.
What about point-of-sale sales (Shopify POS)?
An order already fulfilled in Shopify when it arrives, such as a point-of-sale sale, does not become an outbound order: the goods have already left. An item to handle asks you to record its stock exit in GSE-Web; otherwise, GSE-Web would publish its old available stock to the shop again.
What happens if I pause or if the module is closed?
Nothing is sent or imported, and nothing is deleted. The stock in the shop stays as last sent. On resuming, orders placed in the meantime are caught up if they are less than 30 days old (adjustable from 1 to 90, and 60 days at most without the read_all_orders permission).
How long before an order appears in GSE-Web?
At once, by webhook. If a webhook is lost, the next pass, every 5 minutes, catches up the order.
Can the shop sell a product that is no longer in stock?
The risk is cut down to a few seconds, not removed. Stock goes to the shop a few seconds after each issue, receipt or reservation recorded in GSE-Web, and each shop order reserves its whole quantity at once. A shop sale at the very moment of an issue in the warehouse is still possible: it becomes an order whose shortfall shows as “Awaiting receipt”.
Is a buyer already in my business partners recognised?
No. The connector creates one “Individual” customer per buyer and finds them again by e-mail on later orders, but it does not match them with a business partner already entered in GSE-Web.
Are orders placed before activation imported?
No. Only orders received after activation are imported.
How do I get the connector?
The “Integrations” and “Shopify” modules are enabled organisation by organisation by KLS-Concept. Write to us from the contact page.
Link your Shopify shop
Ask for the connector to be enabled for your organisation, or send us your questions about your case.