Netice app revenue data infrastructure
App Store Connect reports to Snowflake
Netice sends Apple App Store Connect daily sales reporting into Snowflake as a managed, source-aware app revenue table. The default daily Snowflake table is APP_SALES_DAILY. It is built for operational Apple app-sales analytics, not Apple financeReports, payout reconciliation, accounting close, audit, tax reporting, or final settlement.
What Netice sends to Snowflake for Apple App Store reporting
In Netice, App Store Connect reports to Snowflake means loading Apple daily app-sales reporting into a customer-owned Snowflake table. The workflow belongs to Daily App Sales, using Apple App Store as the selected provider.
The customer-facing Snowflake table is not a raw App Store Connect file archive. It is an enriched daily analytics table. The default Snowflake table for Daily App Sales is APP_SALES_DAILY. Apple rows keep source fields such as source, platform, source_kind, and source_report so downstream users can tell whether a row came from Apple Summary Sales or another Apple daily reporting source.
The most important modeling rule is simple: Apple Sales and Trends / Summary Sales is not Apple financeReports. The daily Snowflake table is useful for trends, product analysis, subscription visibility, country reporting, and BI. It should not be treated as final payout, settlement, accounting close, tax advice, audited revenue, GAAP, IFRS, ASC 606, or bank reconciliation truth.
| Apple workflow | Source family | Snowflake/output behavior | Use case |
|---|---|---|---|
| Daily App Sales | App Store Connect Sales and Trends / Summary Sales and supported subscription event reporting | APP_SALES_DAILY |
Daily Apple app-sales analytics. |
| Finance Unified | Apple App Store Connect financeReports |
FINANCE_UNIFIED where configured |
Monthly platform finance review. |
| Raw Reports | Provider-native Apple report artifacts | Separate raw-report workflow | Source-native file custody, separate from managed daily Snowflake analytics tables. |
When to use this workflow
Use App Store Connect reports to Snowflake when your team wants Apple daily app-sales reporting available in the same warehouse where analysts, finance operations, product teams, and BI tools already work.
This workflow is useful for daily revenue dashboards, country and product reporting, subscription visibility, recurring refreshes, backfills, and downstream modeling. It is not meant to replace Apple financeReports or final accounting workflows.
What this Snowflake table is not for
APP_SALES_DAILY is not Apple financeReports. It is not a payout ledger. It is not a bank-reconciliation table. It is not an audit report. It is not a tax engine. It is not GAAP, IFRS, ASC 606, or accounting-close evidence.
This distinction is not legal fine print. It is a data-modeling requirement. Apple daily sales-style reports and Apple monthly financeReports answer different questions. If a Snowflake model hides that distinction, analysts may accidentally use a daily operational table for finance-period decisions.
Apple daily source reports used by Daily App Sales
The Apple daily path uses App Store Connect Sales and Trends style reporting. That means daily sales reporting, not App Store Connect /financeReports.
Apple Summary Sales rows are represented in the daily table with Apple source labels. Apple subscription event rows can also appear as lifecycle-style rows where supported. Those lifecycle rows should not automatically be interpreted as money rows unless the relevant revenue fields and event_has_revenue context support that interpretation.
| Field | Apple daily value | Meaning |
|---|---|---|
source |
APPLE_APP_STORE |
The source/provider category. |
platform |
IOS |
The platform context for Apple App Store rows. |
source_kind |
SALES |
Daily sales analytics, not monthly finance. |
source_report |
ASC_SUMMARY_SALES |
Apple Summary Sales style daily reporting. |
source_report |
ASC_SUBSCRIPTION_EVENT |
Apple subscription event reporting where available. |
The APP_SALES_DAILY Snowflake table
The default Snowflake table for Apple daily app-sales analytics is APP_SALES_DAILY. Public examples use synthetic fully qualified names such as EXAMPLE_DATABASE.EXAMPLE_SCHEMA.APP_SALES_DAILY.
The table is an enriched daily output, not a raw file copy. It includes source identity, app/product context, report-currency fields, native/local values, Apple proceeds context, method fields, lifecycle flags, data-completeness context, and safe provenance fields.
| Field group | Representative fields | Apple interpretation |
|---|---|---|
| Date and source | revenue_date, platform, source, source_kind, source_report |
Identifies the daily Apple source family and reporting date. |
| App/product dimensions | app_id, country, item_id, item_name, subscription_period, transaction_type, units |
Supports app, product, territory, and subscription analysis. |
| Report-currency amounts | report_currency, estimated_gross, estimated_net, estimated_tax, estimated_fee |
Analytics presentation fields, not settlement or accounting truth. |
| Native/local and proceeds | native_currency, gross_local, net_local, apple_proceeds_currency, apple_proceeds_native |
Preserves Apple/source currency and proceeds context where available. |
| FX and methods | gross_fx, net_fx, tax_fx, fee_fx, net_method, fee_method, tax_method |
Explains how daily analytical values were derived or converted. |
| Freshness and lifecycle | data_completeness, event_has_revenue |
Helps separate source-readiness and revenue-impacting rows from lifecycle-only rows. |
| Lineage | source context, source row reference, ingestion timestamp, safe metadata | Supports traceability without exposing raw Apple source rows or credentials. |
Apple proceeds, report currency, fee and tax method fields
Apple daily Snowflake rows can include Apple-specific proceeds context through fields such as apple_proceeds_currency and apple_proceeds_native. They can also include report-currency estimated amounts for analytics and BI.
But Apple Summary Sales should not be described as itemizing commission or tax as settled finance facts. That is why method fields matter. net_method, fee_method, and tax_method explain how values were sourced or estimated. They are part of the meaning of the row, not decorative metadata.
| Concept | Relevant fields | Safe interpretation |
|---|---|---|
| Apple proceeds | apple_proceeds_currency, apple_proceeds_native |
Apple-specific proceeds context where available in the daily source path. |
| Report currency | report_currency, estimated_net |
Analytics presentation in the configured reporting currency. |
| Fee method | fee_method |
Explains daily analytical fee treatment; not proof that Apple itemized commission in Summary Sales. |
| Tax method | tax_method |
Explains daily analytical tax treatment; not a tax-advice claim. |
| Lifecycle behavior | event_has_revenue, transaction_type |
Prevents subscription event rows from being blindly summed as revenue. |
Snowflake destination setup
Apple source access and Snowflake destination access are separate. Apple source access lets Netice read selected App Store Connect reporting inputs. Snowflake destination access lets Netice write the managed table into the customer’s Snowflake environment.
Snowflake setup uses a secure destination access method with account, user, role, warehouse, database, schema, table, and stage context. Netice’s public examples use synthetic values only, and customer-specific Snowflake identifiers should be treated as sensitive operational details.
| Setup area | Purpose | Safe synthetic example |
|---|---|---|
| Apple source access | Read Apple daily Sales and Trends / Summary Sales reporting. | example_apple_app_store_reporting |
| Snowflake account | Identify destination account. | EXAMPLE_ACCOUNT |
| Warehouse | Provide compute for Snowflake loading. | EXAMPLE_WAREHOUSE |
| Database and schema | Contain the managed Snowflake table. | EXAMPLE_DATABASE.EXAMPLE_SCHEMA |
| Daily table | Store daily Apple app-sales analytics. | APP_SALES_DAILY |
| Stage | Support staged loading. | NETICE_STAGE |
Examples in this guide do not contain real Apple account details, Snowflake account names, credentials, source files, logs, app identifiers, customer data, task IDs, run IDs, or production destination names.
Staged loads and scoped refresh behavior
The Snowflake daily output is a managed table, not a blind append-only pile of exported files. Candidate rows can be staged, checked, and then used to refresh the relevant date/source slice of the managed table.
This is important for backfills, reruns, and recurring refreshes. Apple daily reporting can be unavailable or delayed for a requested date. A rerun should not create uncontrolled duplicate rows, and an empty candidate window should not be interpreted as zero revenue without context.
| Refresh behavior | Why it matters | Customer-facing boundary |
|---|---|---|
| Managed stable table | Downstream BI can query a predictable APP_SALES_DAILY table. |
Netice updates a stable table instead of requiring customers to chase run-specific files. |
| Staged load | Candidate rows can be checked before managed output changes. | Customers do not need internal staging details to use the final table. |
| Scoped replacement | Refreshes selected reporting windows and source scope. | Refreshing a window is not the same as truncating the whole table. |
| Duplicate checks | Prevents duplicate candidate rows from becoming usable output. | Customers should not have to manually deduplicate every rerun. |
| Provider-late handling | Separates unavailable reports from destination failures. | Missing provider data should not be treated as confirmed zero revenue. |
Summary Sales vs Apple financeReports
This Snowflake article is about Apple daily reporting in APP_SALES_DAILY. Apple financeReports are different. They belong to Finance Unified, use source_kind = 'FINANCE', and land in a separate finance table such as FINANCE_UNIFIED where configured.
The daily table uses revenue_date and daily app-sales fields. Finance Unified uses finance/fiscal period semantics, source reports such as APPLE_FINANCE_DETAIL or APPLE_FINANCIAL, and native/report-currency finance fields. These outputs can support related business questions, but they should not be treated as row-equivalent or interchangeable.
| Question | Daily Apple Snowflake | Finance Unified |
|---|---|---|
| Workflow | Daily App Sales | Finance Unified |
| Apple source family | Sales and Trends / Summary Sales | Apple financeReports |
| Source kind | SALES |
FINANCE |
| Default Snowflake table | APP_SALES_DAILY |
FINANCE_UNIFIED |
| Main date concept | revenue_date |
Finance/fiscal period fields |
Raw Apple reports and Snowflake
Raw Apple reports are a separate output family. They preserve provider-native Apple report artifacts and should not be described as the managed daily Snowflake table. Raw reports do not normalize into the Daily App Sales schema by default, do not apply report currency, and do not become Finance Unified rows just because they came from Apple.
For raw-report use cases, see the raw reports guide. Keep the distinction clear: daily Snowflake analytics, monthly Finance Unified, and raw provider artifacts are separate workflows.
Safe synthetic examples
The examples below are synthetic. They are safe shapes for explaining Snowflake table usage, not real customer output, real Snowflake targets, or real Apple source rows.
Safe Snowflake target example
Account: EXAMPLE_ACCOUNT
Database: EXAMPLE_DATABASE
Schema: EXAMPLE_SCHEMA
Table: APP_SALES_DAILY
Fully qualified table: EXAMPLE_DATABASE.EXAMPLE_SCHEMA.APP_SALES_DAILY
Workflow: Daily App Sales
Provider selected: Apple App Store
Apple-only Snowflake query
SELECT
revenue_date,
source_report,
item_id,
report_currency,
SUM(estimated_net) AS estimated_net_report_currency,
SUM(units) AS units
FROM EXAMPLE_DATABASE.EXAMPLE_SCHEMA.APP_SALES_DAILY
WHERE source = 'APPLE_APP_STORE'
AND platform = 'IOS'
AND source_kind = 'SALES'
AND event_has_revenue = TRUE
AND revenue_date BETWEEN DATE '2026-02-01' AND DATE '2026-02-29'
GROUP BY revenue_date, source_report, item_id, report_currency
ORDER BY revenue_date, source_report, item_id, report_currency;
Apple subscription event rows
SELECT
revenue_date,
transaction_type,
COUNT(*) AS lifecycle_events
FROM EXAMPLE_DATABASE.EXAMPLE_SCHEMA.APP_SALES_DAILY
WHERE source = 'APPLE_APP_STORE'
AND source_report = 'ASC_SUBSCRIPTION_EVENT'
AND event_has_revenue = FALSE
GROUP BY revenue_date, transaction_type
ORDER BY revenue_date, transaction_type;
These examples do not show raw Apple reports, Apple financeReports, payout reconciliation, accounting close, tax logic, audit evidence, customer credentials, source files, production destination names, or internal Netice merge SQL.
FAQ
What Apple reports does Netice send to Snowflake?
This page describes Apple daily app-sales reporting, especially Sales and Trends / Summary Sales style rows, written to the managed Snowflake table APP_SALES_DAILY.
Is this Apple financeReports data?
No. Apple financeReports belong to Finance Unified where configured. Daily Snowflake output uses Apple sales-style reporting and source_kind = 'SALES'.
What is the default Snowflake table name?
The default daily Snowflake table is APP_SALES_DAILY.
Can Apple App Store be selected without Google Play?
The Daily App Sales workflow supports provider selection. Apple App Store can be configured as the selected provider where Apple source access is provided.
What do ASC_SUMMARY_SALES and ASC_SUBSCRIPTION_EVENT mean?
ASC_SUMMARY_SALES identifies Apple Summary Sales style daily rows. ASC_SUBSCRIPTION_EVENT identifies Apple subscription event rows where available.
Why are fee and tax method fields important for Apple rows?
Apple Summary Sales should not be described as itemizing commission or tax as settled source facts. Method fields explain how daily analytical values should be interpreted.
Can I use this Snowflake table for payout reconciliation?
No. The daily table is operational analytics, not payout reconciliation, final settlement, accounting close, audit, tax advice, GAAP, IFRS, ASC 606, or bank reconciliation.
How is this different from raw Apple reports?
Raw Apple reports preserve provider-native report artifacts. The daily Snowflake table is an enriched managed analytics output and should not be described as raw report archival.
What access does Snowflake setup require?
Snowflake destination setup uses secure destination access with account, user, warehouse, database, schema, table, role, and stage context. Apple source access is configured separately.
Related guides
Query Apple App Store daily revenue in Snowflake without losing report-family context
Netice helps app teams deliver App Store Connect daily sales reporting into Snowflake while preserving the boundary between Summary Sales, subscription events, financeReports, and raw provider files.