App Store Connect sales report explained

App Store Connect sales report explained: what Units, Customer Price and Developer Proceeds mean, and why it never matches the Financial Report.

By · · 7 min read · Facts checked

On this page
  1. Which App Store Connect report answers which question?
  2. What do Units, Customer Price and Developer Proceeds mean?
  3. What does one row look like?
  4. What do the Product Type Identifier codes mean?
  5. How do subscription and refund rows show up?
  6. Why does Sales and Trends not match the Financial Report?
  7. A five-minute monthly check
  8. How does Plask read the report?

The App Store Connect sales report explained in one line: Units is how many were sold, Customer Price is what the customer paid per unit including tax, and Developer Proceeds is what you receive per unit after tax and Apple's commission. Multiply Units by Developer Proceeds and you have the money for that row.

Plask (plask.dev) reads exactly these columns, so this post walks through them, then explains why the numbers in Sales and Trends do not match the Financial Report you get paid from.

Which App Store Connect report answers which question?#

There are two places to look, and they are built for different jobs.

Sales and TrendsPayments and Financial Reports
AnswersWhat sold, where, and roughly how muchWhat Apple actually paid you
FreshnessDashboard: hourly data, generally within about two hours. Downloaded daily reports: available the following dayPrevious fiscal month, by the first Friday of the current fiscal month
ProceedsEstimatesFinalized
CurrencyDashboard shows USD estimates; downloaded reports use the customer's local currencyConverted to your bank account's currency

Apple says proceeds in Sales and Trends "aren't final" (Apple, view units, proceeds, sales). That page also gives the dashboard's hourly data and its UTC default, which you can switch to Pacific Time.

Downloaded reports are different: "Sales and Trends provides next-day data", based on Pacific Time (Apple, download and view reports). Daily reports are available the following day, generally by 8 a.m. PT (Apple, report availability).

Financial reports are "made available for the previous fiscal month's earnings by the first Friday of the current fiscal month" (Apple, receiving payments). The currency row comes from Apple's comparison of the tools (Apple, differences in reporting tools).

Inside Sales and Trends you can download several report types. The one this post is about is the Summary Sales Report: aggregated sales and download data for your apps and In-App Purchases. There is also a Subscription Report for active subscriptions.

What do Units, Customer Price and Developer Proceeds mean?#

Each row of the Summary Sales Report is one product, in one country, for one period. These are Apple's definitions (Apple, Summary Sales Report):

ColumnWhat it holds
UnitsAggregated number of units. Negative means a refund.
Customer PricePrice per unit billed to the customer, including any taxes Apple collects and remits.
Customer CurrencyThe currency the customer paid in.
Developer ProceedsWhat you receive per unit: customer price minus applicable taxes and Apple's commission.
Currency of ProceedsThe currency you are paid in.
Product Type IdentifierThe kind of transaction, such as a download, an update or an In-App Purchase.
Country CodeThe App Store country or region of the purchase.
SubscriptionWhether an auto-renewable subscription is new or a renewal.

Both money columns are per unit. Developer Proceeds is not the row total.

What does one row look like?#

Here is one made-up row for a subscription sold in Germany. These are illustrative numbers, not a real app.

ColumnValueHow to read it
Product Type IdentifierIAYAn auto-renewable subscription
Subscription(new, as a first-time subscriber)Apple only says "new or a renewal"; the exact text in the cell may differ
Country CodeDESold on the German storefront
Units4Four purchases in the period
Customer Price4.99Each customer paid 4.99, tax included
Customer CurrencyEURThey paid in euros
Developer Proceeds3.00You receive 3.00 per unit
Currency of ProceedsEURPaid to you in euros

The row total is 4 x 3.00 = 12.00 EUR in proceeds, against 4 x 4.99 = 19.96 EUR billed. The gap is tax plus commission. The gross vs proceeds post shows that arithmetic step by step.

