Savings plan execution

Once the savings plan is created with the desired configurations, our system automatically executes the savings plan based on the specified setup.

The start date is the first day on which our system executes a savings plan and forms the basis for calculating when the next execution should take place.

INFO

If a savings plan execution falls on a non-trading day (e.g. weekend or public holiday), we execute the order on the next possible trading day.
If the start date is the last day of a month and the cadence is monthly, the next execution will always take place on the last day of the following month.


Whenever a savings plan execution is due, our system will send a webhook informing you of the upcoming savings plan execution.

Savings plan execution flow

This section describes the step by step flow of how savings plans are executed.

  1. SAVINGS_PLAN_EXECUTION.NEW
    You receive this webhook when a new savings plan execution is started.

  2. SAVINGS_PLAN_EXECUTION.PROCESSING
    You receive this webhook when the underlying order is being processed.

    • For instrument savings plans, you will receive a series of order events from NEW to PROCESSING to FILLED for the respective individual order.

    • For portfolio savings plans, you will receive the same series of events for both the portfolio order and the resulting individual orders.

  3. SAVINGS_PLAN_EXECUTION.FILLED
    Once a savings plan execution is FILLED, the process repeats from step 1. You will receive a webhook for the next scheduled execution for that savings plan, providing you with all the information you need for a smooth execution.

States of a savings plan execution

The following table shows the different statuses of a savings plan execution:

StatusDescription
NEWIn this state, the savings plan execution is created and you’ll receive a webhook notification informing you about an upcoming savings plan order for your user.
The timing of the webhook notification can be flexibly configured (i.e. two days in advance of the actual execution day).
PROCESSINGThe respective savings plan order (either individual order or portfolio order) are being executed.
FILLEDA savings plan execution is FILLED once the underlying order(s) have been fully executed.
CANCELLEDSavings plan execution is cancelled by you or your user.
NOTE: A savings plan execution can only be cancelled if it is in the NEW state.

Example savings plan execution object

{
  "id": "4b9732bd-7496-491-8a5f-6360479d7fed",
  "savings_plan_id": "00ef0be8-d564-43af-b3c7-11b7a2188030",
 "type" : "INSTRUMENT"  
 "order_id": "6885ddc1-3e23-4f87-9a7d-71ec4ca73286"
  "cash_amount": "100.00",
  "currency": "EUR",
  "execution_date" : "2023-07-24",
  "state": "FILLED",
 "created_at": "2023-07-21T14:10:00.00Z",
 "updated_at": "2023-07-21T14:10:00.00Z" 
}

Webhooks

A webhook is sent for each state transition that the savings plan goes through in its lifecycle.

Example webhook object

{
  "id": "54b8d84f-5bd0-4e43-bf0f-164388cb4c23",
  "created_at": "2023-07-21T10:00:00.00Z",
  "type": "SAVINGS_PLAN_EXECUTION.NEW",
  "object": {
    "id": "fc34d28e-38f5-49d2-92f6-82acb79098f4",
    "created_at": "2023-07-21T14:10:00.00Z",
    "updated_at": "2023-07-21T15:10:00.00Z",
    "user_id": "4b9732bd-7496-4913-8a5f-6360479d7fed",
    "account_id": "00ef0be8-d564-43af-b3c7-11b7a2188030",
    "savings_plan_id": "c31083c1-1cd3-405f-95d1-f49a37f0e032",
    "order_id": null,
    "cash_amount": "100",
    "currency": "EUR",
    "status": "NEW",
    "type": "INSTRUMENT",
    "instrument_id": "DE0007664005",
    "instrument_id_type": "ISIN",
    "execution_date": "2023-07-23"
  },
  "webhook_id": "cd2e4183-4e62-4e0f-981b-44b594d14610"
}

Was this page helpful?