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.

WayUse it whenWhere it starts
The Simplio3D app for ShopifyAny 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 appYou 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.
The Simplio3D app always starts in Shopify. The Simplio3D dashboard does not install it and does not show it: Dashboard → Integrations → Shopify is only for connecting your own Shopify app. To use the Simplio3D app, install it from the Shopify App Store.
If you build for client-owned stores, use the Simplio3D app. Shopify's client-credentials grant (what "your own Shopify app" uses) is organization-scoped: it only issues a token when the app and the store sit under the same organization in the Dev Dashboard — and, in Shopify's words, owning a store or having the app installed on it does not place that store in your organization. A client's store appears under Collaborations, never under your organization's Stores, so Shopify answers 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

  1. 1In your Shopify admin, find Simplio3D on the Shopify App Store and click Install. Shopify shows its standard permissions screen — review it and approve.
  2. 2Open Apps → Simplio3D in your Shopify admin.
  3. 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.
  4. 4Choose the workspace this store belongs to and click "Connect store". The Shopify page updates by itself.
  5. 5Choose your Simplio3D plan on Shopify’s plan page when the app asks for it (see Plans and billing below).
  6. 6Connect products to your projects and add the configurator to your theme, all from the Simplio3D app in Shopify.
One account, never two. If the email you enter under “Create a free account” already has a Simplio3D account, no second account is created: you are asked to sign in to the existing one (with your password, Google, or a sign-in link sent by email), and then connect the store to it. Your projects, materials, 3D models, team and integrations stay exactly as they are. A store is only ever connected by someone signed in to the Simplio3D account — never because an email address matches.

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.

Everyone with access to the Simplio3D app in that Shopify admin can see the connected workspace's projects — so connect each client's store to that client's workspace (see "Working with several client stores" below).

What Simplio3D asks for

PermissionWhy it is needed
write_draft_ordersCreates the Draft Order that carries your configurator’s price and configuration summary, in Draft Order checkout mode.
read_productsProduct 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:

PlanPriceHow to get it
Starter$29 / monthShopify admin → Apps → Simplio3D → Plan → Choose a plan
Pro$49 / monthShopify admin → Apps → Simplio3D → Plan → Choose a plan
EnterpriseCustomContact us from the Enterprise card; your private plan then appears on your store’s plan page
  1. 1In your Shopify admin, open Apps → Simplio3D. If your workspace has no plan yet, the app opens on "Choose your plan"; otherwise click Plan.
  2. 2Click Choose a plan (or Manage plan). Shopify’s own plan page opens.
  3. 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.

Already paying Simplio3D by card? Nothing changes and you are never billed twice: the app says an existing Simplio3D subscription was detected, shows “Billed by Simplio3D” and charges nothing through Shopify. To pay on your store’s Shopify bill instead, open Dashboard → Billing & Plan → Move billing to Shopify: approve the same plan on Shopify’s plan page, and once Shopify confirms it your card subscription stops renewing (it stays active for the period you already paid). If you don’t approve the plan on Shopify, nothing changes. With a yearly card subscription, the page tells you how many days you would pay twice — move close to your renewal date, or contact us.
Uninstalling the app cancels its Shopify subscription (Shopify does this) and ends the plan; your Simplio3D account and projects are kept. After reinstalling, the store is still connected to the same account — choose a plan again. Disconnecting the store from your workspace also ends the plan for that workspace: the subscription belongs to the store, and each store has its own. A store connected to one Simplio3D account can’t be connected to another until it is disconnected.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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 knowDetails
Which projectsThe 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 safeSimplio3D calculates the price again on its server from the shopper’s choices; a shopper can’t change it.
Where the picture isOn 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 seeA 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 priceKeep 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.
TaxIf 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.
LimitsUp 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 priceThe 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.
Stores that use Draft orders or the SKU-matched cart in Simplio3D don’t need this: those checkouts already take their price from Simplio3D.

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

