You can view data on charges and transactions using the following mechanisms: - [Partner Dashboard](#app-charge-data-in-the-partner-dashboard) - [GraphQL Admin API](#transaction-data-through-the-graphql-admin-api) ## App charge data in the Partner Dashboard You can view the following data by page in the [Partner Dashboard](https://www.shopify.com/partners):
Data by page in the Partner Dashboard
Page Data
App charge overview
  • Recurring app subscription charges
  • Usage-based app subscription charges
  • One-time app charges
Store App charges for a specific store
Payouts App charges for a specific payout
App history App charge details
## App charge overview page > Note: > In the event of a discrepancy between the overview page and the [**Payouts** page](#payouts-page), the information on the **Payouts** page should be considered the accurate reference. The app charge overview page provides the most comprehensive information regarding charges and earnings. The page provides the following details: - 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 - The list of merchant payment transactions that are associated with the charge Clicking the arrow next to a transaction displays the following details: - An itemized list of the Shopify revenue share fee, processing fee, and your net profit as the app's developer - A link to the Partner payout that includes the app charge. The payout link isn't applicable to pending payouts.
The app charge overview page listing details for a subscription to a Basic plan. The overview page includes the app subscription ID, a clickable link to the app and the store on which the app is installed, payment invoice details, and the option to issue a refund
The overview page includes [additional charge details](#subscription-charge-details) for subscription charges. ### Subscription charge details You can view the following additional details for subscription charges: - A description of the charge, such as $15 every 30 days for an app subscription charge. - The date on which the charge was created. - The charge's status, which can be one of the following:
Charge statuses
Status Description
Pending The merchant hasn't yet approved or declined the charge.
Activated

The charge is currently active.

For some payments, such as wire transfers, Shopify marks the charge as active when the payment is in flight.

Declined The merchant declined the charge.
Canceled

The merchant or the developer canceled the subscription

If a payment doesn't go through, then Shopify retries the charge. Only shut off a merchant's app access after Shopify freezes the charge.

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 charge within two non-business days.
## Transaction data through the GraphQL Admin API You can use the following billing resources on the GraphQL Admin API to view transaction data:
Data by GraphQL Admin API resource
Transaction data Resource Learn how
Single app purchase AppPurchaseOneTime Example
Multiple app purchases currentAppInstallation Example
Single app subscription currentAppInstallation Example
Multiple app subscription AppSubscription Example
App usage records for a single subscription AppSubscription Example
App usage records for multiple subscriptions currentAppInstallation Example
App usage record currentAppInstallation Example
## View app revenue You can view your app's revenue and retrieve data on transactions using the following mechanisms: - [Partner Dashboard](#viewing-app-charges-in-the-partner-dashboard) - [GraphQL Admin API](#querying-billing-data-with-the-graphql-admin-api) ### Requirements - To use the Partner Dashboard, you require a [Partner account](https://www.shopify.com/partners). - To view the Partner Dashboard's app charge overview and **Payouts** pages, store owners and staff require the `View financials` permission. - To use the GraphQL Admin API, your app must be able to make [authenticated requests](/docs/api/admin-graphql#authentication) to the API. ### Viewing app charges in the Partner Dashboard The following procedures explain how to view app charges and data from the Partner Dashboard: #### App charge overview page 1. From the [Partner Dashboard](https://www.shopify.com/partners), click **Apps** . 1. Select the app that you want to view charges for. 1. On the **Overview** page, scroll to **Latest app history**. 1. Optional: Select **View all app history** and navigate through the pages. 1. In the **Event Details** column, click **Open payments**. 1. To view transaction details, next to a transaction click the inverted caret (▼). #### Store page 1. From the [Partner Dashboard](https://www.shopify.com/partners), click **Apps** . 1. In the search bar, enter the name of the store with the app charges that you want to check. 1. In the search results, select the store. 1. Next to the app charge that you want to check, click the link in the **Details** column. #### Payouts page 1. From the [Partner Dashboard](https://www.shopify.com/partners), click **Apps** . 1. In the sidebar, click **Payouts**. 1. On the **Payouts** page, click the payout with the app charges that you want to check. 1. Next to the app charge that you want to check, click the link in the **Type** column. 1. For details, next to a transaction click the inverted caret. #### App history page 1. From the [Partner Dashboard](https://www.shopify.com/partners), click **Apps** . 1. Click the name of the app with the charges that you want to check. 1. In the sidebar, click **Insights** > **App history**. 1. In the table next to the app charge that you want to check, in the **Event Details** column, click **Open payments**. 1. For details, next to a transaction click the inverted caret. ### Querying billing data with the GraphQL Admin API Use the following examples to familiarize yourself with billing data in the GraphQL Admin API. The currency code must be one of the [supported currencies](/docs/apps/launch/billing#supported-currencies). #### App purchases You can query a [single purchase](#single-app-purchase) or [multiple purchases](#multiple-app-purchases). ##### Single app purchase Query a single purchase with the [`AppPurchaseOneTime`](/docs/api/admin-graphql/latest/objects/AppPurchaseOneTime) object. Pass the app purchase ID as an argument. You can retrieve this ID from the **[Payouts](#payouts-page)** page. The following is an example:

#### Multiple app purchases Query multiple purchases using [`currentAppInstallation`](/docs/api/admin-graphql/latest/queries/currentAppInstallation). Specify the number of purchases to return by passing `first` or `last` as an argument. The following is an example:

#### App subscriptions You can query a [single subscription](#single-app-subscription) or [multiple subscriptions](#multiple-app-subscriptions). ##### Single app subscription Query a single subscription using the [`AppSubscription`](/docs/api/admin-graphql/latest/objects/AppSubscription) object. Pass the subscription ID as an argument. The subscription ID is returned when you create a subscription. The `AppSubscription` object can also return the app subscriptions that are associated with the installation. The following is an example:

##### Multiple app subscriptions Query multiple subscriptions using [`currentAppInstallation`](/docs/api/admin-graphql/latest/objects/currentAppInstallation). Specify the number of subscriptions to return by passing `first` or `last` as an argument. The following is an example:

#### App usage records Query an app usage record for a [single subscription](#app-usage-records-for-a-single-subscription) or records for [multiple subscriptions](#app-usage-records-for-multiple-subscriptions). You can also query a specific app usage record by its ID. ##### App usage records for a single subscription Query the app usage record for a single subscription using the [`AppSubscription`](/docs/api/admin-graphql/latest/objects/AppSubscription) object. Pass the subscription ID as an argument. You can specify the number of records to return by passing `first` or `last` as an argument. The subscription ID is returned when you create a subscription. The `AppSubscription` object can also return the app subscriptions that are associated with the installation. The following is an example:

##### App usage records for multiple subscriptions Query the app usage record for a single subscription using [`currentAppInstallation`](/docs/api/admin-graphql/latest/queries/currentAppInstallation). You can get the `usageRecords` from the `lineItems` field of `allSubscriptions`. Specify the number of records to return by passing `first` or `last` as an argument.

##### App usage record by ID Query a specific app usage record using the [`AppUsageRecord`](/docs/api/admin-graphql/latest/objects/AppUsageRecord) object. Pass the app usage record ID as an argument.