Skip to content
Last updated

Settlement Cycle

Settlement Process

After funding a number of transfers over a settlement period, you should then settle for those transfers in bulk. How you do this depends on how refunds are processed for the integration you are building.

There are two steps involved in the settlement process:

  1. Sending the settlement journal to Wise using API
  2. Sending the actual funds to Wise using Bank Transfer

Throughout the settlement period you will have called the funding endpoint a number of times to fund transfers. At the end of each settlement period (usually daily), you must run a process to send a journal containing all transfers you wish to settle for to an API endpoint, and then send the total amount of funds to the pre-agreed deposit bank account.

The process is given as below:

  1. A process should be run to perform settlement, this can be ad hoc or scheduled to run at the same time daily.
  2. The process should include:
    • Query for all transfers that are yet to be settled with Wise. This should be all transfers you have called the funding endpoint for since the previous run of the settlement process.
    • Query for all completed refunds that are yet to be notified to Wise. This should be all refunded transfers you have been notified using one of the refund methods since the previous run of the settlement process (Note: This is only applicable for the Net Settlement model.)
  3. Calculate the balanceTransfer amount based on the logic in the section above.
  4. Get the Client Credentials Token in order to call the settlement journal endpoint. (Note: This is NOT a user access token. See retrieve client credentials token for an example of how to get this token.)
  5. The settlement journal endpoint should be called first to submit the settlement journal.
  6. The exact total amount of funds in the settlement journal should be deposited to Wise, to the pre-agreed deposit bank account, with the same settlement reference used in the settlement journal.
Total Settlement Amount Calculation

totalSettlementAmount = Sum of (sourceAmount * exchangeRate)

The settlement journal API receives the settlement and performs basic verification such as JSON format checks. Additional verification will be performed asynchronously when the transfers are actually settled.

Send a settlement journal

curl -i -X POST \
  https://api.wise.com/v1/settlements \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "TRUSTED_BULK_SETTLEMENT",
    "settlementReference": "TPFB190322",
    "settlementDate": "2019-03-22T23:59:59-05:00",
    "transfers": [
      {
        "id": 125678,
        "date": "2019-03-22T10:00:12-05:00",
        "sourceAmount": 23.24,
        "sourceCurrency": "USD",
        "customerName": "Joe Bloggs",
        "partnerReference": "11111",
        "comment": "Extra Data"
      },
      {
        "id": 178889,
        "date": "2019-03-23T12:40:05-05:00",
        "sourceAmount": 125.67,
        "sourceCurrency": "USD",
        "customerName": "Mat Newman",
        "partnerReference": "11112",
        "comment": "Extra Data"
      }
    ],
    "refundedTransfers": [
      {
        "id": 178880,
        "partnerReference": "11108"
      }
    ],
    "balanceTransfer": 0
  }'

For request/response details, see the API reference.