Settlements
Settlements
Manage payment settlementsEVA has its own record of received payments, and in some scenarios, finance finds it necessary to double-check those payments against the payment settlement information received from the Payment Service Provider (PSP). This can be done by means of payment settlement file(s) uploads. The information then flows through Cookbook for airtight ledger bookings.
Settlement files
Settlement files need a certain 'handler'. There are two handler options, ADYEN-CSV
which handles Adyen .csv files, and another called GENERIC
, also a .csv files but for other payment service providers.
To check all available settlement file handlers you can use GetAvailablePaymentSettlementFileHandlers.
Here is an example:
{}
{
"Handlers": [
"GENERIC",
"ADYEN-CSV"
]
}
To upload payment settlement files, use UploadPaymentSettlementFile or the Settlements chapter of Admin Suite.
Here is an example:
{
"Name": "test",
"Handler": "ADYEN-CSV",
"Data": "your-data-here",
"MimeType": "text/csv"
}
{}
The data properties expect a Base64 encoded .csv file.
Corresponding settlement events will be created on the financial period that is open at the time of the upload.
Some additional settlement file related services are:
- ListPaymentSettlementFiles
- ListPaymentSettlements
- DownloadPaymentSettlementFileResult
- DeleteUnprocessedPaymentSettlementFile
Generic settlement files
The generic settlement .csv file consists of the following fields:
PaymentReference
, CurrencyID
, Amount, ExchangeRate
, Type
Example 1: AXT54784, EUR, 100, 1, Netto
Example 2: ART15478, EUR, 0.10, 1, Commission
Example 3: RXT87456, EUR, 0.05, 1, SchemeFees
Here is a sample payment settlements .csv file, whereas:
- PaymentReference: This field contains the reference to the EVA transaction.
- CurrencyID: It represents the currency of the transaction. If the currency differs, we apply an exchange rate.
- Amount: The amount to be settled.
- ExchangeRate: This field indicates the exchange rate to be applied if the currency differs. If the field is left empty, the current exchange rate will be used.
- Type: This is a free field where you can specify the reason or type of settlement.
Cookbook for generic settlements
Cookbook provides the following information for generic settlements:
- Variable Type: Generic
- Variable SubType: The type specified in the file (Netto/Commission/SchemeFees/...) or others as configured.
If matching a transaction(s) is not resolved, the settlements will then be booked on the fallback organization unit.
Offsets
The settlements table contains up to four different offsets. These four columns are filled with additional information sent by Adyen in the payment. Starting off with Offset 1, they contain the following data:
- Payment method - VISA for example.
- (Journal) Type - this column shows the type of payment, such as Fee, MiscCosts, MerchantPayout or Refunded. All possible types are supported.
- Batchnumber - the payment reference number.
- Terminal ID - this Point of Sale Terminal ID is optional and has to be specifically configured in your Adyen account if you want this data to be added to the settlement file.
You can also filter your transactions based on these offsets, by using the following service: ListPaymentTransactions
{
"PageConfig": {
"Filter": {
"SettlementOffset1": "VISA"
}
}
}
{
"PageConfig": {
"Filter": {
"SettlementOffset1": "visa",
"Start": 0,
"Limit": 2147483647,
"SortDirection": 0
}
},
"Page": [
{
"ID": 7181,
"TypeID": 5,
"TypeName": "PIN",
"PaymentMethodID": 12,
"PaymentMethodName":"Pin",
"OrderID": 11815,
"BackendID":"8636286856577672E",
"Status": 10,
"Amount": -119.95,
"PaidAmount": -119.95,
"Change": 0,
"PaymentDate": "2021-08-11T12:40:59.26Z",
"DeviceID": 32,
"FinancialPeriodID": 2478,
"OrganizationUnitID": 18,
"OrganizationUnitName": "Hamburg",
"CurrencyID": "EUR",
"Description": "PIN",
"SettledAmount": -119.95,
"IsSettled": true,
"CreationTime": "2021-08-11T12:40:54.977Z",
"LastModificationTime": "2021-12-01T13:06:50.92Z"
},
{
"ID": 7191,
"TypeID": 5,
"TypeName": "PIN",
"PaymentMethodID": 12,
"PaymentMethodName": "Pin",
"OrderID": 11817,
"BackendID": "8536286846098660F",
"Status": 10,
"Amount": -161.2,
"PaidAmount": -161.2,
"Change": 0,
"PaymentDate": "2021-08-11T12:48:20.64Z",
"DeviceID": 32,
"FinancialPeriodID": 2270,
"OrganizationUnitID": 12,
"OrganizationUnitName": "Hamburg",
"CurrencyID": "EUR",
"Description": "PIN",
"SettledAmount": -161.2,
"IsSettled": true,
"CreationTime": "2021-08-11T12:48:16.357Z",
"LastModificationTime": "2021-12-01T11:53:13.703Z"
}
],
"Offset": 0,
"Limit": 2147483647,
"Total": 2,
"SortDirection": 0,
"Filters": {
"SettlementOffset1": "visa"
},
"NumberOfPages": 1,
"CurrentPage": 1
}
Settlement files on Admin Suite
Apart from using the Settlement files services, uploading files can also be done via the Admin Suite namely, the Settlements chapter.
The initial overview displays payment settlements based on the right pane filter input(s).
Please bear in mind that the FP shown in this overview, is when the original payment took place. That does not mean however that the settlement took place during that FP as well. Usually the settlement is processed later, and therefore is included in another FP.
Uploading a file can be done by clicking the 'upload' payment settlement icon located in the top right corner of the filtered payment settlement card.
Your uploaded file should be similar to the generic settlement file sample given.
Once uploaded you will be notified of the upload status (processing, processed, failed).
You can revisit this using the other icon called 'uploads' where you can also view details of other uploads and download the respective files in Excel format.
Further, a Monitor namely, Payment Settlement Files, can be created to trace any failed attempts.
Conditions can be filled in as shown in the below screenshot which in turn means that if the payment settlement file is more than 1 day in processing status, an email will be sent notifying of that incident.
A stencil configuration is required for the email notifications. The stencil template is called PaymentSettlementFileMonitorNotification
.