API status

Fees intake

Calculation of the fees

Based on the user's account valuation, Upvest calculates daily fees for each account with the specified fee configuration.

To determine the outstanding fee amount, Upvest totals all unpaid fee calculations on the account. If the result is more than 1 cent, Upvest creates a fee collection. You will receive a FEE_COLLECTION.CREATED event. Upvest then initiates the collection of the money:

  • For scheduled collections, you can specify the collection method as described above.

  • For liquidation fees, the fee is automatically collected from the income from the sales orders.

Fee collection on account liquidation

Although an account liquidation does not necessarily mean that the account will be closed and unable to pay fees in the future, Upvest collects the outstanding fees each time the account is liquidated to increase the likelihood that the fees will be collected.

This process differs from a regular fee collection as it does not involve separate sell orders for the fees, but takes the money from the sell orders on liquidation.

If the account is linked to a fee model in a fee configuration, the following sequence of events is triggered by the account liquidation request:

  1. Upvest initiates a fee collection

    Upvest initiates a fee collection immediately upon receipt of the account liquidation request.
    The client will receive a FEE_COLLECTION.CREATED event with type SERVICE_FEE_LIQUIDATION.


  2. Sales of account positions is triggered

    The account liquidation process triggers the complete sale of all positions in the account. The cash received from these sales is blocked for withdrawal not only before settlement, but also before Upvest collects the fees.


  3. Fee collection

    Immediately after the sales orders have been settled, Upvest checks whether the settled amount covers the outstanding fee payment and collects the fee as quickly as possible.


  4. Fee collection events

    You will receive the same set of events as in regular fee collection:

    1. EXECUTION.SETTLED event
    2. CASH_BALANCE.UPDATED (multiple times, at least once for settlement and once for the cash balance decrease).
    3. CASH_TRANSACTION.EXECUTED event of type FEE_COLLECTION
    4. FEE_COLLECTION.FINALISED

Example event for fee collection on account liquidation

{
    "id": "38fc59d0-fc42-46ef-9512-824773219b2e",
    "created_at": "2023-08-19T13:06:57.820371265Z",
    "type": "FEE_COLLECTION.CREATED",
    "webhook_id": "1b097e06-8a14-4181-b72a-de0972a3c57b",
    "object": {
      "account_group_id": "999f7566-2ca3-4007-b99d-e501be8c7222",
      "account_id": "689f7566-2ca3-4007-b99d-e501be8c7783",
      "collection_amount": "12.41",
      "created_at": "2022-11-30T14:16:22Z",
      "currency": "EUR",
      "id": "d77e6924-9bb7-4db0-addc-404442258f4b",
      "period_start": "2022-11-01",
      "period_end": "2022-11-30",
      "processed_amount": {
        "cash_balance": "0",
        "sell_to_cover": "0"
      },
      "status": "PROCESSING",
      "type": "SERVICE_FEE_LIQUIDATION",
      "updated_at": "2022-11-30T14:16:22Z"
    }
  }