Automate reconciliation by utilizing the settlement report
Central to automating your reconciliation flow is the settlement report, which contains all balance mutations on an account for a specified timeframe. These mutations are payments that landed into the account, refunds that were taken out or any other transaction affecting the balance of that account. Usually (depending on your settings), a payout triggers the creation of a settlement report which then shows all the mutations from one payout to the other.
Columns and what they mean
The settlement report gives many financial details back to you. Which records and values the settlement report shows is highly dependent on how you submitted payments and other transactions to Rootline in the first place, as well as the pricing agreements that have been made between you and Rootline. In the below table, you'll find the columns that Rootline returns to you.
header | description |
---|---|
account_id | The account that the settlement report is created for and that the transaction relates to. |
account_name | The account name. |
payment_id | The identifier of a payment. |
payment_reference | Payment reference provided by the partner merchant. |
payment_description | The description that was given to the payment. |
payment_created_at | Payment creation date. |
split_payment_ids | A list of payment id's of the split payment(s). |
payment_method | The payment method used. |
journal | The relevant journal (type) for the mutation. |
journal_event_time | The time at which the event took place. |
operation_id | The identifier for the operation that triggered the mutation, e.g. a capture_id , or payout_id . |
operation_reference | A reference provided by the merchant for the operation (or taken from merchant configuration). |
statement_descriptor | A reference that can be used to match a received bank transfer to a payout and settlement report. The same field can be used to show a payment's statement_descriptor. |
gross_currency | The currency of the submitted pay-in. This usually is the processing currency, i.e. the currency that the buying customer pays with. |
gross_amount | The amount that the shopper sees or the gross split part going to an account. |
split_amount | The total amount that was split. This is an aggregation of multiple splits if applicable. |
platform_fees | Fees charged by the platform for platform services. |
interchange_fee | Interchange fee (relevant to pass-through pricing). |
scheme_fee | Scheme fee (relevant to pass-through pricing). |
markup | Markup (relevant to pass-through pricing, though itself not pass-through component). |
commission | Fees charged by Rootline for payment methods or other services. |
other_fees | Any fees related to the mutation not otherwise specified. |
net_currency | The settlement currency of a payment. |
net_amount | The gross amount minus any reported fees and splits, converted to the net currency. |
Sample report
To illustrate how a payment with a split turns up in settlement reports, let's take an example. The below request represents a payment of € 20.00. The split functions as the instruction to credit a gross amount of € 20.00 to the account of your user: merchant_account
.
{
"account_id": "platform_account",
"amount": {
"currency": "EUR",
"quantity": "20.00"
},
"splits": [
{
"account_id": "merchant_account",
"amount": {
"quantity": "20.00",
"currency": "EUR"
},
"fees": [
{
"flat_rate": {
"amount": {
"quantity": "0.50",
"currency": "EUR"
}
}
}
],
"reference": "394f4ac2-060b-4e54-a982-b473bafc0e3b"
}
],
"reference": "order-123",
"return_url": "https://rootline.com"
}
This payment involves mutations on multiple accounts. Let's start with the account with value merchant_account
.
Split level account
A gross payment of € 20.00 is split into merchant_account
. You charge a platform fee of € 0.50. As a result the net mutation of this payment for merchant_account
is € 19.50. If this was the only payment for this account within the reporting timeframe, we would find the settlement report as below. We have two mutations: the payment in question and the payout resulting from it. The fees are reported in the appropriate columns as they were provided in the API.
account_id | account_name | payment_id | payment_reference | payment_created_at | split_payment_ids | payment_method | journal | journal_event_time | operation_id | operation_reference | statement_descriptor | gross_currency | gross_amount | split_amounts | platform_fees | interchange_fee | scheme_fee | markup | commission | other_fees | net_currency | net_amount |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
merchant_account | SimplyTheTest | pmt_UZCb3N3tPKRFlsOkGpjyT | order-123 | 2024-01-14T07:21:12.234236Z | mastercard | funds_released | 2024-01-14T07:21:12.234236Z | cap_1ZX2bRdsApvCfiQnEjN5xB | order-123 | EUR | 20.00 | -0.50 | EUR | 19.50 | ||||||||
merchant_account | SimplyTheTest | 2024-01-24T11:53:01.323111Z | bank_transfer | payout_sent | 2024-01-24T11:53:01.323111Z | payout_7tapTkKddMRpEB7o0vc | payout-1 | EUR | EUR | -19.50 |
Platform account
As a platform user you want to be aware of the payments on your platform and the mutations following out of that payment affecting your own platform account. Additionally, any payment fees that Rootline charges, will be taken from your platform account. Rootline reports all this information in the same record if indeed the fees concern the same payment mutation. The below example shows you how Rootline reports this back to you, again assuming that this was the only transaction during the period.
account_id | account_name | payment_id | payment_reference | payment_created_at | split_payment_ids | payment_method | journal | journal_event_time | operation_id | operation_reference | statement_descriptor | gross_currency | gross_amount | split_amounts | platform_fees | interchange_fee | scheme_fee | markup | commission | other_fees | net_currency | net_amount |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
platform_account | SimplyPlatforms | pmt_1ZX2bRdsApvCfiQnEjN616 | order-123 | 2024-01-16T10:22:55.242234Z | ["pmt_UZCb3N3tPKRFlsOkGpjyT"] | mastercard | funds_released | 2024-01-16T10:22:55.242234Z | cap_1ZX2bRdsApvCfiQnEjN5xB | cap-123 | EUR | 20.00 | -20.00 | 0.50 | -0.02 | -0.10 | -0.23 | EUR | 0.35 | |||
platform_account | SimplyPlatforms | 2024-01-24T11:53:01.323111Z | bank_transfer | payout_sent | 2024-01-24T11:53:01.323111Z | payout_7tapTkKddMRpEB7o0vc | payout-1 | EUR | EUR | -0.35 |