Report data on app charges and earnings
There are two ways to report your app's revenue and retrieve data on transactions:
Requirements
Anchor link to section titled "Requirements"- You've created a Partner account.
- Your app can make authenticated requests to the GraphQL Admin API.
View app charges in the Partner Dashboard
Anchor link to section titled "View app charges in the Partner Dashboard"The app charge overview page allows store owners and staff with the View financials
permission to view details about one-time app charges, app usage charges, and app subscriptions in the Partner Dashboard.
If you want to check app charges from a particular merchant store, then you can view details for an app charge from a store's page. If you want to check app charges that are associated with a particular payout, then you can view details for an app charge from the Payouts page. You can also view details for an app charge from the App history page.
Viewing the details about an app charge
Anchor link to section titled "Viewing the details about an app charge"Each app charge overview page lists the following details about a particular app charge:
- merchant information, including a link to the store where the app is installed
- the name of the app that the merchant was charged for, including a link to the app
- the status of the app charge or subscription
- a list of merchant payment transactions that are associated with the charge
When you click the arrow that is next to the transaction, the following details for that transaction are displayed:
- an itemized list of the Shopify revenue share fee, the processing fee, and your net profit as the app's developer
- a link to the partner payout that includes the app charge (not available for pending payouts)

If the charge is a recurring app charge or a one-time app charge, then additional details are listed on the overview page.
Additional details about recurring app charges
Anchor link to section titled "Additional details about recurring app charges"The app charge overview page for a recurring app charge includes the following details:
- a description of the subscription, such as "$15 every 30 days"
- the subscription creation date
- the status of the recurring app charge, which can be one of the following:
- Pending: The merchant hasn't yet approved or declined the charge.
- Accepted: The merchant approved the charge. This is only available for REST API versions older than 2021-01.
- Activated: The merchant's subscription is currently active.
- Declined: The merchant declined the charge.
- Cancelled: The merchant or the developer cancelled the subscription.
- Frozen: The subscription is on hold due to a store subscription non-payment. The charge reactivates after the subscription payments resume.
- Expired: The merchant didn't accept the subscription within 2 days.
Additional details about one-time app charges
Anchor link to section titled "Additional details about one-time app charges"The app charge overview page for a one-time app charge includes the following details:
- a description of the one-time charge
- the charge creation date
- the status of the recurring app changes, which can be one of the following:
- Pending: The merchant hasn't yet approved or declined the charge.
- Accepted: The merchant approved the charge. This is only for REST API versions older than 2021-01.
- Activated: The merchant's subscription is currently active.
- Declined: The merchant declined the charge.
- Expired: The merchant didn’t accept the subscription within 2 days.
View an app charge from a store's page
Anchor link to section titled "View an app charge from a store's page"- From your Partner Dashboard, click Apps.
- In the Partner Dashboard search bar, enter the name of the store with the app charges that you want to check.
- In the search results, click the name of the store.
- Next to the app charge that you want to check, click the link in the Details column.
View an app charge from the Payouts page
Anchor link to section titled "View an app charge from the Payouts page"- From your Partner Dashboard, click Apps.
- Click Payouts.
- Click the payout with the app charges that you want to check.
- Next to the app charge that you want to check, click the link in the Type column.
View an app charge from the App history page
Anchor link to section titled "View an app charge from the App history page"- From your Partner Dashboard, click Apps.
- Click the name of the app with the charges that you want to check.
- In the sidebar, click Insights > App history.
- In the table, click the link in the Event details column next to the app charge that you want to check.
Query transaction data with the GraphQL Admin API
Anchor link to section titled "Query transaction data with the GraphQL Admin API"You can use the following examples to familiarize yourself with billing data in the GraphQL Admin API.
App purchases
Anchor link to section titled "App purchases"Using the GraphQL Admin API, you can query for an individual purchase or query for multiple purchases.
Query a single purchase
Anchor link to section titled "Query a single purchase"To query for a single purchase, you can query the node on AppPurchaseOneTime
by passing the app purchase ID as an argument.
Query multiple purchases
Anchor link to section titled "Query multiple purchases"To query for multiple purchases, you can use the currentAppInstallation
type. You can use the first
or last
argument to specify how many purchases you want to return.
App subscriptions
Anchor link to section titled "App subscriptions"You can query for an individual subscription or query for multiple subscriptions using the GraphQL Admin API.
Query a single subscription
Anchor link to section titled "Query a single subscription"To query for a single subscription, you can query the node on AppSubscription
by passing the app purchase ID as an argument.
Query multiple subscriptions
Anchor link to section titled "Query multiple subscriptions"To query for multiple subscriptions, you can use the currentAppInstallation
type. You can use the first
or last
argument to specify how many subscriptions to return.
App usage records
Anchor link to section titled "App usage records"To query for AppUsageRecords
, you can use the currentAppInstallation
type. You can obtain the usageRecords
from the lineItems
field of allSubscriptions
. You can use the first
or last
argument to specify how many records to return.
Query app usage records for a subscription
Anchor link to section titled "Query app usage records for a subscription"To query for an AppUsageRecord on a specific subscription, you can query the node on AppSubscription
by passing the app subscription ID as an argument.
Query an app usage record by ID
Anchor link to section titled "Query an app usage record by ID"To query for a specific app usage record, you can query the node on AppUsageRecord
by passing the app usage record ID as an argument.
- Learn about supported billing models
- Implement one-time charges
- Implement recurring subscription charges
- Offer free trials of your paid app