Our advanced custom CSV template is the recommended way to import transactions where a data source isn't currently supported in Syla. You can also use this template to add additional transactions to an existing data source.
Tip: If your data source isn't supported in Syla, then we recommend reaching out to our support team first. Our team can likely add direct support for your data source.
You can download a copy of the template here
Here's an example of what the template looks like
Creating a custom data source
If your exchange or platform isn't supported in Syla, then you can add it as a custom data source. To create a custom data source.
Go to the Data Sources page.
Click Add Data Source.
Type in the name of your exchange or platform.
If the exchange doesn't exist, then you'll have the option to select Manual Import.
You'll then be presented with the option to download and use the Custom CSV template, or you can create an empty wallet.
Adding transactions to an existing data source
The custom CSV template can be used on any Data Source in Syla. That means you can use it to import additional transactions to an existing Data Source that you've already done, whether it's a Sync connection, a File import or a Custom import.
Understanding the advanced custom CSV template
You can understand each column in the CSV file by reading the table below.
Column | Description |
date | This is the date that the transaction occurred. It can be provided in any format. For example, common Australian date formats such as 20/01/2020 10:00 PM are supported.
We do recommend using ISO8601 where possible as it avoids ambiguity in the date format and timezone. The recommended format is Here's an example |
transaction | This is where you can specify the type of transaction, such as trade, deposit, staking, etc. Depending on the type of transaction, you'll need to specify the received and/or sent quantity and asset.
The full list of transaction types is later in this article. |
received_quantity | These two fields specify the asset and the amount that you received in the transaction. |
sent_quantity | These two fields specify the asset and the amount that you sent in the transaction. |
fee_quantity | These fields are always optional, and can be used to specify the asset and the amount that you paid in fees due to the transaction. |
market_value | These fields are always optional, and can be used to manually specify a Market Value.
The market_value_asset can be any asset. For example, you can specify the market value in terms of AUD, USD, BTC, ETH, etc. Syla will automatically convert this into AUD during import.
If a market_value is not provided, then Syla will automatically apply one for you during import. |
description | Use this to add a description to your transaction. This can be helpful for identifying and understanding transactions after they are imported. |
tx_hash | An optional transaction hash which is used for automatically matching Deposit and Withdrawal transactions in Syla. |
Transaction Types
The following transaction types can be entered into the custom CSV template.
Conversion types
These transaction types all require that both the received_quantity and received_asset, along with the sent_quantity and sent_asset are specified.
type | description |
trade | An exchange of one asset for another. The fee_quantity and fee_asset are optional. If the fee_quantity is set to a positive amount, then it will import as a Brokerage Fee. If it is set to a negative amount, then it will import as a Trade Rebate. |
rebase | A re-denomination or ticker change of an asset which is not taxable. fee_quantity and fee_asset are not supported on this transaction type. |
Receive types
These transaction types all require that a received_quantity and received_asset be specified. The fee_quantity and fee_asset are optional.
type | description |
capital | A initial contribution of an asset into the investment activity. Commonly used for the initial deposits of AUD from your bank account. |
deposit | A deposit of an asset that came from another data source. Commonly used for deposits of crypto. |
reward | A reward received. |
distribution | Distribution received from a project or exchange. |
airdrop | Airdrop of a token. |
interest | Interest earned. |
lending_interest | Interest earned due to lending out an asset. |
promotion | Signup bonus or other promotion. |
commission | Affiliate commission payment received. |
mining | Reward from a crypto mining activity. |
staking | Reward for staking or validating. |
cashback | Cashback amount received from a debit card. |
dust | Small amount of crypto received, typically due to on-chain spam. |
fee_refund | A fee that was previously paid has been refunded. |
chainsplit | Acquisition of a new asset due to a chainsplit. |
payment | Payment received due to sale of goods or services. |
payment_reversal | A payment you made to someone has been reversed. |
gift | You received a gift from another person or entity. |
gambling | Profit received from a gambling activity. |
trade_rebate | Payment received for executing a maker order on an exchange. |
derivatives | Profit from a derivatives contract. |
futures | Profit from a futures contract |
futures_funding_rate | Profit due to the funding rate that exists on perpetual futures contracts. |
borrow | You borrowed an asset from another person or entity. |
lend_repaid | A loan you gave to someone else has been repaid. |
acquisition | An isolated purchase (buy) of a CGT asset. The cost base of the CGT asset will be equal to the Market Value at the time of the transaction. |
acquisition_at_market_value | Acquisition of a CGT asset. The cost base of the CGT asset will be equal to the Market Value at the time of the transaction. |
acquisition_at_zero_cost | Acquisition of a CGT asset. The cost base of the CGT asset will be set to zero. |
ignore | This will ignore the row of data from the import. |
transfer | An internal Transfer In that is not taxable. |
Send types
These transaction types all require that a sent_quantity and sent_asset be specified. The fee_quantity and fee_asset are optional.
type | description |
capital | A withdrawal of an asset out of the investment activity. Commonly this is used for the withdrawals of AUD to your bank account. |
withdrawal | A withdrawal of an asset that went to another data source. Commonly used for withdrawals of crypto. |
unrecoverable | The asset is gone due to theft, scam or is lost and can no longer be recovered. |
payment | You have made a payment for goods or services. |
payment_reverted | A payment you received from someone else has been reverted. |
gift | You gifted an asset to another person or entity. |
gambling | Loss incurred from a gambling activity. |
other_loss | Any loss from an income producing activity. |
derivatives | Loss from a derivatives contract. |
futures | Loss from a futures contract. |
futures_funding_rate | Loss due to the funding rate that exists on perpetual futures contracts. |
slashing_penalty | Slashing penalty due to staking or validating incorrectly. |
lend | You lent an asset to another person or entity. |
borrow_repaid | You repaid a loan that you took from another person or entity. |
borrowing_interest_paid | You paid interest on a loan. |
disposal | An isolated sale (sell) of a CGT asset. The proceeds from the sale of the CGT asset will be equal to the Market Value at the time of the transaction. |
disposal_at_market_value | Disposal of a CGT asset. The proceeds from the sale of the CGT asset will be equal to the Market Value at the time of the transaction. |
disposal_at_zero_value | Disposal of a CGT asset. The proceeds from the sale of the CGT asset will be set to zero. |
ignore | This will ignore the row of data from the import. |
transfer | An internal Transfer In that is not taxable. |
Fee types
These transaction types all require that a sent_quantity and sent_asset be specified. You can't specify a fee_quantity and fee_asset on these transactions.
Fee types are all handled the same way but can be used to give a clearer breakdown of where fees were incurred.
type | description |
fee | Any other fee. |
withdrawal_fee | Fee charged on a withdrawal. |
brokerage_fee | Fee charged on a trade. |
service_fee | Miscellaneous service fee such as an account fee. |
payment_fee | Fee charge on a payment. |
network_fee | On-chain network fee. |
deposit_fee | Fee charged on a deposit. |
borrow_fee | Fee charged on an amount you borrowed from someone else. |
lend_fee | Fee charged on am amount you lent to someone else. |
derivatives_fee | Fee charged on derivatives trading. |
futures_fee | Fee charged on futures trading. |
liquidation_fee | Fee charged on a leveraged position being liquidated. |
statement_fee | Fee charged to produce an account or tax statement. |
Troubleshooting imports
The custom CSV template requires manually preparing the CSV file, so it is common that there can be import errors. If an import does not work, you will get an error message that will identify the first row with an error and the reason why.
If you are still having issues, please request help from our support and we'll be able to assist you.