NETICE DOCUMENTATION
Platform Finance schema: all 49 fields
Reviewed
Netice Platform Finance uses finance_unified_v3_event_grain, a 49-field monthly finance output. Apple finance reports and Google Play Earnings share this contract while retaining their report families, period boundaries and event grain. Default warehouse tables are finance_unified in BigQuery and FINANCE_UNIFIED in Snowflake.
For monthly proceeds, sum report_net_proceeds across the relevant event types and group by provider period and report currency. A Google fee or tax line is part of that sum, not a duplicate sale. Apple finance contributes sale/refund rows without fabricating separately disclosed fee or tax events.
Three interpretation rules
- Keep Apple fiscal periods separate from calendar attribution.
calendar_periodis a useful grouping approximation, not a redistribution of every Apple transaction into a calendar month. - Missing or inapplicable finance amounts remain null. A fee row with a null customer charge is not a zero-price sale.
is_finalreflects reporting-period policy and source stability. It does not certify a bank match, accounting treatment or recognized revenue.
The field types below are logical types. Warehouse columns are typed; the main CSV and its support files preserve the same field meanings for object-storage consumers.
Explore a Platform Finance output example with signed events, null amounts and SQL grouped by reporting period and currency.
Provider, report and source identity
| Field | Type | Meaning |
|---|---|---|
platform |
Text | IOS or ANDROID. |
source |
Text | Provider source code. |
source_kind |
Text | FINANCE, keeping this output distinct from daily sales. |
source_report |
Text | Finance report family: APPLE_FINANCE_DETAIL, APPLE_FINANCIAL or GOOGLE_PLAY_EARNINGS, as applicable. |
derived_payout_legal_entity |
Text | Derived Apple entity classification from currency/country mapping; Google rows use the Google Play classification. It is not a raw Apple Finance Detail field or a bank receipt. |
payout_entity_resolution_status |
Text | Whether that classification was resolved. UNKNOWN_CURRENCY accompanies an unknown Apple entity mapping; inspect it before relying on entity breakdowns. |
source_file_name |
Text | Source report filename. |
source_file_uri |
Text | Source report artifact reference. |
source_row_number |
Integer | One-based source row position. |
source_row_hash |
Text | Source row fingerprint for lineage; not a transaction identifier. |
source_vendor_hash |
Text | Hashed Apple vendor scope identifier; null for Google. |
apple_finance_region_code |
Text | Apple finance report request scope, normally Z1. Separate from buyer country or subdivision. |
apple_finance_report_type |
Text | Apple report type, such as FINANCE_DETAIL; null for Google. |
source_schema_version |
Text | Output contract version, currently finance_unified_v3_event_grain. |
Reporting periods and dates
| Field | Type | Meaning |
|---|---|---|
is_final |
Boolean | Status derived from finance period and data-stability policy. It does not mean bank-matched, audited or booked revenue. |
report_grain |
Text | Source row grain, such as Apple finance detail, Google Earnings ledger line or an adjustment. This differs from event type. |
fiscal_period |
Date | First-of-month identifier for the requested provider report period. For Apple, use actual period_start/period_end to understand the fiscal boundaries; this identifier is not necessarily the period start date. |
apple_fiscal_label |
Text | Apple fiscal label, such as FY26-M01; null for Google. |
calendar_period |
Date | Calendar month attribution. For Apple, the month containing the majority of the source period; for Google, the report month. Apple attribution is not a transaction-level calendar split. |
period_start |
Date | First date of the source reporting period. |
period_end |
Date | Last date of the source reporting period, inclusive. |
period_calendar_type |
Text | APPLE_FISCAL_MONTH or GOOGLE_PLAY_EARNINGS_MONTH. |
transaction_date |
Date | Source transaction date where disclosed. Missing dates remain null. |
settlement_date |
Date | Apple settlement date where supplied; for Google, the model uses report period end. This field does not establish a bank deposit date. |
effective_revenue_date |
Date | Resolved attribution date, preferring transaction date, then settlement date, then period end. |
effective_revenue_date_basis |
Text | Which input supplied the resolved date: TRANSACTION_DATE, SETTLEMENT_DATE_FALLBACK or PERIOD_END_FALLBACK. |
source_timezone |
Text | Source date/time context, America/Los_Angeles in this finance contract. Source dates are not rebucketed to the business headquarters timezone. |
Product and event dimensions
| Field | Type | Meaning |
|---|---|---|
app_id |
Text | Apple app identifier or Google package name where disclosed; may be absent on unattributed ledger rows. |
sku |
Text | Product or SKU identifier where available. |
product_type |
Text | Normalized product classification, such as auto-renewing subscription or one-time product. |
country |
Text | Buyer country where disclosed. Do not drop a valid finance row solely because this dimension is missing. |
apple_buyer_subdivision |
Text | Apple buyer state/province context where supplied; distinct from the finance report region code. |
event_type |
Text | SALE, REFUND, PLATFORM_FEE, PLATFORM_FEE_REVERSAL, TAX or ADJUSTMENT. Apple emits sale/refund events; Google retains its ledger contributions. |
event_category |
Text | Broad event classification, such as revenue, deduction or reversal. |
event_subtype |
Text | Commission or tax detail where applicable; not supplied for every event. |
refund_type |
Text | Refund subtype where available. Null does not establish a full refund. |
commission_disclosed |
Boolean | Whether the source discloses commission as separate ledger events. False for Apple; its fee/tax split is not invented. |
quantity |
Integer | Signed Apple quantity where available. Null for Google Earnings; do not infer it from ledger row count. |
Amounts, conversion and lineage
| Field | Type | Meaning |
|---|---|---|
native_currency |
Text | Currency of the source proceeds or merchant-currency amount. |
native_net_proceeds |
Decimal | Signed contribution to proceeds in native currency. For Apple, extended partner share; for Google, each ledger line amount. Sum all relevant events and group by currency. |
native_customer_charge |
Decimal | Signed charge amount on sale/refund events where available. Null on fee/tax events. On Google sale/refund lines it equals that line’s merchant-currency amount. |
report_currency |
Text | Configured report currency; it is not fixed to EUR. |
report_net_proceeds |
Decimal | Native proceeds converted to report currency. The primary monthly proceeds measure, summed across event types. |
report_customer_charge |
Decimal | Customer-charge amount converted to report currency; remains null when the native charge is unavailable or inapplicable. |
fx_rate |
Decimal | Native-to-report conversion factor. Same currency uses 1. A missing cross-currency rate is not replaced with 1. |
reconciliation_group_key |
Text | Grouping key for source/product/currency/event context. Combine with the appropriate period; it is not a unique row or purchase key. |
raw_metadata |
JSON | Additional report and parsing context, including available warnings and source fields. |
ingested_at |
Timestamp | UTC materialization time, separate from source transaction/report dates. |
source_available_at |
Timestamp | Source artifact availability metadata when available; not a bank settlement timestamp. |
Sum the ledger, preserving currency and missingness
This BigQuery example uses a fictional table path. Replace it with your finance table. It deliberately retains fee, tax, reversal and adjustment events.
SELECT
fiscal_period,
platform,
report_currency,
SUM(report_net_proceeds) AS net_proceeds,
COUNTIF(report_net_proceeds IS NULL) AS rows_without_report_proceeds
FROM `example-project.analytics.finance_unified`
WHERE fiscal_period >= DATE '2026-01-01'
AND fiscal_period < DATE '2027-01-01'
GROUP BY fiscal_period, platform, report_currency
ORDER BY fiscal_period, platform;
Do not add WHERE event_type = 'SALE' to calculate net proceeds: that would discard refunds and Google deductions. Do not multiply native_net_proceeds by quantity; proceeds are already row amounts. A null counter complements the sum because SQL sums skip null inputs.
The same finance meaning across destinations
BigQuery and Snowflake deliver tables and companion finance views. Google Cloud Storage and AWS S3 deliver a main CSV plus a same-stem support folder containing the manifest, schema, period status and materialized reporting views. Reruns replace the relevant fiscal-period and source scope rather than appending a second copy of that reporting window.
Continue with currency conversion, Apple report families, or Google Play report families. For a daily dashboard, use the separate Daily App Sales schema.