Customer currency and proceeds currency can differ, and a downloaded report shows amounts as the customer transacted them. Apple's Sales and Trends dashboard instead estimates sales and proceeds in USD, using a rolling average of the previous month's exchange rates. If you want one currency, convert it yourself and treat it as an estimate.

What do the Product Type Identifier codes mean?#

The column separates downloads, updates and purchases. Apple lists the full set (Apple, product type identifiers). The ones you will see most:

CodeMeaning
1Free or paid app (iOS, iPadOS, visionOS, watchOS)
7App update (iOS, tvOS, visionOS, watchOS)
3Re-download
IA1In-App Purchase (iOS, iPadOS, visionOS)
IAYAuto-renewable subscription (iOS, iPadOS, visionOS)
IA9Non-renewing subscription (iOS, iPadOS, visionOS)
F1Free or paid app on Mac

Rows with zero proceeds are not necessarily errors: free downloads and updates have none (Apple, download and view reports).

How do subscription and refund rows show up?#

Two columns do the work. Subscription says whether a purchase is new or a renewal, and a returning subscriber who resubscribes counts as a renewal. Units goes negative for a refund.

Apple's note on refunds: negative values for Units and Customer Price, and positive values for Developer Proceeds (Apple, Summary Sales Report). So multiplying Units by Developer Proceeds still gives a negative number for the row, which is what you want. A Units value of 0 may mean a partial refund.

For subscriptions, the Proceeds Reason column reads "Rate After One Year" once a subscriber has been active for more than a year, because the share rises from 70% to 85% of the price minus tax.

Apple lists why the two differ. Four reasons, all from its docs:

  • Estimates versus final. Sales and Trends proceeds are estimates. Payments and Financial Reports use the exchange rate that converts each report's currency to your bank account's currency.
  • Timing. A transaction may not show in Sales and Trends until the customer's payment is processed, collected and invoiced, sometimes in the following fiscal month. Transactions without collected payment never reach financial reports.
  • Refunds and billing retries can be recorded at different times in the two tools.
  • Calendars. Financial reports follow Apple's fiscal calendar, not calendar months.

Sources: (Apple, differences in reporting tools), (Apple, view units, proceeds, sales) and (Apple, overview of receiving payments).

The Financial Report also names its columns differently. There the unit count is Quantity, the per-unit proceeds are Partner Share, and Quantity times Partner Share is Extended Partner Share. Customer Price is still Customer Price (Apple, financial report fields). Same ideas, different headers.

A five-minute monthly check#

  1. Wait for the Financial Report of the month you want. Until it exists, proceeds are estimates.
  2. Add up Extended Partner Share per currency for the month.
  3. Compare with Sales and Trends for the same fiscal month. Expect small differences from exchange rates and late refunds.
  4. If the gap is large, look first at refunds, then at transactions that straddle a month end.
  5. Use the proceeds calculator to sanity check a single price point.

How does Plask read the report?#

Plask reads the daily Summary Sales and Subscription summary reports through the App Store Connect API, using a Team key you create with the Sales role, plus your vendor number. Apple lists Admin, Finance and Sales as the roles that can view Sales and Trends (Apple, view units, proceeds, sales).

The Connect App Store Connect step of Plask's add-source wizard: instructions for creating a read-only Team key with the Sales role, and empty fields for the private key file, Key ID, Issuer ID and Vendor number.
Sample data: the Connect step of the add-source wizard, fields left empty.

What that means in practice:

  • It uses Units, Developer Proceeds, Customer Price and the currency columns from the table above, per app and country. It does not read customer-level reports.
  • Net revenue per row is Units times Developer Proceeds. Refunds reduce net revenue.
  • If Apple changes the report layout and a needed column is missing, the sync stops instead of importing wrong numbers.
  • Plask cannot check which role a key has, so do not reuse an Admin key. A Team key covers all your apps.
  • These are Sales and Trends figures, not the finalized Financial Report. Plask does not replace it for the number Apple pays you.

What the key can and cannot read is on the features page. If RevenueCat already covers an app, you do not need both for the same sales; see App Store Connect vs RevenueCat.