RevGlanceDocs

Shopify

Connect a Shopify store through a Dev Dashboard app to read orders, refunds, fees and subscription contracts.

RevGlance reads your store through Shopify's GraphQL Admin API. It signs in with your app's client ID and secret (the client credentials grant), which only works for stores in the app's own organization.

Connect

  1. In the Shopify Dev Dashboard, create an app in the same organization as your store.
  2. Give it the read_orders, read_all_orders, read_own_subscription_contracts and read_customers scopes, release a version and install the app on your store.
  3. From the app's Settings, copy the Client ID and Client secret (it starts with shpss_).
  4. Fill in your store's .myshopify.com address and both values, then choose Connect Shopify.

What the form asks for

FieldLooks like
Storeacme.myshopify.com
Client ID1a2b3c4d5e6f…
Client secretStored encryptedshpss_…

Add the webhook

Shopify signs its webhooks with the app's client secret, which the source already holds, so there is no secret to paste.

  1. In RevGlance, open Settings › Sources, open the Shopify source's menu and choose Webhook. Copy the URL.
  2. In your app's configuration, subscribe to the order, refund and subscription contract topics with that URL as the endpoint, and release the change.

What RevGlance syncs

  • Paid orders, before tax, in the store's currency, with Shopify Payments' fees. Test orders are left out. The read_all_orders scope lets the first sync go back further than Shopify's default 60 days.
  • Refunds, with tax taken off in the same share as on the order.
  • Subscription contracts from Shopify Subscriptions and apps built on it, for MRR. Orders a selling plan created count as recurring.

Shopify gives no cancel date or reason, so a cancelled contract ends when it last changed.

How Shopify is counted

  • Paid orders count before tax, in the store's currency, with Shopify Payments' fees as the fee. Test orders are left out.
  • Refunds include tax, so RevGlance takes the tax off in the same share as on the order.
  • MRR comes from subscription contracts (Shopify Subscriptions and apps built on it), after their discounts. Orders a selling plan created count as recurring.
  • Shopify gives no cancel date or reason: a cancelled, expired, failed or paused contract ends when it last changed.
  • A partly paid order counts what came in so far.
  • Where prices include tax, MRR counts before tax, in the share of tax on the first order.
  • Subscription contracts carry no trial dates, so trials are not shown.
  • Chargebacks are not read, so a lost one stays counted as a charge unless the provider also reports it as a refund.
  • Failed charges are not reported, so that figure stays at zero.