Shopify Integration
Connect your Simplio3D configurator to Shopify. Configured products become Shopify cart lines or Draft Orders, priced by your configurator.
Two ways to use Simplio3D with Shopify — pick the right one first
This is the single most important choice on this page. Picking the wrong one costs days, because one of them cannot work for most stores and Shopify's error message does not say so.
| Way | Use it when | Where it starts |
|---|---|---|
| The Simplio3D app for Shopify | Any store — and the ONLY option when the store belongs to your client, or when you have ever seen shop_not_permitted. | In Shopify: install Simplio3D from the Shopify App Store, then connect your Simplio3D account from inside your Shopify admin. Nothing to build, nothing to copy. |
| Your own Shopify app | You own the store AND you created a Dev Dashboard app inside the same Shopify organization as that store. | In Simplio3D: Dashboard → Integrations → Shopify, with your app’s Client ID + Secret. |
shop_not_permitted and no combination of scopes, app versions, reinstalls or the "legacy install flow" toggle changes it.The Simplio3D app for Shopify
Simplio3D publishes one Shopify app on the Shopify App Store. The store owner installs it and approves the permissions, exactly like any other Shopify app. There is no app to build, no credentials to copy, and no organization relationship required — which is why this works for stores you do not own.
Prerequisites
- Someone who can install an app in that store's Shopify admin (the store owner, or a staff account with the "Manage and install apps" permission).
- A Simplio3D account with at least one Configurator project — or create one while connecting.
Installing and connecting
- 1In your Shopify admin, find Simplio3D on the Shopify App Store and click Install. Shopify shows its standard permissions screen — review it and approve.
- 2Open Apps → Simplio3D in your Shopify admin.
- 3Already use Simplio3D? Click "Connect Simplio3D account". A Simplio3D window opens — sign in to your account. New to Simplio3D? Click "Create a free account": the form is filled in with your store’s details, and your account starts with a 30-day Pro trial.
- 4Choose the workspace this store belongs to and click "Connect store". The Shopify page updates by itself.
- 5Choose your Simplio3D plan on Shopify’s plan page when the app asks for it (see Plans and billing below).
- 6Connect products to your projects and add the configurator to your theme, all from the Simplio3D app in Shopify.
Connecting a client's store (you never see their login)
This is the flow for agencies and freelancers. Your client installs the Simplio3D app from the Shopify App Store in their own Shopify admin. Whoever clicks "Connect Simplio3D account" signs in to Simplio3D and picks the workspace — the client's own account, or yours if you have an Admin seat in the client's workspace. You never ask them for a password or for access to their Shopify organization.
What Simplio3D asks for
| Permission | Why it is needed |
|---|---|
| write_draft_orders | Creates the Draft Order that carries your configurator’s price and configuration summary, in Draft Order checkout mode. |
| read_products | Product linking, the live SKU check in the pricing panels, and SKU-matched cart checkout. |
| write_cart_transforms (optional) | Only if you turn on “Cart price and picture” in the Simplio3D app: charges the configured price in the cart and at checkout. Shopify asks for it at that moment, and it is handed back when you turn the feature off. |
Simplio3D never asks for customer, order or payment permissions. If your client's Shopify admin shows anything beyond the permissions above, stop and contact support.
Plans and billing
With the Simplio3D app for Shopify you pay for the same Simplio3D plans through Shopify, on your store’s Shopify bill:
| Plan | Price | How to get it |
|---|---|---|
| Starter | $29 / month | Shopify admin → Apps → Simplio3D → Plan → Choose a plan |
| Pro | $49 / month | Shopify admin → Apps → Simplio3D → Plan → Choose a plan |
| Enterprise | Custom | Contact us from the Enterprise card; your private plan then appears on your store’s plan page |
- 1In your Shopify admin, open Apps → Simplio3D. If your workspace has no plan yet, the app opens on "Choose your plan"; otherwise click Plan.
- 2Click Choose a plan (or Manage plan). Shopify’s own plan page opens.
- 3Pick a plan and approve it. Shopify brings you back to Simplio3D and the plan is active straight away. A new plan starts with Shopify’s free trial: nothing is charged until it ends, and Shopify then starts billing by itself.
Change between Starter and Pro, switch between monthly and yearly, or cancel on the same Shopify page at any time — no need to contact support; Shopify prorates the difference. In the Simplio3D dashboard, Billing & Plan shows your plan, its status (Trial, Active, Frozen, Cancelled or Expired), the trial end or renewal date and your resource usage, marked Billing managed by Shopify, with a Manage plan in Shopify button instead of card payment. If a plan you just chose isn’t shown yet, click the refresh button there, or Refresh on the app’s Plan page.
Trial. While a trial is running you see how many days are left. If a plan is already approved on Shopify, the message is “Your subscription will be billed through Shopify” and there is nothing to do. If not, it says “Choose a plan to continue after your trial” and takes you to Shopify’s plan page. Connecting a store, reinstalling the app or reconnecting never starts a new Simplio3D trial and never shortens the one you have.
Charging the configured price in the cart, with a picture of the configuration on the order
By default the Shopify cart charges each product’s own Shopify price and shows its product image; the shopper’s choices are listed on the cart line. With Cart price and picture the cart and the checkout can instead charge the price your configurator calculated, and the order can keep a picture of the shopper’s configuration. It works on every Shopify plan, with the standard Shopify cart.
- 1In your Shopify admin, open Apps → Simplio3D and find “Cart price and picture”. Click Turn on. Shopify asks you to allow one more permission (changing how cart items look and what they cost) — approve it.
- 2Open the theme editor (Online Store → Themes → Customize) and select the Simplio3D block that shows the Add to cart button: Add to cart, Configurator options, or 3D configurator.
- 3Set “Price in the cart” to “Simplio3D calculated price” to charge what the configurator shows, and tick “Configuration picture on the order” to save a picture of the configured product with the order. Save.
- 4Configure a product on your store and add it to the cart: the line costs the configured price, and the checkout shows the same. After the order is placed, open it in your Shopify admin: the line’s details include a link to the picture of the configuration.
| Good to know | Details |
|---|---|
| Which projects | The Simplio3D calculated price needs a Configurator project with pricing turned on, priced in your store’s currency. Viewer and Modular projects use the Shopify product price. The picture works for any project with a 3D view. |
| The price is safe | Simplio3D calculates the price again on its server from the shopper’s choices; a shopper can’t change it. |
| Where the picture is | On the order, as a link in the line’s details. The cart and the checkout keep your product image: Shopify only shows its own product images there. |
| The price shoppers see | A button that charges the Simplio3D calculated price always shows that price right above it, so shoppers see what they pay before they add to the cart. |
| Your Shopify product price | Keep it at the lowest price you would sell the product for. Themes show it on collection pages, and Shopify charges it for a line that carries no configured price. |
| Tax | If your Shopify prices include tax, shoppers are charged the configured price with the project’s tax. If Shopify adds tax at checkout, they are charged the configured price before the project’s tax. |
| Limits | Up to 10 different configured products in one cart (quantities don’t count). Subscription lines are not re-priced. The Customize button and the “Customize on products” app embed always use the Shopify product price. |
| If it can’t charge the price | The Add to cart button hides rather than sell at the wrong price, and the theme editor tells you why with an “Open cart settings” link. |
Disconnecting
Manage the Simplio3D app from Shopify. In your Shopify admin, Apps → Simplio3D → Disconnect removes the link between the store and your workspace. To remove the app entirely, the store owner uninstalls "Simplio3D" from Settings → Apps and sales channels; that also revokes our access, and checkout stops working until the app is installed and connected again. Disconnect in Dashboard → Integrations → Shopify only drops the stored access — the app renews it the next time it is opened in Shopify — so disconnect from Shopify when you mean it.
Getting help
In your Shopify admin, open Apps → Simplio3D and scroll to Support & suggestions: this guide, Open a support ticket (you sign in with your Simplio3D account and we reply by email) and Suggest a feature. Click Copy store details first and paste them into your ticket — your store, workspace, plan and how Simplio3D is set up on your theme, with no e-mail addresses, passwords, keys or customer data. Once Simplio3D is live on your store, the same page also invites you to review Simplio3D on the Shopify App Store; that is entirely optional — Not now or Don’t ask again hides it.
Working with several client stores
The supported way to handle several client stores is one Simplio3D workspace per client. Each client's account holds their own store connection, their own projects and their own product links; you join each workspace and switch between them from the workspace switcher in the dashboard sidebar.
- 1Have each client create their own Simplio3D account (or create it for them and hand it over).
- 2Ask them to invite you to their workspace from Dashboard → Members, on an Admin seat — that role can manage integrations and product links.
- 3Accept the invitation. Their workspace now appears in the workspace switcher at the top of your dashboard sidebar.
- 4Connect their Shopify store to that workspace: with the Simplio3D app, choose the client’s workspace when the store is connected from their Shopify admin; with your own Shopify app, switch into the client workspace and connect it in Dashboard → Integrations → Shopify.
- 5Everything you do while that workspace is selected belongs to that client: their store, their projects, their links, their orders.
Your own Shopify app (Dashboard → Integrations → Shopify)
Only choose this when you own the store and you can create the app inside the same Shopify organization as that store. Otherwise use the Simplio3D app from the Shopify App Store — this path will fail with shop_not_permitted no matter what you change.
Prerequisites
- A Shopify store that is in the same Shopify organization as the app you create below.
- A Simplio3D account with at least one published Configurator project.
- Access to the Shopify Dev Dashboard to create a custom app.
- The project must have Share Link enabled.
Creating a Shopify App (Dev Dashboard)
- 1Go to dev.shopify.com and sign in with your Shopify account.
- 2Click "Create an app" and give it a name (e.g. "Simplio3D Connector"). Choose "Create app manually".
- 3Go to the "Versions" tab and click "Create version".
- 4Under Access scopes, search for and add BOTH write_draft_orders AND read_products, then save the version. write_draft_orders powers Draft Order checkout; read_products powers product linking, in-editor SKU validation, and SKU-matched cart checkout.
- 5Go to the "Overview" tab and click "Install app" to install it on your store.
- 6Go to "Settings" > "App credentials" and copy the Client ID and Client Secret.
<org-id> in the URL (dev.shopify.com/dashboard/<org-id>) while viewing your app, then confirm your store is listed under that same organization's Stores — not under Collaborations. If it is not there, Shopify rejects the connection with shop_not_permitted, and no combination of scopes, app versions, reinstalls or the "legacy install flow" toggle will fix it. The usual cause is that the app was created in a Partner/agency organization, or in a second organization you also have access to. Either create the app from the organization that owns the store, or install the Simplio3D app from the Shopify App Store instead.read_products — without that scope, product search shows no products, the SKU badges in the pricing panels show an error, and SKU-matched cart checkout fails, even though the credentials themselves are valid. If you add the scope later, release a new app version, reinstall the app on the store, then re-test the connection in Simplio3D.Connecting in Simplio3D
- 1In the Simplio3D dashboard, go to Dashboard > Integrations > Shopify.
- 2Enter your Shop name (the myshopify.com subdomain, e.g. "my-store").
- 3Paste the Client ID and Client Secret from the Shopify Dev Dashboard.
- 4Click "Test Connection" to verify the credentials.
- 5Save the integration. You can now link projects to Shopify products.
Linking Projects to Products
With your own Shopify app, you link projects to products in Simplio3D. With the Simplio3D app, you connect products to projects from the Shopify admin instead (Apps → Simplio3D, or a product's More actions → Customize with Simplio3D).
- 1Open a project in the Simplio3D dashboard.
- 2Go to the Shopify linking dialog and select the product to connect.
- 3You can also use batch linking to connect multiple projects at once (up to 50).
Checkout Modes
Pick one of three checkout modes in Integrations > Shopify. Each project share viewer routes Add to Cart clicks through the active mode.
| Mode | Use when | Notes |
|---|---|---|
| Cart link | You have one Shopify product per Simplio3D project and just want a basic cart redirect. | Per-project link required (`Shopify linking dialog`). No price override, no breakdown — the customer pays the catalog variant price. |
| Draft order | You need to push the configurator total (including formula/tax) as the order total and surface the configuration summary on the order. | Creates a pending Draft Order via Admin API with `priceOverride` and `customAttributes`. Customer gets an invoice URL. |
| SKU-matched cart (Enterprise) | You author SKUs on priced variants and want a real Shopify cart with one line per priced selection. | No per-project link, no extra credentials — uses the Admin API you already configured. |
SKU-Matched Cart (Enterprise)
The third mode matches every priced variant in your projects to a Shopify variant by SKU at checkout time, then redirects the customer to a multi-line Shopify cart permalink (/cart/{variant1}:{qty},{variant2}:{qty}). It's the natural pair for the SKU authoring feature on Price Group, Variable, Price Table, and Unique Price blocks.
What you need
Just a connected store — either connection method works. No separate Storefront API token, no pre-sync. SKUs are resolved live whenever a customer clicks Add to Cart.
Setup steps
- 1Make sure you have an Enterprise plan and have authored SKUs on the priced variants you want sold (Pricing tab → SKU field next to each variant price).
- 2Connect the store — the Simplio3D app from the Shopify App Store, or your own app credentials in Dashboard → Integrations → Shopify.
- 3Pick "SKU-matched cart" as the checkout mode and save.
- 4Open any of your projects → Pricing tab. You'll see a small ✓ / ✗ / ⚠ badge next to every SKU input — that's the live check against your Shopify store. Fix any ✗ (not found) or ⚠ (duplicate) flags before sharing the project.
In-editor SKU validation
While you type a SKU into a pricing block, Simplio3D queries your Shopify Admin API (debounced 600 ms) and renders a tiny badge next to the input:
| Badge | Meaning | Action |
|---|---|---|
| ✓ green check | Exactly one Shopify variant has this SKU. Hover for the product + variant title. | No action — ready for checkout. |
| ✗ red X | No Shopify variant has this SKU. | Either create the variant in Shopify, or update the SKU on the priced variant. |
| ⚠ amber triangle | More than one Shopify variant shares this SKU. | Clean up Shopify so each SKU is unique. The cart will skip this row until resolved. |
| ⊘ orange alert circle | The check itself FAILED — the app is missing the read_products scope, the Shopify credentials stopped working, or a lookup error occurred. This is not "SKU not found". | Hover the badge — the tooltip names the exact reason. Fix the app scopes (add read_products, release a version, reinstall) or Re-test Connection in Dashboard → Integrations → Shopify, then reopen the panel. |
| (nothing) | Shopify isn't connected, you're not on Enterprise, or the SKU field is empty. | No badge is rendered — editing is unaffected. |
How checkout works
- The share viewer reads the live pricing breakdown — each row carries its SKU when authored.
- On Add to Cart, the viewer POSTs
{ items: [{ sku, quantity, label?, parentName?, amount? }], configurationSummary?, note? }toPOST /share/:projectId/:token/shopify-sku-cart. - The server validates the share token, confirms the project owner is on Enterprise, resolves each SKU to a numeric Shopify variant ID via the Admin API (one batched GraphQL call), and builds a multi-line cart permalink.
- The customer is redirected to that permalink. Unmatched SKUs are skipped and reported in the response so the merchant can see what didn't make it into the cart.
Draft Order Integration
In the shared viewer, the Add to Cart button first checks Shopify mode. If Push price & configuration summary is enabled, clicking Add to Cart creates a Draft Order and redirects the customer to the invoice checkout URL.
- Configured option summary in draft-order custom attributes and note text.
- Configured price override when pricing is configured for the project.
- Fallback to normal Shopify cart URL when Push price & configuration summary is disabled.
- Invoice URL generation via Draft Order API response (with fallback attempts if invoiceUrl is not returned immediately).
write_draft_orders is required for Draft Order mode and read_products for product linking, in-editor SKU validation and SKU-matched cart. (read_product_listings is not required.)Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| Token exchange failed (400): shop_not_permitted | The store is not in the same Shopify organization as your app. This is the single most common Shopify setup failure, and it is not fixable from the app side. | Create the app from the organization that owns the store, or install the Simplio3D app from the Shopify App Store instead. |
| Shopify rejected the stored access token | The Simplio3D app was uninstalled from the store, or its access was revoked. | Open Apps → Simplio3D in the store’s Shopify admin — reinstall it from the Shopify App Store if it was removed. Your checkout mode, product links and SKUs are preserved. |
| Checkout suddenly goes to a different client’s store | One Simplio3D account holds one Shopify store. Reconnecting the account to a second store re-points every already-linked project at it. | Use one workspace per client (see "Working with several client stores") rather than reconnecting a single account between stores. |
| I can’t find the Simplio3D app in Dashboard → Integrations → Shopify | That page is only for connecting your own Shopify app. The Simplio3D app is installed and managed from Shopify. | Install Simplio3D from the Shopify App Store, then open Apps → Simplio3D in your Shopify admin. |
| Product search shows no products / SKU badges show an amber alert | The connection works but read_products was not granted. | Simplio3D app: update or reinstall it from Shopify to grant it. Own app: add read_products to the app version, release, reinstall, then re-test. |