Currency conversion
How RevenueHog converts non-USD revenue to USD with daily ECB rates for each sale's own date, when a figure is marked estimated, and Stripe minor units.
RevenueHog reports revenue in USD. Every non-USD amount is converted at the reference rate for that sale's own date, not today's rate, so historical figures do not drift when exchange rates move.
Where rates come from
Rates are daily ECB reference rates, fetched from Frankfurter (a free ECB data service) and stored per day for about 30 currencies. The 08:07 UTC sync refreshes the last three days before any App Store data is converted, and backfills fetch rates across their whole range first.
How a rate is chosen
- USD is always exact.
- Otherwise, RevenueHog uses the rate for the sale's date, or the most recent earlier published rate. This covers weekends and holidays when the ECB publishes nothing.
- If no published rate exists for that currency, a static approximate rate is used and the row is marked estimated.
- A currency with neither a published nor a static rate contributes 0 USD, still marked estimated, so it cannot inflate totals.
Apple's payout reports remain the source of truth for exact figures. See Payouts.
Per source
| Source | What is converted |
|---|---|
| App Store | Customer price and developer proceeds from each daily sales report row; subscription prices at each snapshot's date; subscriber event amounts at each event's date. |
| Google Play | The order's charge net of tax, and the developer share Google reports. |
| Stripe | Invoice amounts, minus Stripe's observed fees for proceeds. |
| Apple Ads | Spend is stored in the account currency exactly as Apple reports it; USD is a derived convenience. |
Stripe minor units
Stripe reports integers in each currency's minor unit, and the divisor depends on the currency: 3999 USD is 39.99, 500 JPY is 500 (zero-decimal), 1500 KWD is 1.5 (three-decimal). RevenueHog applies the per-currency rule rather than dividing everything by 100.
Related
Last updated on
Data freshness
When every RevenueHog number updates: real-time notifications, the daily syncs, every scheduled job with its UTC time, and the lags that each store adds.
Time zones
How RevenueHog draws day boundaries for the feed, today so far, the digest and quiet hours from your time zone setting, and why store reports use calendar days.