Guide: Settlement report changes
Rootline is implementing important updates to our settlement report generation system. These changes will improve consistency and provide better transparency into fee reporting. This document outlines what's changing and how it may impact your integration.
Timelines
Rootline will transition platforms to the updated settlement report format: Tuesday, November 11th 2025.
To prepare for this transition, we recommend:
- Testing your parsing logic against the new column/row structure and naming
- Updating any hardcoded column references to accommodate the fixed 27-column structure (A-AA)
- Updating your logic for anything else mentioned under 'The changes' in this guide
- Updating merchants on these differences
If you have any questions regarding the changes explained in this guide or the timelines, feel free to contact support@rootline.com.
The settlement report
The settlement report reflects all mutations on an account within a timeframe, usually from one payout to another. For more information about the settlement report, please visit The settlement report documentation.
The changes
We will fix the first 27 (A-AA) columns, as specified in this document. We will reserve the possibility to add columns to the last version, but any new columns that we'll add will be added in columns AB and further.
Item | Before | Going forward |
---|---|---|
Column names for fees (e.g. | Some end with | All columns that contain 'fee' will end with |
Fees for payments that don't have a clearing (i.e. capture/refund) record, such as processing fees and authentication fees for declined payments. | Due to a technical limitation, these fees were not charged for non-successful payments. | Fees that don't depend on whether the payment was successfully captured, will be charged going forward, in line with your (partner) merchant agreement. |
How fees not related to a capture or refund are charged. Examples of these fees: processing fee, authentication fee | Despite it not directly being related to a capture or refund, they used to be charged with a | These types of fees will be booked and reported whenever they affect the Available Balance of the Account with a |
Separate column for fee type: authentication_fee. | Authentication fees were reported in the | Authentication fees will be reported in |
Updated column structure
The report will have 27 columns (A-AA) for which the order is not going to change. Rootline may add new columns in the future in column AB and further (to the right).
column | header | description |
---|---|---|
A | account_id | The account that the settlement report is created for and that the transaction relates to. |
B | account_name | The account name. |
C | payment_id | The Rootline-generated identifier of a payment. |
D | payment_reference | Payment reference provided by the partner merchant. |
E | payment_description | The description that was given to the payment. |
F | payment_created_at | Payment creation date in UTC. |
G | split_payment_ids | A list of payment IDs of the split payment(s). |
H | payment_method | The payment method used. Examples: visa, mastercard, ideal. |
I | journal | The relevant journal (type) for the mutation. |
J | fee_type | Only for fee_paid journals such as processing_fee, authentication_fee or authorization_fee. |
K | journal_event_time | The time at which the event was booked in UTC. |
L | operation_id | The identifier for the operation that triggered the mutation, e.g. a capture_id , or payout_id . |
M | operation_reference | A reference provided by the merchant for the operation (or taken from merchant configuration). |
N | statement_descriptor | For payments the statement descriptor is a value that customers can see on their bank or card statement. For payouts, the value can be used to match a received bank transfer to a payout record in the settlement report. |
O | gross_currency | The currency that the buying customer pays in. |
P | gross_amount | The amount that the customer sees and pays, or the gross amount for a (split) payment. |
Q | split_amount | The total amount that was split. This is an aggregation of multiple splits if applicable. |
R | platform_revenue | The revenue going into an account as a result from charging platform_fees. |
S | platform_fees | Fees taken from an account as a result from charging platform_fees. |
T | interchange_fees | Interchange fee (relevant to pass-through pricing). |
U | scheme_fees | Scheme fee (relevant to pass-through pricing). |
V | markup | Markup (relevant to pass-through pricing, such Interchange++, though itself not a pass-through component). |
W | commission | Fees charged by Rootline for payment methods or other services. |
X | processing_fees | Processing fee. |
Y | other_fees | Any fees related to the mutation not otherwise specified. A.o.: authentication_fees , balance_transfer_fees , payout_fees , onboarding_fees . |
Z | net_currency | The settlement currency of a payment. |
AA | net_amount | The amount that has been debited from or credited to the Available Balance of the Account. |
Journals
A settlement report contains all mutations (credits and debits) of the Available Balance of an Account, and tracks each individual credit or debit record with a journal. The journal indicates at which event the mutation was booked, e.g. funds_released
, refunded
or fee_paid
. The amounts and fees indicate the financial change related to the event. Rootline will add new journals in the future, to cover more types of mutations.
journal_type | description |
---|---|
funds_released | Captured funds becoming available to an Account's balance. |
refunded | Refunded funds are settled with the account. |
payment_created | When, at the event of payment creation, a mutation of the Available Balance was realized, e.g. when a fee is booked at payment creation. |
authentication_initiated | When, at the event of payment authentication, a mutation of the Available Balance was realized, e.g. when a fee is booked and settled with the Available Balance at authentication. |
fee_paid | A fee was settled with the Available Balance of the Account. The fee_type indicates what type of fee it concerns. Examples of fee types: processing_fee , authentication_fee , authorization_fee . |
invoice_correction | The monthly invoice that is being settled with your Available Balance. |
balance_transfer | A transfer of balance between two Accounts. |
payout_sent | Transfer of funds to an external bank account. |
New columns
Please note that Rootline will add new columns to the existing report version. To not break the parsing of your report, Rootline will add any new column only to the right of existing columns (from column AB and further). Please keep this in mind for your parsing logic.
Sample settlement reports
To understand the report, let’s look at a sample report, and let's consider two payments, and how they appear in each settlement report. The settlement reports for platforms and merchants don't have to be based on the same time interval, hence they may contain mutations from different time periods. Let's assume the following events:
Payment 1
- Payment of € 15.00 paid with Mastercard
- Payment was authenticated through 3DS. A fee (charged by Rootline, paid by the platform) is applicable of € 0.05
- A processing fee of € 0.10 is applicable to each payment, regardless of payment method, and regardless of it succeeding or not
- The payment is split in full to a merchant
- The clearing fees are as follows:
- As a platform, you pay Rootline a platform fee of 0.667% (* € 15.00) = € 0.10
- The interchange and scheme fees are passed through
- A markup of 0.6 % applies for cards applies, totaling € 0.09
- The platform earns a fee from the merchant of € 1.50
How to calculate the net proceeds
- The record with journal
funds_released
shows you the full breakdown for clearing the payment: Gross payment amount - amounts split to other accounts + platform revenue - any fees, netting: € 1.19 - The net proceeds for processing and authenticating this payment are - 0.10 (processing fee) - 0.05 (authentication fee) = - € 0.15
- The full net amount related to Payment 1 is: € 1.19 - € 0.15 = € 1.04
Partial refund for payment 1
- Payment one happens to be partially (€ 10.00) refunded right after it was captured. Therefore it ends up in the same report (see below)
- The platform charges a fee of € 0.50 for processing the refund (platform_revenue)
- Rootline charges the platform a fee of € 0.40 for the refund
- The net proceeds for the platform on the refund are € 0.10
Payment 2
- Payment of € 10.00 paid with iDEAL
- A processing fee was charged
- The payment is split in full to a merchant (SimplyTheBest)
- The clearing fees are as follows:
- A commission fee (the fee for iDEAL) is charged: € 0.20
- The platform earns € 1.00 from the Merchant by means of a platform fee
- The net proceeds for the platform for this payment are € 0.70 - € 0.10 (processing fee) = € 0.60
How to calculate the net proceeds
- The record with journal
funds_released
shows you the full breakdown for clearing the payment: Gross payment amount - amounts split to other accounts + platform revenue - any fees, netting: € 0.70 - The net proceeds for processing the payment are € - 0.10 (processing fee) = - € 0.10
- The full net amount related to Payment 2 is: € 0.70 - € 0.10 = € 0.60
Platform settlement report
Here's the settlement report for the events described above that the platform (SimplyTheTest) would receive.
account_id | account_name | payment_id | payment_reference | payment_description | payment_created_at | split_payment_ids | payment_method | journal | fee_type | journal_event_time | operation_id | operation_reference | statement_descriptor | gross_currency | gross_amount | split_amounts | platform_revenue | platform_fees | interchange_fees | scheme_fees | markup | commission | processing_fees | other_fees | net_currency | net_amount |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | 2024-01-14T07:21:11.100122Z | mastercard | fee_paid | authentication_fee | 2024-01-16T02:00:11.100122Z | authn_1ZX2bRdsApvCfiQnE12BCa | EUR | -0.05 | EUR | -0.05 | |||||||||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | 2024-01-14T07:21:12.234236Z | mastercard | fee_paid | processing_fee | 2024-01-16T02:00:11.100122Z | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | EUR | -0.10 | EUR | -0.10 | ||||||||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | 2024-01-14T10:22:55.242234Z | ["pmt_UZCb3N3tPKRFlsOkGpjyT","pmt_TJCb3N3tPKRFlsOkGpjyT"] | mastercard | funds_released | 2024-01-16T02:00:11.100122Z | cap_1ZX2bRdsApvCfiQnEjN5xB | cap-123 | EUR | 15.00 | -15.00 | 1.50 | -0.10 | -0.02 | -0.10 | -0.09 | EUR | 1.19 | ||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | 2024-01-14T04:32:01.124514Z | "pmt_UZCb3N3tPKRFlsOkGpjyT" | mastercard | refunded | 2024-01-16T02:00:11.100122Z | ref_4So4Ky5ZjviQdskwfI6FpS | ref-123 | EUR | -10.00 | 10.00 | 0.50 | -0.40 | EUR | 0.10 | |||||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_12DS3JDLbm0n0gII4L9ZUS | order-124 | 2024-01-14T07:21:12.234236Z | ideal | fee_paid | processing_fee | 2024-01-16T02:00:11.100122Z | pmt_12DS3JDLbm0n0gII4L9ZUS | order-124 | EUR | -0.10 | EUR | -0.10 | ||||||||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | pmt_12DS3JDLbm0n0gII4L9ZUS | order-124 | 2024-01-14T10:22:55.242234Z | "pmt_5R8nZCpXt7NUX0yh0Ct3Cu" | ideal | funds_released | 2024-01-16T02:00:11.100122Z | cap_3tuZDia3DVuMDybYgC4WwL | cap-124 | EUR | 10.00 | -10.00 | 1.00 | -0.10 | -0.20 | EUR | 0.70 | ||||||||
acc_16O7tapTkKddMRpEB7o0vc | SimplyTheTest | bank_transfer | payout_sent | 2024-01-16T05:00:11.100233Z | payout_7tapTkKddMRpEB7o0vc | payout-1 | payout_20250921 | EUR | EUR | -1.40 |
Report API
How this report would be downloadable through the report-API:
{
"id": "report_76pIpH8wOmIBgXHcfXfMRX",
"object": "report",
"report_type": "settlement_report",
"file_name": "SettlementReport_2024-01-16T14_59_27.007Z_report_76pIpH8wOmIBgXHcfXfMRX.csv",
"generated_at": "2024-01-16T14_59_27.007Z",
"download_url": "https://report-api.staging.rootline.com/v1/reports/report_76pIpH8wOmIBgXHcfXfMRX/download",
"sha256": "LYF7QXYQ4Tmq3meWIlzQxbQMCWNhT31er1rfazfeaIMA=",
"version": "2024-04-23",
"input_parameters": {
"end_time": "2024-01-14",
"account_id": "acc_16O7tapTkKddMRpEB7o0vc",
"short_edit": "true",
"start_time": "2024-01-14"
}
}
Merchant settlement report
Here's the settlement report for the events described above that the merchant (SimplyTheBest) would receive.
account_id | account_name | payment_id | payment_reference | payment_description | payment_created_at | split_payment_ids | payment_method | journal | fee_type | journal_event_time | operation_id | operation_reference | statement_descriptor | gross_currency | gross_amount | split_amounts | platform_revenue | platform_fees | interchange_fees | scheme_fees | markup | commission | processing_fees | other_fees | net_currency | net_amount |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
acc_3rCZjdwPbf8KaDUOmvnEf6 | SimplyTheBest | pmt_UZCb3N3tPKRFlsOkGpjyT | order-123-A | 2024-01-14T10:22:55.242234Z | mastercard | funds_released | 2024-01-16T02:00:11.100122Z | cap_5R8nZCpXt7NUX0yh0Ct3Cu | cap-123-A | EUR | 15.00 | -1.50 | EUR | 13.50 | ||||||||||||
acc_3rCZjdwPbf8KaDUOmvnEf6 | SimplyTheBest | pmt_UZCb3N3tPKRFlsOkGpjyT | order-123-A | 2024-01-14T04:32:01.124514Z | mastercard | refunded | 2024-01-16T02:00:11.100122Z | ref_4So4Ky5ZjviQdskwfI6FpS | ref-123-A | EUR | -10.00 | -0.50 | EUR | -10.50 | ||||||||||||
acc_3rCZjdwPbf8KaDUOmvnEf6 | SimplyTheBest | pmt_5R8nZCpXt7NUX0yh0Ct3Cu | order-124-A | 2024-01-14T10:22:55.242234Z | ideal | funds_released | 2024-01-16T02:00:11.100122Z | cap_4e8C3AMwi0m6xOnHVx3YCC | cap-124-A | EUR | 10.00 | -1.00 | EUR | 9.00 | ||||||||||||
acc_3rCZjdwPbf8KaDUOmvnEf6 | SimplyTheBest | bank_transfer | payout_sent | 2024-01-16T05:00:11.100236Z | payout_7tapTkKddMRpEB7o0vc | payout-reference-1 | EUR | EUR | -12.00 |
Report API
How this report would be downloadable through the report-API:
{
"id": "report_6BHiXfKoX37bB02DZmilfS",
"object": "report",
"report_type": "settlement_report",
"file_name": "SettlementReport_2024-01-16T15_01_21.002Z_report_6BHiXfKoX37bB02DZmilfS.csv",
"generated_at": "2024-01-16T15_01_21.002Z",
"download_url": "https://report-api.staging.rootline.com/v1/reports/report_76pIpH8wOmIBgXHcfXfMRX/download",
"sha256": "Apfewnf9A2eWIlzQxbQMCWNhT31erzzfFdwPPosa=",
"version": "2024-04-23",
"input_parameters": {
"end_time": "2024-01-14",
"account_id": "acc_3rCZjdwPbf8KaDUOmvnEf6",
"short_edit": "true",
"start_time": "2024-01-14"
}
}