Fees, commissions, and markups
Various types of fees can be charged to customers for their trading activity.
Commissions
The simplest way to charge a commission is by specifying an amount to charge on the Order object:
POST /back-office/orders
{
"accountNo": "DWPH000003",
"orderType": "MARKET",
"symbol": "ABCD",
"side": "BUY",
"quantity": 30.42,
"commission": 4.99
}
This amount will be deducted from the Account once the Order is completed.
Rather than supplying this field with every Order, a Commission Schedule can be created instead. These schedules are defined by DriveWealth based on a few properties you dictate:
- A minimum amount to charge
- An amount per share executed
- An optional flat amount to charge instead for purchases of less than 1 share
The Commission Schedules have a defined structure, and multiple can be configured for each partner:
{
"active": true,
"commissionID": "21c1bf22-9a36...",
"description": "99 cents + Overages",
"assignmentCriteria": {
"wlpID": "ABCD",
"country": null,
"defaultStatus": true,
"accountMgmtType": null
},
"rates": {
"fractional": {
"rate": 0.49,
"passThroughFees": true,
"shareAmountRounding": "CEIL",
"minimumRate": 0.49
},
"default": {
"rate": 0.0125,
"passThroughFees": true,
"shareAmountRounding": "NEAREST",
"minimumRate": 0.99
}
}
}
The ID of each Commission Schedule can be assigned to an Account, either at its creation or later:
PATCH /back-office/accounts/{accountID}
{
"commissionID": "21c1bf22-9a36...",
}
Even while a Commission Schedule is assigned to an Account, the commission field on each Order creation can still be used to override that schedule for that specific trade. DriveWealth can also configure a Commission Schedule to be default for all Accounts created. Each country of residence can be assigned its own default.
Regulatory fees
Some assets incur government-mandated fees when they are traded. These can be invoiced to and paid for by the partner, or they can be paid for by each customer at time of trade.
To charge these fees to a customer, the passThroughFees
value in an assigned Commission Schedule must be true.
If you override a Commission Schedule by passing a specific commission on an Order creation, DriveWealth will not pass through any additional regulatory fees to the customer. These will then be billed to you.
SEC fee
The SEC fee is applicable to all sales of U.S. equity products. The fee is based on the dollar value of securities sold. As of February 2023, this fee is $8.00 for every $1,000,000 sold. Customers will always be charged at least $0.01.
TAF fee
The Trading Activity Fee, lodged by FINRA, is applicable to all sales of U.S. equity products. The fee is based on the number of units sold. As of July 2012, this fee is $0.0000119 per unit, with a maximum charge of $5.95. Customers will always be charged at least $0.01.
Full Transaction example
A single Order can result in multiple fees being charged, as shown above. The following shows the resultant Transactions from a typical equity sale:
{
"accountAmount": 143,
"accountBalance": 16951.58,
"accountType": "LIVE",
"comment": "ADJ Sell 1 shares of AAPL at 143 FULL fill",
"dnb": false,
"finTranID": "KA.ac697309-e5ca-4c65-a9c7-26d30a9ca090",
"finTranTypeID": "SSAL",
"feeSec": 0,
"feeTaf": 0,
"feeBase": 0,
"feeXtraShares": 0,
"feeExchange": 0,
"fillQty": 1,
"fillPx": 143,
"instrument": {
"id": "a67422af-8504-43df-9e63-7361eb0bd99e",
"symbol": "AAPL",
"name": "Apple"
},
"orderID": "KA.b64a40d6-c7fe...",
"orderNo": "KAGE004920",
"tranAmount": 143,
"tranSource": "EMS",
"tranWhen": "2023-01-23T23:27:26.034Z",
}, {
"accountAmount": -4.01,
"accountBalance": 16947.57,
"accountType": "LIVE",
"comment": "COMM Sell AAPL base=3.99 secFee=0.01 tafFee=0.01",
"dnb": false,
"finTranID": "KA.6e2300f3-651c-4012-8b23-59b2a976ef41",
"finTranTypeID": "COMM",
"feeSec": 0.01,
"feeTaf": 0.01,
"feeBase": 3.99,
"feeXtraShares": 0,
"feeExchange": 0,
"fillQty": 0,
"fillPx": 0,
"instrument": {
"id": "a67422af-8504-43df-9e63-7361eb0bd99e",
"symbol": "AAPL",
"name": "Apple"
},
"orderID": "KA.b64a40d6-c7fe-46e5-9996-7a2b5b378035",
"orderNo": "KAGE004920",
"tranAmount": -4.01,
"tranSource": "EMS",
"tranWhen": "2023-01-23T23:27:26.104Z",
}
Updated about 1 year ago