File formats for importing transactions and trade orders
Transactions and trade orders are imported in FA in semicolon-separated CSV files, with the file columns described below. You can import multiple entries (transactions or trade orders) at the same time with one file: each row of the CSV file is read as a separate object. However, you can't import transactions and trade orders to the system with the same file.
You can define the following properties of the CSV file in Preferences → Importing → File format (see Preference - Importing for details):
File delimiter. By default, FA is configured to accept semicolon-separated values. You can change it to another character.
Encoding: UTF-8 or Windows-1252. To import Scandinavian letters, the files should be Windows-1252 encoded in order to guarantee the appropriate handling of Scandinavian letters.
This article describes the file formats used for importing transactions and trade orders to FA. The file format is a semicolon-separated text file (CSV). One row in the file represents one transaction or trade order. You can configure the file delimiter of your CSV files in Importing preferences.
The file columns are described below.
Download the CSV file templates here:
Updating transactions and trade orders
You can use CSV files to update existing transactions or trade orders. Specify either Portfolio ID and the transaction or trade order External ID in columns 1,2 or the Reference in column 24. Enter the values you want to update in the other columns.
For single-value fields, such as
tr.type
ortr.status
, import the CSV file with the corrected data – the new values from the file will replace the existing ones.For multi-value fields, see the field description in the table.
To keep the existing field value saved in the system, add three stars (***) to the field. If you import an empty field without ***, the field value previously saved in the system is removed.
For multi-value fields, you can import new values while keeping the old ones using ***, for example, ***<new value1>,<new value2>.
Removing transaction and trade order values with three minuses (---)
You can remove values by marking them with three minuses (---) in the CSV file. To remove a value, specify either the Portfolio ID and the transaction or trade order External ID in columns 1,2 or the Reference in column 24. Add the fields you want to remove prefixed with three minuses (---). This syntax is also valid for tags.
To remove a tag while keeping other existing tags, use --- to mark the tag to be removed. For example, if a transaction has two tags <tag_name_1> and <tag_name_2>, use ---<tag_name_2> to remove <tag_name_2> while keeping <tag_name_1>.
To remove multiple values, divide them with a hash (#). For example: ---<tag_name_1>#---<tag_name_2>. If you edit the CSV file in MS Excel, you need to enter an apostrophe at the beginning of the column. For example: '---<tag_name_1>#---<tag_name_2>.
Matching transactions: MATCH
If you don't know the external ID or reference of your existing transaction or trade order, you can also find them with other matching values or criteria in order to update them. You can do this by entering the word MATCH either in the column #2 External ID or #24 Reference of your imported file: the importer then uses other criteria, including Transaction date, Amount, Trade amount, Type, Security and Currency, to find a matching transaction from the portfolio. If exactly one unique match is found from the portfolio, the transaction is updated - if no matches or multiple matches are found, the update fails with appropriate error message.
Deleting transactions: DELETE
You can also use FA Format transactions files and FA Format trade orders files to delete existing transactions or trade orders. Delete transactions or trade orders by modifying the imported file so that the third column (after "Portfolio ID" and "External ID" columns), contains the text DELETE. When you import the file, the system deletes the transactions or trade orders (identified with the defined external ID in the defined portfolio) that had the text DELETE in the third column.
Note
DELETE actually removes the transactions from the database, and deleting cannot be undone. If you don't want this, consider changing the status of your transaction instead.
Automatic values: AUTO
When using the FA Format transactions or FA Format trade orders file in import, you can also define some values to be fetched from the data stored in FA. Type the text AUTO to the following columns to fetch the value of the field from FA:
#10 Account - the transaction is automatically recorded against the account with the same currency as the transaction, or if not found, to the default account of the portfolio.
#13 Unit price - the unit price is set to be the transaction day's market price of the transaction's security. If no market price is can be found for the transaction date, the latest available market price is used.
#15 FX rate - the exchange rate is set to be the transaction day's market price of the transaction's currency. If no market price is can be found for the transaction date, the latest available market price is used. When importing an FX rate, the system automatically determines whether the exchange rate is account FX rate (column 41) and/or report FX rate (column 42), and fills them in appropriately, if they have not been filled.
#21 Booked trade amount - the booked trade amount is calculated by multiplying the booked transaction day's market price of the transaction's security (if no market price is can be found for the booked transaction date, the latest available market price is used) with the defined amount.
#22 Booked FX rate - the exchange rate is set to be the booked transaction day's market price of the transaction's currency. If no market price is can be found for the transaction date, the latest available market price is used.
#23 Accrued interest - the system calculates the accrued interest automatically based on coupon information defined for the security.
#41 Account FX rate - the exchange rate is set to be the transaction day's market price of the transaction's currency. If no market price is can be found for the transaction date, the latest available market price is used.
#42 Report FX rate - the exchange rate is set to be the transaction day's market price of the transaction's currency. If no market price is can be found for the transaction date, the latest available market price is used.
#43 Coefficient- the coefficient is set to be the linked index's market price on transaction date. If no market price is can be found for the transaction date, the latest available market price is used.
Rounding errors: ROUND
Transaction and trade order import formats also allow you to handle rounding errors in trade amount, or scenarios when the values you provide for amount * unit price don’t add up to the value provided for trade amount by the decimal. This is by default considered as an import error, but you can instead direct the difference into one of the tax fields to make the calculations match and the import to go through. (Available from FA 3.7 onward)
You can do this by typing in the word ROUND into the tax field (#16 Tax or #37 Tax 2) you want to use for the rounding error - the difference in rounding (trade amount provided vs. trade amount calculated by the system) is stored into the selected field when importing the trade in order for the calculations to match and the import to go through. For an individual transaction only one of the tax fields should contain ROUND - if both Tax and Tax 2 fields contain ROUND, import will result in an error.
Make sure to define a tax type for "rounding errors" into the tax type field (#34 Tax type or #38 Tax 2 type), and use a transaction type with proper tax effect for the rounding error to have an effect on the trade amount. If the transaction type's "Tax effect" (or "Tax 2 effect" respectively) is configured to be "Add", the rounding difference is added to the tax field as is, and if transaction type's "Tax effect" (or "Tax 2 effect" respectively) is configured to be "Reduce", the rounding difference is added to the tax field as negative (i.e. sign reversed) in order for the calculations to work correctly. If the selected transaction type doesn't have a "Tax effect (or "Tax 2 effect" respectively), import will show an error stating that the transaction type has no tax effect and cannot be used for rounding.
FA Format for importing transactions
# | Code | Required | Name | Description |
---|---|---|---|---|
1 | tr.parentPortfolio | Yes | Portfolio ID | String (unique ID of the transaction's portfolio) |
2 | tr.extId | No | Transaction External ID | External ID / number of you transaction. If left empty, an external ID is generated for the transaction by the system. In addition, system defines an internal ID as well. External ID is used in combination with #1 Portfolio ID to update existing transactions - if your external ID already exists, the existing transaction is updated. |
3 | tr.type | Yes | Type | Type code (configured in the system). E.g. buy, sell etc. |
4 | tr.status | No | Status | Define as a code: OK = Accepted DEL = Deleted NF = Not finished |
5 | tr.transactionDate | Yes | Transaction date | yyyy-MM-dd |
6 | tr.settlementDate | No | Settlement date | yyyy-MM-dd In addition, you can use numbers between 1 and 99 to set the settlement date (the settlement date is set the inserted number of business days after the transaction date). The transaction's security's (or cash transaction's currency's) holiday calendar is used to determine which days are business days. |
7 | tr.maturityDate | No | Maturity date | Not used. Only available for transactions on securities with base type DEPOSIT (not regular deposit transactions). Use format yyyy-MM-dd. |
8 | tr.security | No | Security | Security code of the transaction's security. Leave empty, if a cash transaction. In addition to security code, importing transactions is supported with ISIN code, trade code or update codes 1 through 3. When importing transactions by using ISIN code to identify the security, the system checks that the transaction’s currency (column #11 Currency) matches the found security’s currency, if there are multiple securities with the same ISIN code in the system. |
9 | tr.securityType | No | Security type | Security type code of the transaction's security's type (as configured in the system). Used to determine features of a transaction. |
10 | tr.account | No | Account | Account number, if transaction is directed to an account. You can use the an account linked to the portfolio or shared to the portfolio. Define AUTO to record the transactions to the account with the same currency as the transaction, if such an account is found, or to the default account of the portfolio, if suitable currency account is not found. Define DEFAULT to always direct the transaction to the portfolio's default account. The system ignores white spaces in account numbers, and is thus able to recognize account numbers (such as IBAN numbers) defined with or without white spaces. |
11 | tr.currency | No | Currency | Transaction's currency (define with the currency code). If you don't define a currency for your transaction, the system will automatically determine it based on your transaction's data (available from FA 3.9 onward). Transaction's currency is either 1) Transaction's security's currency (if transaction is linked to a security) 2) Transaction's account's currency (for transactions not linked to a security but linked to account, i.e. CASH transactions) 3) Transaction's portfolio's currency (for transactions not linked to a security nor account, i.e. CASH transactions with "No account") After 3.9, best practice is to leave the currency empty, and the system will determine it for you. Before FA 3.9, transaction's currency was a mandatory field: define the currency with the currency security's code. |
12 | tr.amount | Yes | Amount | Number of units. The tr.amount field accepts the amount of decimals allowed for the transaction. If your file has more decimals in the amount, the amount is rounded to contain only accepted amount of decimals. For cash transactions, the number of decimals is defined per account (see Portfolio window), per currency security in the Block size field (see Security window) or per security type in Preferences (see Preferences - Securities). For the other transactions, the number of decimals is can be defined per account (see Portfolio window) or taken from the decimal format Preferences. When importing new transactions, if number of units is not available, you can leave it empty so the system calculates the amount with "unitPrice" (#13) and "tradeAmount" (#14). When updating existing transactions, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
13 | tr.unitPrice | Yes | Unit price | Unit price is security currency (trade currency). Define AUTO to automatically use the transaction day's market data entry. For bonds, unit price can be set with % (e.g. 3.45%), when the system calculates the price according to YTM automatically. When importing new transactions, if unit price is not available or is inaccurate, you can leave it empty, so the system calculates the unit price with "amount" (#12) and "tradeAmount" (#14). When updating existing transactions, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
14 | tr.tradeAmount | Yes | Trade amount | Value of the transaction in security currency (trade currency), i.e. money value of the transaction including costs, taxes, accrued interest etc. When importing new transactions, if trade amount is not available, you can leave it empty, so the system calculates the trade amount with "amount" (#12) and "unitPrice" (#13). When updating existing transactions, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
15 | tr.fxRate | No | FX rate | Exchange rate for the transaction. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. When importing an FX rate, the system automatically determines whether the exchange rate is account exchange rate (column #41) and/or report exchange rate (column #42), and fills them in appropriately. Define AUTO to automatically use the transaction day's market data entry. |
16 | tr.tax | No | Tax | Tax in trade currency |
17 | tr.cost | No | Cost | Fee in trade currency |
18 | tr.cost2 | No | Cost 2 | Credit fee in trade currency |
19 | tr.origTransactionDate | No | Booked transaction date | yyyy-MM-dd |
20 | tr.origUnitPrice | No | Booked unit price | Booked unit price in trade currency |
21 | tr.origTradeAmount | No | Booked trade amount | Booked trade amount. Define AUTO to automatically calculate the booked trade amount by multiplying the amount with transaction day's market data entry. |
22 | tr.origFxRate | No | Booked FX rate | Booked exchange rate between trade currency and portfolio's report currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the original transaction day's market data entry. |
23 | tr.accruedInterest | No | Accrued interest | Accrued interest in trade currency. For bonds, the accrued interest can be set with "?", when the system calculates the accrued interest automatically. Define AUTO to automatically calculate the accrued interest. |
24 | tr.reference | No | Reference | Reference of the transaction, usually transaction's reference number. Reference is used in combination with #1 Portfolio ID to update existing transactions if you haven't defined #2 External ID in your import file - if your reference can be found from an existing transaction, the existing transaction is updated. |
25 | tr.counter | No | Counter | Counter (use contact ID) |
26 | tr.counterPortfolio | No | Counter portfolio | Counter portfolio (use portfolio code) |
(27) | (Ext info) | Not used. Use tr.description in column #31 instead. | ||
28 | tr.intInfo | No | Internal info | Internal transaction description |
29 | tr.basis | No | Basis | Not used. |
30 | tr.priority | No | Priority | Intraday priority of a transaction. -1,1,2,3... The transaction with the lowest priority has the highest number defined in the priority field (0 is lower than 1 and -1 is lower than 0). The default priority is 0. |
31 | tr.description | No | Description | Description/comment on the transaction |
32 | tr.security2 | No | Security 2 | Security code of the removed security (e.g. in the exchange, the one that is replaced) |
33 | tr.ratio | No | Ratio | Define the ratio with syntax x:x (e.g. 1:2 or 2:3.25). Ratio is used for example for splits and exchanges. For splits, define the ratio between the number of securities before and after the split (with ratio 1:2, one security before the split would become two securities after the split). For exchanges, define the ratio as how many new securities are received with one removed security (with ratio 1:2, one removed security would become two new securities after the exchange). |
34 | tr.taxType | No | Tax type | Tax type of the transaction defined with the tax type code |
35 | tr.marketPlace | No | Market place | Use the exchange code / market place code. |
36 | tr.tradeTime | No | Trade time | hh:mm:ss You can also define the trade time with time zone information with the syntax of hh:mm:ssContinent/City (e.g. 11:12:13Europe/Helsinki, use valid java time zones) - when the transaction is imported, the trade time is converted into the server's time zone. |
37 | tr.tax2 | No | Tax 2 | Tax in trade currency |
38 | tr.taxType2 | No | Tax 2 type | Tax type of the transaction defined with the tax type code |
39 | tr.tags | No | Tags | The "Tags" field is a comma-separated list of tags that you can use to categorize your transactions.To add a tag:
To remove a tag, use the syntax "---" followed by the tag name or tag group name. For example:
For details, see Removing transaction and trade order values with three minuses (---). |
40 | tr.settlementPlace | No | Settlement place | Use the settlement code. |
41 | tr.accountFxRate | No | Account FX rate | Exchange rate between trade currency and portfolio's account currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the transaction day's market data entry. If you are not sure whether you need the account or report FX rate, use FX rate (column #15) instead, which automatically determines which one to use. |
42 | tr.reportFxRate | No | Report FX rate | Exchange rate between trade currency and portfolio's report currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the transaction day's market data entry. If you are not sure whether you need the account or report FX rate, use FX rate (column #15) instead, which automatically determines which one to use. |
43 | tr.coefficient | No | Coefficient | Coefficient calculated from the linked security's price and index base value. Affects trade amount same as unit price. Define AUTO to automatically calculate coefficient on the transaction date from the linked security and index base value. |
44 | tr.compCost1 | No | Break-down of cost 1 | Define the break-down of costs as a list of transaction cost data with the syntax <type>=<value>. Types are from defined transaction cost type. E.g. BROK=15,ADV=22. If you also defined a Cost (column #17), your Break-down of cost 1 has to sum up to the total cost you defined! If you leave Cost empty, the system calculates it automatically as the sum of your break-down of costs. |
45 | tr.compCost2 | No | Break-down of cost 2 | Define the break-down of costs as a list of transaction cost data with the syntax <type>=<value>. Types are from defined transaction cost type. E.g. BROK=15,ADV=22. If you also defined a Cost 2 (column #18), your Break-down of cost 2 has to sum up to the total cost you defined! If you leave Cost empty, the system calculates it automatically as the sum of your break-down of costs. |
46 | tr.costType1 | No | Transaction cost type 1 | Type of selected transaction cost type. Value is from defined transaction cost type's type code. |
47 | tr.costType2 | No | Transaction cost type 2 | Type of selected transaction cost type. Value is from defined transaction cost type's type code. |
48 | tr.hidden | No | Hidden | Whether the transaction should be marked as hidden. Define as a number: 1 = Hidden 0 = Not hidden (default) |
49 | tr.paymentDate | No | Payment date | yyyy-MM-dd |
50 | tr.accrual | No | Accrual | Transaction's accrual, or the the paid/received accrued income which is recorded as part of the price (unit price x amount). Accrual has no effect of the trade amount (Available from FA 3.7 onward) |
51 | tr.receiveDate | No | Receive date | yyyy-MM-dd |
52 | tr.receiveTime | No | Receive time | hh:mm:ss You can also define the receive time with time zone information with the syntax of hh:mm:ssContinent/City (e.g. 11:12:13Europe/Helsinki, use valid java time zones) - when the trade order is imported, the time is converted into the server's time zone. |
53 | tr.accrual2 | No | Removed accrual | Removed accrual from security A when making an Exchange for security B. |
54 | tr.overrideFifoTransactionExtId | No | Override FIFO (ext ID) | List the external transaction IDs that represent purchase lots, separated by commas without spaces. Example: 5,12,8. |
FA Format for importing trade orders
# | Code | Required | Name | Description |
---|---|---|---|---|
1 | o.parentPortfolio | Yes | Portfolio ID | String (unique ID of trade order's portfolio) |
2 | o.extId | No | Trade order External ID | External trade order ID. If left empty, an external ID is generated to the trade order. In addition, system defines an internal ID as well. |
3 | o.type | Yes | Type | Type code (configured in the system). E.g. buy, sell etc. |
4 | o.status | Yes | Order status | Define as a number: 1 = Executable 2 = Executed 3 = Cancelled 4 = Open 5 = Accepted 6 = In execution 7 = Executed in the market 8 = Rejected 9 = Expired 10 = Sent to execution 11 = Settled in the market 12 = Partially executed in the market |
5 | o.transactionDate | Yes | Transaction date | yyyy-MM-dd |
6 | o.settlementDate | No | Settlement date | yyyy-MM-dd. In addition, use numbers between 1 and 99 to set the settlement date (the settlement date is set the inserted number of banking days after the transaction date). |
7 | o.maturityDate | No | Maturity date | Not used. Only available for transactions on securities with base type DEPOSIT (not regular deposit transactions). Use format yyyy-MM-dd. |
8 | o.security | No | Security | Security code of the trade order's security. Leave empty, if a cash trade order. In addition to security code, importing trade orders is supported with ISIN code, trade code or update codes 1 through 3. |
9 | o.securityType | No | Security type | Security type code of the trade order's security's type (as configured in the system). Used to determine features of a trade order. |
10 | o.account | No | Account | Account number, if trade order is directed to an account (trade orders often don't have an account). You can use the an account linked to the portfolio or shared to the portfolio. Define AUTO to record the trade order to the account with the same currency as the trade order, if such an account is found, or to the default account of the portfolio, if suitable currency account is not found. Define DEFAULT to always direct the trade order to the portfolio's default account. The system ignores white spaces in account numbers, and is thus able to recognize account numbers (such as IBAN numbers) defined with or without white spaces. |
11 | o.currency | No | Currency | Trade order's currency (define with the currency code). If you don't define a currency for your trade order, the system will automatically determine it based on your trade order's data (available from FA 3.9 onward). Trade order's currency is either 1) Trade order's security's currency (if trade order is linked to a security)2) Trade order's account's currency (for trade orders not linked to a security but linked to account, i.e. CASH transactions)3) Trade order's portfolio's currency (for trade orders not linked to a security nor account, i.e. CASH transactions with "No account") ! After 3.9, best practice is to leave the currency empty, and the system will determine it for you. Before FA 3.9, trade order's currency was a mandatory field: define the currency with the currency security's code. |
12 | o.amount | Yes | Amount | Number of units. Amount field only accepts the amount of decimals defined for the security type or as the block size of the security: if your file has more decimals in the amount, the amount is rounded to contain only accepted amount of decimals. When importing new trade orders, if number of units is not available, you can leave it empty, so the system calculates the amount with "unitPrice" (#13) and "tradeAmount" (#14). When updating existing trade orders, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
13 | o.unitPrice | Yes | Unit price | Unit price is security currency (trade currency). Define AUTO to automatically use the transaction day's market data entry. When importing new trade orders, if unit price is not available or it is inaccurate, you can leave it empty, when the system calculates the unit price with "amount" (#12) and "tradeAmount" (#14). When updating existing trade orders, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
14 | o.tradeAmount | Yes | Trade amount | Value of the transaction in security currency (trade currency), i.e. money value of the transaction including costs, taxes, accrued interest etc. When importing new trade orders, if trade amount is not available, you can leave it empty, when the system calculates the trade amount with "amount" (#12) and "unitPrice" (#13). When updating existing trade orders, make sure the field has the correct value, or let the FA system calculate the value by including the empty field in the import file (or API call). |
15 | o.fxRate | No | FX Rate | Exchange rate for the trade order. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the transaction day's market data entry. When importing an FX rate, the system automatically determines whether the exchange rate is account exchange rate (column #41) and/or report exchange rate (column #42), and fills them in appropriately. |
16 | o.tax | No | Tax | Tax in trade currency |
17 | o.cost | No | Cost | Fee in trade currency |
18 | o.cost2 | No | Cost 2 | Credit fee in trade currency |
19 | o.origTransactionDate | No | Booked transaction date | yyyy-MM-dd |
20 | o.origUnitPrice | No | Booked unit price | Booked unit price in trade currency |
21 | o.origTradeAmount | No | Booked trade amount | Booked trade amount. Define AUTO to automatically calculate the booked trade amount by multiplying the amount with transaction day's market data entry. |
22 | o.origFxRate | No | Booked fx rate | Booked exchange rate between trade currency and portfolio's report currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the original transaction day's market data entry. |
23 | o.accruedInterest | No | Accrued interest | Accrued interest in trade currency. For bonds, the accrued interest can be set with "?", when the system calculates the accrued interest automatically. Define AUTO to automatically calculate the accrued interest. |
24 | o.reference | No | Reference | Reference |
25 | o.counter | No | Counter | Counter (use contact ID) |
26 | o.counterPortfolio | No | Counter portfolio | Counter portfolio (use portfolio code) |
(27) | No | No | (Ext info) | Not used. Use tr.description in column #31 instead. |
28 | o.intInfo | No | Internal info | Internal transaction description |
29 | o.basis | No | Basis | Not used. |
30 | o.priority | No | Priority | Intraday priority of a trade order. -1,1,2,3... The trade order with the lowest priority has the highest number defined in the priority field (0 is lower than 1 and -1 is lower than 0). The default priority is 0. |
31 | o.description | No | Description | Description/comment on the trade order |
32 | o.security2 | No | Security 2 | Security code of the removed security (e.g. in the exchange, the one that is replaced) |
33 | o.ratio | No | Ratio | Define the ratio with syntax x:x (e.g. 1:2 or 2:3.25). Ratio is used for example for splits and exchanges. For splits, define the ratio between the number of securities before and after the split (with ratio 1:2, one security before the split would become two securities after the split). For exchanges, define the ratio as how many new securities are received with one removed security (with ratio 1:2, one removed security would become two new securities after the exchange). |
34 | o.taxType | No | Tax type | Tax type of the trade order defined with the tax type code |
35 | o.marketPlace | No | Market place | Use the exchange code / market place code. |
36 | o.tradeTime | No | Trade time | hh:mm:ss You can also define the trade time with time zone information with the syntax of hh:mm:ssContinent/City (e.g. 11:12:13Europe/Helsinki, use valid java time zones) - when the trade order is imported, the trade time is converted into the server's time zone. |
37 | o.tax2 | No | Tax2 | Tax in trade currency |
38 | o.taxType2 | No | Tax 2 type | Tax type of the trade order defined with the tax type code |
39 | o.tags | No | Tags | The "Tags" field is a comma-separated list of tags that you can use to categorize your trade orders. To add a tag:
To remove a tag, use the syntax "---" followed by the tag name or tag group name. For example:
For details, see Removing transaction and trade order values with three minuses (---). |
40 | o.settlementPlace | No | Settlement place | Use the settlement code. |
41 | o.accountFxRate | No | Account FX rate | Exchange rate between trade currency and portfolio's account currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the transaction day's market data entry. If you are not sure whether you need the account or report FX rate, use FX rate (column #15) instead, which automatically determines which one to use. |
42 | o.reportFxRate | No | Report FX rate | Exchange rate between trade currency and portfolio's report currency. Define the exchange rate in the direction of the matching currency cross which has been defined in the FA system. Define AUTO to automatically use the transaction day's market data entry. If you are not sure whether you need the account or report FX rate, use FX rate (column #15) instead, which automatically determines which one to use. |
43 | o.coefficient | No | Coefficient | Coefficient calculated from the linked security's price and index base value. Affects trade amount same as unit price. Define AUTO to automatically calculate coefficient on the transaction date from the linked security and index base value. |
44 | o.compCost1 | No | Break-down of cost 1 | Define the break-down of costs as a list of transaction cost data with the syntax type=value. Types are from defined transaction cost type. E.g. BROK=15,ADV=22. If you also defined a Cost (column #17), your Break-down of cost 1 has to sum up to the total cost you defined! If you leave Cost empty, the system calculates it automatically as the sum of your break-down of costs. (Available from FA 3.1.3 onward) |
45 | o.compCost2 | No | Break-down of cost 2 | Define the break-down of costs as a list of transaction cost data with the syntax type=value. Types are from defined transaction cost type. Example: BROK=15,ADV=22. If you also defined a Cost 2 (column #18), your Break-down of cost 2 has to sum up to the total cost you defined! If you leave Cost empty, the system calculates it automatically as the sum of your break-down of costs. |
46 | o.costType1 | No | Transaction cost type 1 | Type of selected transaction cost type. Value is from defined transaction cost type's type code. |
47 | o.costType2 | No | Transaction cost type 2 | Type of selected transaction cost type. Value is from defined transaction cost type's type code. |
48 | o.hidden | No | Hidden | Whether the trade order should be marked as hidden. Define as a number: 1 = Hidden 0 = Not hidden (default) |
49 | o.paymentDate | No | Payment date | yyyy-MM-dd |
50 | o.accrual | No | Accrual | Trade order's accrual, or the the paid/received accrued income which is recorded as part of the price (unit price x amount). Accrual has no effect of the trade amount. (Available from FA 3.7 onward) |
51 | o.executionMethod | No | Execution method | Trade order's execution method. Define as a number: 1 = Not defined (default) 2 = Units 3 = Gross trade amount 4 = Net trade amount Trade order gets the default value 1 "Not defined" if the field is imported as empty or as ”0” (0 is used only for transactions, since transactions don't have an execution method). Otherwise, values other than number from 1 to 4 are not allowed. (Available from FA 3.8 onward) |
52 | o.receiveDate | No | Receive date | yyyy-MM-dd |
53 | o.receiveTime | No | Receive time | hh:mm:ss You can also define the receive time with time zone information with the syntax of hh:mm:ssContinent/City (e.g. 11:12:13Europe/Helsinki, use valid java time zones) - when the trade order is imported, the time is converted into the server's time zone. |
54 | o.overrideFifoTransactionExtId | No | Override FIFO (ext ID) | List the external transaction IDs that represent purchase lots, separated by commas without spaces. Example: 5,12,8. |