Connect Shopify
Create and install your Shopify app, connect your store, and resolve common setup issues.

On this page
Use a Shopify connection to import store orders, refunds, payments, and fulfillment details. Supported stock movements can also appear in Internal inventory transfers.
Before you begin
You need access to the store’s Shopify admin and permission to create and install apps. Ask the store owner to help if these options are unavailable.
This connection uses an app created in the same Shopify organization as the store. If an agency is setting it up, create the app in the store owner’s organization. Access to a client’s store from an agency account does not by itself meet this requirement.
In Shopify, open Settings → Domains and copy the store’s exact *.myshopify.com domain, such as example.myshopify.com. Keep the full name, including any prefixes or numbers.
Create and install the Shopify app
If you already have a suitable app, open it and check its permissions and installation before continuing.
- Open the Shopify Dev Dashboard and select the organization that owns the store.
- Choose Apps → Create app → Start from Dev Dashboard. Give it a recognizable name, such as “Balta Labs connection”, then select Create.
- In Versions, configure the app’s access permissions, called Scopes. Add
read_ordersfor orders andread_locationsfor store locations. Addread_all_ordersif you need order history older than 60 days. If Shopify asks for an App URL, you can use its default app home:https://shopify.dev/apps/default-app-home. - Select Release to make the configuration available for installation.
- Open the app’s overview and choose Install app in the Installs section. Select the correct store, review the requested access, and confirm Install in Shopify. Creating the app alone does not connect it to your store.
- In that same app, open Settings → Credentials and copy Client ID and Client secret. Keep the secret private.
For stock-transfer imports, also add read_inventory, read_inventory_transfers, and read_inventory_shipments. These permissions are separate from the basic connection test. After changing permissions, release the updated version and approve the new access in the store when Shopify prompts you.
Shopify’s app setup guide explains its screens in more detail.
Add the store in Balta Labs
- Open Settings → Connections → Add account → Shopify.
- Enter an optional Connection name, the exact Shop domain, and the Client ID and Client secret from the installed app.
- Select Save credentials, then Test on the connection card.
- Once the test succeeds, use Explore to review the granted permissions. Check access to older orders if you need a historical import.
- Select Start import. If you see Test & start import, it checks the connection before starting. Progress appears below the connection.
Add each store separately. Saving credentials alone does not verify the connection; Connected appears after a successful test.
Common issues
Shopify says the app is not installed
Return to the Dev Dashboard, open the app whose credentials you entered, and install it on the store matching your saved domain. Check the store’s installed apps to confirm it is present. An app installed on another store will not work for this connection. Return to Balta Labs and select Test again.
Shopify rejects the credentials
Check that both values came from Settings → Credentials in the same installed app. An Admin API access token or Storefront token cannot replace the Client secret. Use Manage to correct the values, save, and test again. Leave a credential field blank to keep its saved value.
The store cannot be found or selected
Copy the domain from Shopify’s Settings → Domains; do not guess it from the store name or enter its public website address. If the store is missing from the app’s installation choices, check the selected organization and ask the store owner to confirm your access. The Shopify connection requirements explain the organization restriction.
Test succeeds, but orders or transfers are missing
A successful test confirms that the store can be reached with those credentials. Use Explore to check the permissions for the data you need. Older orders require read_all_orders alongside read_orders; transfers need the additional inventory permissions listed above. Release permission changes, approve them in Shopify, then test again and retry the import. Shopify’s permission guide explains any additional approval requirements.
The connection failed and import is disabled
Test and Manage remain available. Correct the installation or settings, then test again. Import and retry controls become available after a successful test. For an unchanged setup that previously worked, wait a little and retry Test in case Shopify is temporarily unavailable.