One Simplio3D account connects one Shopify store at a time. If you reconnect your account to a second store, every project you already linked to the first store keeps its product link but starts checking out against the new store. Nothing warns you, and the failure lands on your client's live storefront rather than in your dashboard — so do not use a single account to serve several clients.

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.

  1. 1Have each client create their own Simplio3D account (or create it for them and hand it over).
  2. 2Ask them to invite you to their workspace from Dashboard → Members, on an Admin seat — that role can manage integrations and product links.
  3. 3Accept the invitation. Their workspace now appears in the workspace switcher at the top of your dashboard sidebar.
  4. 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.
  5. 5Everything you do while that workspace is selected belongs to that client: their store, their projects, their links, their orders.
Connecting the store to the client's workspace rather than yours is usually what you want: their configurator keeps working if you stop managing it, and their store is never reachable from your other clients' projects.

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)

  1. 1Go to dev.shopify.com and sign in with your Shopify account.
  2. 2Click "Create an app" and give it a name (e.g. "Simplio3D Connector"). Choose "Create app manually".
  3. 3Go to the "Versions" tab and click "Create version".
  4. 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.
  5. 5Go to the "Overview" tab and click "Install app" to install it on your store.
  6. 6Go to "Settings" > "App credentials" and copy the Client ID and Client Secret.
The app and the store must be in the same Shopify organization. To check: open the Dev Dashboard, note the <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.
Don't skip read_products: the connection test verifies your credentials, and it will explicitly warn you when the app is missing 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

  1. 1In the Simplio3D dashboard, go to Dashboard > Integrations > Shopify.
  2. 2Enter your Shop name (the myshopify.com subdomain, e.g. "my-store").
  3. 3Paste the Client ID and Client Secret from the Shopify Dev Dashboard.
  4. 4Click "Test Connection" to verify the credentials.
  5. 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).

  1. 1Open a project in the Simplio3D dashboard.
  2. 2Go to the Shopify linking dialog and select the product to connect.
  3. 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.

ModeUse whenNotes
Cart linkYou 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 orderYou 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.

Simplio3D never asks you to paste an Admin API token. With the Simplio3D app, Shopify issues it when the store is connected from your Shopify admin; with your own app, the server exchanges your Client ID + Secret for one on demand. Either way the same access powers the connection test, the product list, Draft Order mode, and the SKU-matched cart.

Setup steps

  1. 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).
  2. 2Connect the store — the Simplio3D app from the Shopify App Store, or your own app credentials in Dashboard → Integrations → Shopify.
  3. 3Pick "SKU-matched cart" as the checkout mode and save.
  4. 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:

BadgeMeaningAction
✓ green checkExactly one Shopify variant has this SKU. Hover for the product + variant title.No action — ready for checkout.
✗ red XNo Shopify variant has this SKU.Either create the variant in Shopify, or update the SKU on the priced variant.
⚠ amber triangleMore 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 circleThe 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? } to POST /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.
Trust model: Variant IDs are always looked up server-side against your Shopify store at click-time — clients only send SKU + quantity. A malicious caller can't inject arbitrary Shopify products into the cart.
Fractional quantities: Shopify cart permalink quantities must be positive integers. Fractional breakdown quantities (e.g. number-input × 2.5) are rounded to the nearest integer. The configuration summary is attached to the cart via top-level cart attributes so the merchant can still reconcile.

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).
Admin API: Simplio3D talks to the Shopify Admin API (GraphQL, version 2025-01). With the Simplio3D app, Shopify issues an access token when the store is connected and Simplio3D renews it automatically until the app is uninstalled. With your own app, the server exchanges your Client ID + Secret for a token automatically and refreshes it every 24 hours (and re-exchanges on the spot if Shopify rejects a cached one after a reinstall or secret rotation). Either way, 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 seeWhat it meansWhat to do
Token exchange failed (400): shop_not_permittedThe 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 tokenThe 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 storeOne 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 → ShopifyThat 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 alertThe 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.

More in Integrations