{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab","admonition"]},"type":"markdown"},"seo":{"title":"Building your transaction fee functionality","description":"Welcome to the Upvest API documentation. Here you will find all the information you need to integrate with our API.","siteUrl":"https://docs.upvest.co/","image":"/assets/upvest-logo-card.ee25ccc59849324b0b73151a5c972c87639419556344db0b6dcf518151cb4c3c.925ff8b2.png","keywords":"documentation, api","lang":"en-US","meta":[{"name":"description","content":"Welcome to the Upvest API documentation. Here you will find all the information you need to integrate with our API."},{"name":"image","content":"/assets/upvest-logo-card.ee25ccc59849324b0b73151a5c972c87639419556344db0b6dcf518151cb4c3c.925ff8b2.png"},{"name":"twitter:card","content":"summary_large_image"},{"name":"twitter:title","content":"Welcome to the Upvest API Documentation"},{"name":"twitter:image","content":"/assets/upvest-logo-card.ee25ccc59849324b0b73151a5c972c87639419556344db0b6dcf518151cb4c3c.925ff8b2.png"},{"name":"twitter:description","content":"Welcome to the Upvest API documentation. Here you will find all the information you need to integrate with our API."},{"name":"og:url","content":"https://docs.upvest.co/"},{"name":"og:title","content":"Welcome to the Upvest API Documentation"},{"name":"og:description","content":"Welcome to the Upvest API documentation. Here you will find all the information you need to integrate with our API."},{"name":"og:image","content":"/assets/upvest-logo-card.ee25ccc59849324b0b73151a5c972c87639419556344db0b6dcf518151cb4c3c.925ff8b2.png"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"building-your-transaction-fee-functionality","__idx":0},"children":["Building your transaction fee functionality"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before creating a transaction fee model, ensure the following:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To create fee models, you must have active Upvest API client credentials with the required ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction_fees:admin"]}," scopes enabled."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You have determined the exact structure of the fees, your desired tier thresholds and whether the fees will be absolute (fixed cash amounts) or relative (basis points of order value)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-create-your-transaction-fee-model","__idx":2},"children":["Step 1: Create your transaction fee model"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}," to define your fee model. Fee models are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["immutable"]}," once created. You can create multiple fee models."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"flat-absolute-fee","__idx":3},"children":["Flat absolute fee"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies a simple flat fee per transaction regardless of the order value."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example: 1 EUR fee per order"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"label\": \"absolute fee amount - 1 EUR per any order\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"ABSOLUTE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_amount\": \"1.00\"\n      }\n    ]\n  }\n\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n  \"label\": \"absolute fee amount - 1 EUR per any order\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"ABSOLUTE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_amount\": \"1.00\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"tiered-absolute-fee","__idx":4},"children":["Tiered absolute fee"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The example below uses a tiered absolute fee to reward high-volume users with lower effective rates."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example tier structure for absolute fees"]},":"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tier"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Thresholds (e.g., the order’s cash amount)"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transaction fee"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Up to €499.99"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€1.00"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€500.00 – €1,999.99"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€2.00"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€2,000.00 – €9,999.99"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€5.00"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["3"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€10,000 and above"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€10.00"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"label\": \"absolute fee amount - tiered fee model\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"ABSOLUTE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0\",\n  \"fee_amount\": \"1.00\"\n      },\n      {\n  \"tier_id\": \"1\",\n  \"base_amount_from\": \"500.00\",\n  \"fee_amount\": \"2.00\"\n      },\n      {\n  \"tier_id\": \"2\",\n  \"base_amount_from\": \"2000.00\",\n  \"fee_amount\": \"5.00\"\n      },\n      {\n  \"tier_id\": \"3\",\n  \"base_amount_from\": \"10000.00\",\n  \"fee_amount\": \"10.00\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n      \"label\": \"absolute fee amount - tiered fee model\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"ABSOLUTE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0\",\n  \"fee_amount\": \"1.00\"\n      },\n      {\n  \"tier_id\": \"1\",\n  \"base_amount_from\": \"500.00\",\n  \"fee_amount\": \"2.00\"\n      },\n      {\n  \"tier_id\": \"2\",\n  \"base_amount_from\": \"2000.00\",\n  \"fee_amount\": \"5.00\"\n      },\n      {\n  \"tier_id\": \"3\",\n  \"base_amount_from\": \"10000.00\",\n  \"fee_amount\": \"10.00\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"flat-relative-fee-without-minimum-or-maximum-specified","__idx":5},"children":["Flat relative fee without minimum or maximum specified"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies a simple flat fee percentage regardless of the order value."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example: 1 % fee per order"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"\n{\n    \"label\": \"1% transaction fee\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"RELATIVE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_bps\": \"100\"\n      }\n    ]\n  }\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n    \"label\": \"1% transaction fee\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"RELATIVE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_bps\": \"100\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"flat-relative-fee-with-minimum-and-maximum-specified","__idx":6},"children":["Flat relative fee with minimum and maximum specified"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies a flat fee percentage with minimum and maximum fee amount."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example: 1 % fee per order, not less than 1 EUR, not more than 100 EUR."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"label\": \"1% transaction fee, min 1 EUR, max 100 EUR\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"COLLECTED_BY_UPVEST\",\n    \"value_type\": \"RELATIVE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_bps\": \"100\",\n  \"min_fee_amount\":\"1.00\",\n  \"max_fee_amount\":\"100.00\"\n      }\n     ]\n  }\n\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n  \"label\": \"1% transaction fee, min 1 EUR, max 100 EUR\",\n  \"currency\": \"EUR\",\n  \"charge_method\": \"COLLECTED_BY_UPVEST\",\n  \"value_type\": \"RELATIVE\",\n  \"application_type\": \"VOLUME\",\n  \"base_amount_scope\": \"ORDER\",\n  \"tiers\": [\n    {  \"tier_id\": \"0\",\n       \"base_amount_from\": \"0.00\",\n       \"fee_bps\": \"100\",\n       \"min_fee_amount\":\"1.00\",\n       \"max_fee_amount\":\"100.00\"\n      }\n     ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"tiered-relative-fee-models","__idx":7},"children":["Tiered relative fee models"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"_","__idx":8},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application to the marginal increase on top of the tier threshold"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Depending on the order volume, each next EUR is charged less fee than the previous."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tier"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Thresholds (e.g., the order’s cash amount)"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fee basis point (bps)"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["First €5000.00 of the order volume"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["300"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Amount exceeding €5000.00, but less than €10000.00"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["250"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Amount exceeding € 10.000.00"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["200"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"label\": \"Marginal relative tiered fee model\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"CHARGED_BY_CLIENT\",\n    \"value_type\": \"RELATIVE\",\n    \"application_type\": \"MARGINAL\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_bps\": \"300\"\n      },\n      {\n  \"tier_id\": \"1\",\n  \"base_amount_from\": \"5000.00\",\n  \"fee_bps\": \"250\"\n      },\n      {\n   \"tier_id\": \"2\",\n   \"base_amount_from\": \"10000.00\",\n   \"fee_bps\": \"200\"\n        }\n      ]\n    }\n\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n  \"label\": \"Tiered relative fee model with lower/upper bounds\",\n  \"currency\": \"EUR\",\n  \"charge_method\": \"CHARGED_BY_CLIENT\",\n  \"value_type\": \"RELATIVE\",\n  \"application_type\": \"MARGINAL\",\n  \"base_amount_scope\": \"ORDER\",\n  \"tiers\": [\n    {\n\"tier_id\": \"0\",\n\"base_amount_from\": \"0.00\",\n\"fee_bps\": \"300\",\n\"min_fee_amount\":\"1.00\"\n    },\n    {\n\"tier_id\": \"1\",\n\"base_amount_from\": \"5000.00\",\n \t\"fee_bps\": \"250\",\n\"min_fee_amount\": \"150.00\"\n    },\n    {\n \"tier_id\": \"2\",\n \"base_amount_from\": \"10000.00\",\n \"fee_bps\": \"200\",\n \"min_fee_amount\": \"250.00\",\n \"max_fee_amount\": \"300.00\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"application-to-the-whole-order-amount","__idx":9},"children":["Application to the whole order amount"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tier"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Thresholds (e.g., the total order’s cash amount)"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fee basis point (bps)"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fee limits"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["0"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Up to €4999.99"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["300"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Min: 1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["€5000.00 – €9.999,99"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["250-"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Min: 150"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["10.000.00 and above"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["200"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Min: 250",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Max: 300"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /transaction_fees/models"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"label\": \"Tiered relative fee model with lower/upper bounds\",\n    \"currency\": \"EUR\",\n    \"charge_method\": \"CHARGED_BY_CLIENT\",\n    \"value_type\": \"RELATIVE\",\n    \"application_type\": \"VOLUME\",\n    \"base_amount_scope\": \"ORDER\",\n    \"tiers\": [\n      {\n  \"tier_id\": \"0\",\n  \"base_amount_from\": \"0.00\",\n  \"fee_bps\": \"300\",\n  \"min_fee_amount\":\"1.00\"\n      },\n      {\n  \"tier_id\": \"1\",\n  \"base_amount_from\": \"5000.00\",\n  \"fee_bps\": \"250\",\n  \"min_fee_amount\": \"150.00\"\n      },\n      {\n   \"tier_id\": \"2\",\n   \"base_amount_from\": \"10000.00\",\n   \"fee_bps\": \"200\",\n   \"min_fee_amount\": \"250.00\",\n   \"max_fee_amount\": \"300.00\"\n        }\n      ]\n    }\n\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"eb5ba93f-5dfe-4bf1-8571-4da0caacc80c\",\n  \"created_at\": \"2021-07-21T14:10:00.00Z\",\n  \"updated_at\": \"2021-07-21T14:10:00.00Z\",\n  \"label\": \"Tiered relative fee model with lower/upper bounds\",\n  \"currency\": \"EUR\",\n  \"charge_method\": \"CHARGED_BY_CLIENT\",\n  \"value_type\": \"RELATIVE\",\n  \"application_type\": \"VOLUME\",\n  \"base_amount_scope\": \"ORDER\",\n  \"tiers\": [\n    {\n\"tier_id\": \"0\",\n\"base_amount_from\": \"0.00\",\n\"fee_bps\": \"300\",\n\"min_fee_amount\":\"1.00\"\n    },\n    {\n\"tier_id\": \"1\",\n\"base_amount_from\": \"5000.00\",\n \t\"fee_bps\": \"250\",\n\"min_fee_amount\": \"150.00\"\n    },\n    {\n \"tier_id\": \"2\",\n \"base_amount_from\": \"10000.00\",\n \"fee_bps\": \"200\",\n \"min_fee_amount\": \"250.00\",\n \"max_fee_amount\": \"300.00\"\n      }\n    ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"request-parameters","__idx":10},"children":["Request parameters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A human-readable name for the fee model.  The label should be unique, descriptive, and clear to aid in referencing the transaction fee model."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The currency of the fee. Alphabetic three-letter ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.iso.org/iso-4217-currency-codes.html"},"children":["ISO 4217"]}," currency code. This field accepts either ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EUR"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GBP"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_method"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["This field determines which party collects the fee. The value of this field depends on the funding arrangement you have with Upvest.  ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"For pre-funding clients, always set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_method"]}," equal to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHARGED_BY_UPVEST"]},". ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"For post-trade settlement clients, always set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["charge_method"]}," equal to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHARGED_BY_CLIENT"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["value_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["value_type"]}," field determines the type of fee to be collected. Set this equal to either:   ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ABSOLUTE"]}," for fixed, flat cash fees.  ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RELATIVE"]}," for basis-point-based fees."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["application_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Determines how the fee will be applied to the transaction.  ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VOLUME"]},": the full order value is assessed against the tier thresholds. The fee in the tiers is applied to the total volume of the order. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]}," - ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MARGINAL"]},": each portion of the order value is charged at the rate of the tier it falls within. Use this to set up a marginal/progressive fee structure. Only applicable to tiered fee models."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["base_amount_scope"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Set this field equal to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ORDER"]},". Specifies that fee tiers are evaluated against the total order value."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Array of tier objects. At least one tier must be specified. A single-tier model functions as a simple flat fee."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].tier_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A string identifier for the tier (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"0\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"1\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"2\""]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].base_amount_from"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The lower boundary (inclusive) of the tier. The first tier must always start at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"0\""]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].fee_amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Conditional"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ABSOLUTE"]}," models. The fixed, flat fee amount charged when the order falls within this tier."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].fee_bps"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Conditional"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RELATIVE"]}," models. The fee rate in basis points applied to the order value for this tier."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].min_fee_amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Minimum fee amount for a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RELATIVE"]}," tier. The calculated fee will not fall below this value."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tiers[].max_fee_amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum fee amount for a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RELATIVE"]}," tier. The calculated fee will not exceed this value."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have created a fee model, the response returns an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},". This is the  ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction_fee_model_id"]}," for use in order requests and ex-ante cost reports."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-when-applicable-apply-a-fee-model-in-the-ex-ante-cost-report","__idx":11},"children":["Step 2 (when applicable): Apply a fee model in the ex-ante cost report"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For ex-ante reporting, you can use the POST /reports endpoint to include your transaction fee model in the reporting."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /reports"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"type\": \"ORDER_EX_ANTE_COST\",\n  \"order\": {\n    \"user_id\": \"d1a4be99-8bb6-4e78-b897-8168f6823ab5\",\n    \"account_id\": \"c5034305-c441-4711-adbf-93cfbc13a695\",\n    \"order_type\": \"MARKET\",\n    \"side\": \"BUY\",\n    \"instrument_id\": \"LU0274208692\",\n    \"instrument_id_type\": \"ISIN\",\n    \"currency\": \"EUR\",\n    \"quantity\": \"15\"\n  },\n  \"fees\": [\n    {\n      \"type\": \"TRANSACTION_FEE_BUY\",\n      \"transaction_fee_model_id\": \"eb5ba93f-5dfe-4bf1-84da-0caacc80c000\"\n    },\n    {\n      \"type\": \"TRANSACTION_FEE_SELL\",\n      \"value_type\": \"ABSOLUTE\",\n      \"cash_amount\": \"0.95\",\n      \"currency\": \"EUR\"\n    },\n    {\n      \"type\": \"ANNUAL_AUM_BASED_FEE\",\n      \"value_type\": \"RELATIVE\",\n      \"bps\": \"37\"\n    }\n  ],\n  \"inducements\": [\n    {\n      \"value_type\": \"ABSOLUTE\",\n      \"cash_amount\": \"0.10\",\n      \"currency\": \"EUR\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-apply-a-fee-model-to-an-order","__idx":12},"children":["Step 3: Apply a fee model to an order"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When placing an order, reference your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction_fee_model_id"]}," in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee_configuration"]}," array. Upvest will calculate and apply the appropriate fee based on the order value and the configured tiers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no fee model is assigned and an explicit fee is instead provided via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee_configuration"]},", the explicit fee takes precedence."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /orders"]}]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Request","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"user_id\": \"2dedfeb0-58cd-44f2-ae08-0e41fe0413d9\",\n  \"account_id\": \"debf2026-f2da-4ff0-bb84-92e45babb1e3\",\n  \"cash_amount\": \"1000\",\n  \"currency\": \"EUR\",\n  \"side\": \"BUY\",\n  \"instrument_id\": \"US0378331005\",\n  \"instrument_id_type\": \"ISIN\",\n  \"order_type\": \"MARKET\",\n  \"user_instrument_fit_acknowledgement\": true,\n  \"limit_price\": \"\",\n  \"stop_price\": \"\",\n  \"fee_configuration\": [\n    {\n      \"type\": \"TRANSACTION_FEE_BUY\",\n      \"transaction_fee_model_id\": \"eb5ba93f-5dfe-4bf1-84da-0caacc80c000\"\n    }\n  ]\n}\n","lang":"json"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee_configuration.type"]}," must match the type of order:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSACTION_FEE_BUY"]}," fee type for BUY orders"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSACTION_FEE_SELL"]}," fee type for SELL orders."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If there is a mismatch, the order will be rejected."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-4-monitor-the-cash-transactions-event-webhook-for-fee-details","__idx":13},"children":["Step 4: Monitor the Cash transactions event webhook for fee details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After an order with a transaction fee is executed, fees are reflected in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CASH_TRANSACTION.EXECUTED"]}," webhook events. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fees"]}," array is populated with the fee details.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"The value reflected in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delta"]}," field is dependent on your funding setup with Upvest."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pre-funding clients"]},": The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delta"]}," reflects the net cash movement inclusive of both taxes and fees."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Post-trade settlement clients"]},": The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delta"]}," reflects the net cash movement for the order inclusive of taxes but does not include the impact of the fee."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information, refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/tol/guides/fees/fees_transaction_fees_webhooks"},"children":["Webhooks and transaction fee details"]}," section."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The order event webhook includes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction_fee_model_id"]}," but not a detailed breakdown of the transaction fee. Also, order execution events do not include details on transaction fees."]}]}]},"headings":[{"value":"Building your transaction fee functionality","id":"building-your-transaction-fee-functionality","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Step 1: Create your transaction fee model","id":"step-1-create-your-transaction-fee-model","depth":3},{"value":"Flat absolute fee","id":"flat-absolute-fee","depth":4},{"value":"Tiered absolute fee","id":"tiered-absolute-fee","depth":3},{"value":"Flat relative fee without minimum or maximum specified","id":"flat-relative-fee-without-minimum-or-maximum-specified","depth":3},{"value":"Flat relative fee with minimum and maximum specified","id":"flat-relative-fee-with-minimum-and-maximum-specified","depth":3},{"value":"Tiered relative fee models","id":"tiered-relative-fee-models","depth":3},{"value":"","id":"_","depth":4},{"value":"Application to the whole order amount","id":"application-to-the-whole-order-amount","depth":4},{"value":"Request parameters","id":"request-parameters","depth":3},{"value":"Step 2 (when applicable): Apply a fee model in the ex-ante cost report","id":"step-2-when-applicable-apply-a-fee-model-in-the-ex-ante-cost-report","depth":3},{"value":"Step 3: Apply a fee model to an order","id":"step-3-apply-a-fee-model-to-an-order","depth":3},{"value":"Step 4: Monitor the Cash transactions event webhook for fee details","id":"step-4-monitor-the-cash-transactions-event-webhook-for-fee-details","depth":3}],"frontmatter":{"seo":{"title":"Building your transaction fee functionality"}},"lastModified":"2026-04-13T15:22:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/tol/guides/fees/fees_transaction_fees_building","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}