Earnings
The Earnings tab shows all partner earnings across your apps, with powerful filtering options.
Viewing Earnings
Section titled “Viewing Earnings”Navigate to Finances → Earnings tab.
The table displays:
| Column | Description |
|---|---|
| Partner | Who earned this amount |
| App | Which app the purchase was for |
| Amount | Partner’s share (in USD) |
| Status | Current earning status |
| Transaction | Purchase event reference |
| Date | When the earning was recorded |
Earning Status
Section titled “Earning Status”Earnings progress through these statuses:
| Status | Description | What happens |
|---|---|---|
| Accrued | Pending payout | Waiting for daily payout batch |
| Processing | In a payout batch | Stripe transfer in progress |
| Paid | Complete | Partner received funds |
| Void | Cancelled | Purchase was refunded |
Filtering Earnings
Section titled “Filtering Earnings”Use the filter bar to narrow results:
By Status
Section titled “By Status”- All statuses
- Accrued only
- Processing only
- Paid only
- Void only
By App
Section titled “By App”Select a specific app or view all apps.
By Partner
Section titled “By Partner”Filter to a specific partner.
By Date Range
Section titled “By Date Range”Set custom start and end dates.
Understanding Amounts
Section titled “Understanding Amounts”How Earnings Are Calculated
Section titled “How Earnings Are Calculated”Partner Earning = Purchase Amount × (Payout Rate BPS / 10000)For example:
- Purchase: $9.99
- Payout rate: 3000 BPS (30%)
- Partner earning: $9.99 × 0.30 = $2.997 → $3.00
Currency Conversion
Section titled “Currency Conversion”All earnings are displayed in USD:
- Non-USD purchases are converted using ECB rates
- Original currency is preserved in the purchase event
Relationship to Purchase Events
Section titled “Relationship to Purchase Events”Each earning links to a purchase event:
- The original webhook from your IAP provider
- Contains full purchase details
- Click the transaction reference to view details
Earnings Lifecycle
Section titled “Earnings Lifecycle”flowchart TB
A[Purchase Event] --> B[Earning Created - Accrued]
B --> C{Payout Cron Runs}
C -->|Below threshold| B
C -->|Above threshold| D[Earning - Processing]
D --> E{Stripe Transfer}
E -->|Success| F[Earning - Paid]
E -->|Failure| G[Earning - Accrued]
- Purchase event triggers earning creation
- Earning starts as Accrued
- Daily cron checks if partner meets payout threshold
- If eligible, earning moves to Processing
- After Stripe confirms, moves to Paid
Refunds and Voids
Section titled “Refunds and Voids”Currently, when a purchase is refunded in the App Store or Google Play:
- The original earning remains “Paid” or “Accrued”
- Refunds must be handled manually by adjusting future payouts or voiding earnings directly in the database
We are building automated refund handling that will:
- Listen for refund webhooks
- Automatically void associated earnings
- Deduct amounts from future payouts if already paid
Next Steps
Section titled “Next Steps”- Payouts — Track payout batches
- Partner Analytics — Per-partner earnings view