Payout reconciliation reports
Generate detailed reports that connect your Paddle payouts to the underlying transaction movements for accurate financial reconciliation.
Payout reconciliation reports give you complete transparency into how your payout amounts are calculated. They connect your Paddle payouts to the individual transactions and transaction-linked adjustments they include, breaking down all the components that reduce gross sales to net payouts.
Use payout reconciliation reports to:
Reconcile payouts to transactions and adjustments
Verify your payout totals against your remittance advice by summing balance movements to calculate how the payout is formed and close the books.
Audit fees and currency exchange
Review itemized gross, taxes, Paddle, chargeback, and retained fees in both transaction and balance currencies to confirm calculations and investigate variances.
Analyze revenue and product performance
Break down activity by product, price, country, origin, and billing frequency to see mix shifts, cohort patterns, and subscription dynamics affecting payouts.
Simplify tax reporting
Split activity by invoice entity, using US state and ZIP where applicable, and include tax rates and tax mode to prove local compliance and support accurate indirect tax reporting.
Automate financial workflows
Generate reports via API to feed into accounting and BI systems so monthly reconciliations, checks, and dashboards run on schedule without manual intervention.
How it works
A payout is the money Paddle sends you from your sales. If your balance meets the minimum threshold, Paddle creates your payout on the 1st and sends the payment by the 15th. You'll receive funds by the payout method you've set in your settings, like bank transfer, PayPal, or Payoneer.
Learn more about payouts on the Paddle help center.
The payout reconciliation report shows a record of every balance movement for a payout. Each row represents a transaction-linked balance movement.
The report takes your gross transaction amounts and shows exactly how they're reduced by taxes, fees, and adjustments to arrive at your final payout amount.
You can generate reports through the dashboard or via the API. For regular reconciliation workflows, many businesses automate report generation via API to align with their monthly accounting cycles.
To generate a report for a specific payout, you'll need its remittance reference. Find this in the Reference column on Paddle > Payouts or in the upper-right corner of your remittance advice document.
Deduction breakdowns
Each deduction type has its own column, giving you visibility into what impacts your payout amount:
| Field | Description |
|---|---|
| Processing fees charged by Paddle |
| Currency conversion costs for international transactions |
| Fees for dispute handling |
| Amounts kept by Paddle during refunds to cover gateway costs |
| Customer taxes |
How balance movements are calculated
The report calculates each row's balance movement using the _in_balance_currency fields:
| Field | Description |
|---|---|
total_gross_in_balance_currency | The gross amount of the transaction in the balance currency. |
tax_in_balance_currency | The tax amount of the transaction in the balance currency. |
paddle_fee_in_balance_currency | The Paddle fee amount of the transaction in the balance currency. |
retained_fee_in_balance_currency | The retained fee amount of the transaction in the balance currency. |
fx_fee_in_balance_currency | The FX fee amount of the transaction in the balance currency. |
fx_fee_precision_adjustment_in_balance_currency | The FX fee precision adjustment amount of the transaction in the balance currency. |
chargeback_fee_in_balance_currency | The chargeback fee amount of the transaction in the balance currency. |
The formula shows how gross sales are reduced by fees and taxes to calculate the net amount for each transaction:
123456781balance_movement_in_balance_currency =
2 total_gross_in_balance_currency -
3 tax_in_balance_currency -
4 paddle_fee_in_balance_currency -
5 retained_fee_in_balance_currency -
6 fx_fee_in_balance_currency -
7 fx_fee_precision_adjustment_in_balance_currency -
8 chargeback_fee_in_balance_currencyGet your reconciliation total
To reconcile your payout, you need to sum the balance_movement_in_balance_currency column. The total amount should equal the amount shown on your remittance advice document for the payout.
Each row's balance_movement_in_balance_currency represents the net amount contributed to your payout after all deductions.
Always use the balance currency fields (ending in
_in_balance_currency) for reconciliation. While transaction currency fields are useful for analyzing individual transactions, they won't roll up to your payout total because of currency conversion, fees, and rounding adjustments.w
Discrepancies in totals
Sometimes your report total won't exactly match the bank payout amount. This is usually due to payout-level deductions that aren't tied to specific transactions:
Bank and transfer fees Common
Consistent charges applied by your bank, like SWIFT fees for international transfers (typically $/€/£15) and other banking charges, are deducted at payout time and won't appear as line items in the report.
Manual adjustments Rare
Occurs when Paddle corrects invoicing issues. These one-off rebates are deducted directly from payouts rather than being tied to specific transactions.
If you see an unexpected discrepancy, regenerate the report first in case recent adjustments weren't included, then contact support with your remittance reference.
Supplemental data
Beyond reconciliation, the report includes rich data that integrates well with business intelligence tools for deeper revenue analysis.
Location data
The invoice_entity field splits transactions between United States and Rest of World (
RoW) for tax reporting. For US transactions, you get detailed location data including state codes (customer_country_state) and ZIP codes (customer_zip_code) to support local tax compliance.
Product and price data
Product information helps you understand your revenue mix. The report includes comma-separated lists of product names (product_name_list) and price descriptions (product_price_description_list), along with the subscription's billing cycle frequency (billing_cycle_frequency) and interval (billing_cycle_interval).
Report filters
When generating payout reconciliation reports, you can filter by:
| Field | Description | Use case |
|---|---|---|
remittance_reference | Filter by a specific payout using its remittance reference. This gives you all transactions that contributed to that particular payout. | Reconciling a specific payout to your bank account. |
transaction_updated_date | Filter by the date range when transactions were last updated. Use this to generate reports covering multiple payouts within a time period. | Monthly reconciliation reports or analyzing trends over time. |
Report columns
Data is provided in the following columns:
Remittance reference for the payout. Found in the 'Remittance reference' column on the Payouts page or on the remittance advice document. null if the balance movement isn't tied to a payout.
Paddle ID of the transaction this balance movement is for, prefixed with txn_.
Paddle ID of the adjustment applied to the transaction this balance movement is for, prefixed with adj_. null if balance movement isn't tied to an adjustment.
Paddle ID of the customer the transaction belongs to, prefixed with ctm_.
Paddle ID of the subscription the transaction belongs to, prefixed with sub_. null if the transaction isn't tied to a subscription.
RFC 3339 datetime string of when the payout was created. null if the balance movement isn't tied to a payout.
RFC 3339 datetime string of when the payout's period starts. null if the balance movement isn't tied to a payout.
RFC 3339 datetime string of when the payout's period ends. null if the balance movement isn't tied to a payout.
RFC 3339 datetime string of when the transaction was created.
RFC 3339 datetime string of when the transaction was updated.
RFC 3339 datetime string of when the transaction was marked as completed. null for transactions that aren't completed.
Three-letter ISO 4217 currency code of your payout currency. null if the balance movement isn't tied to a payout.
Supported three-letter ISO 4217 currency code for the transaction or adjustment related to this balance movement.
Type of balance movement associated to the transaction or adjustment.
Whether this balance movement added or deducted funds from your balance.
Tax code of the customer.
Zip or postal code of the customer.
Two-letter abbreviation of the state where the transaction took place. Only for customers in the USA.
Supported two-letter ISO 3166-1 alpha-2 country code of the address that the transaction belongs to.
Whether the tax mode for the price on the transaction is set as internal or external.
Comma-separated list of tax rates charged for items on the transaction.
How the transaction for this balance movement was created.
Type of payment method used on the last payment attempt for the transaction.
Comma-separated list of product IDs on the transaction for this balance movement.
Comma-separated list of product names on the transaction for this balance movement.
Comma-separated list of price IDs on the transaction for this balance movement.
Comma-separated list of price descriptions on the transaction for this balance movement.
Amount of time for how often the subscription is charged. null if the transaction isn't tied to a subscription.
Unit of time for how often the subscription is charged. null if the transaction isn't tied to a subscription.
Base exchange rate used to calculate the exchange rate for the transaction for this balance movement. Combined with exchange_margin_rate to give transaction_to_balance_currency_exchange_rate. null if the currency wasn't converted.
Margin rate for the currency conversion. null if the currency wasn't converted.
Exchange rate used to convert between the transaction currency and your balance currency. null if the currency wasn't converted.
Whether the transaction is attributed to the United States (US) or the Rest of World (RoW).
Total for the transaction before any fees in the original transaction currency.
Total for the transaction before any fees in the balance currency.
Total tax on the subtotal for the transaction in the transaction currency.
Total tax on the subtotal for the transaction in the balance currency.
Total fee taken by Paddle for the transaction in the transaction currency. null until the transaction is completed and the fee is processed.
Total fee taken by Paddle for the transaction in the balance currency. null until the transaction is completed and the fee is processed.
Total FX fee charged for the transaction, in the balance currency.
Corrective adjustment for the fx_fee_in_balance_currency to reconcile discrepancies between the reported fee and the exact amount charged due to precision and rounding calculations.
Chargeback fee incurred for the adjustment in the transaction currency. Present where the associated adjustment has an action of chargeback or chargeback_warning.
Chargeback fee incurred for the adjustment in the balance currency. Present where the associated adjustment has an action of chargeback or chargeback_warning.
Fee retained by Paddle during refunds and chargebacks to cover gateway costs, recorded in the transaction currency.
Fee retained by Paddle during refunds and chargebacks to cover gateway costs, recorded in the balance currency.
Total for this balance movement after all fees (excluding FX fees) and charges, recorded in the transaction currency.
Total for this balance movement after all fees and charges, recorded in the balance currency. Should equal the associated payout amount unless rebates or a SWIFT fee have been applied.