Importing Transactions via CSV Files in Portfolyo

Creating your portfolio manually can be time-consuming, especially when you are just starting out. To make this easier, Portfolyo lets you import transactions directly from your broker or bank using CSV files. This guide will walk you through the steps and explain why using CSV files is beneficial.

  • What is a CSV File?

    A CSV (Comma-Separated Values) file is a simple file format used to store tabular data, such as a spreadsheet or database. Each line in a CSV file represents a row in the table, and each value is separated by a semicolon, tab or comma

  • Portfolyo Requirements for CSV Files

    Encoding Must be in Latin-1 (ISO-8859-1), UTF-8, or UTF-16 encoding.

    Column Headers The first row must contain column headers.

    Delimiters Columns can be separated by semicolons, tabs, or commas (preferably semicolons or tabs to avoid confusion with decimal signs).

  • Be aware that

    Amounts Must be in same currency as the porfolio and include trading fees.


Steps to Import Transactions

  • Download CSV Data

    First, log in to your stockbroker's website and find the option to export your transaction data.

    The image to the right is an example, that shows how this looks on Nordnet (a popular Scandinavian trading platform).


  • Import file into Portfolyo

    It may be helpful to run the Portfolyo app in your browser, making it easier to upload the CSV file. Portfolyo WebApp

    1. Open the Portfolyo app and select Import Transactions (CSV) from the menu.
    2. Select the portfolio you wish to import into. Must be in the same currency as the amounts in the file.
    3. Load the CSV file you downloaded.

    The app will now show information about the file, including the number of rows. Ensure the number of rows matches the number of transactions you exported. If not, you might need to change the encoding according to the specifications above.


  • Map Columns

    This step involves telling Portfolyo how the columns in your CSV file match the fields in a Portfolyo transaction.

    On the left side, you will see the column headers from your file, and on the right side, the corresponding Portfolyo transaction properties.

    It's important to understand the meaning of each column to map them accurately, ensuring correct data import. Portfolyo will attempt to match the transaction types automatically. It's not necessary to map all columns.

    * Find more information about transaction attributes below.


  • Map Transaction Types

    Next, you need to map the transaction types from your file to the transaction types used in Portfolyo.

    You will see the transaction types from your file on the left and the Portfolyo transaction types on the right.

    Portfolyo will attempt to match the transaction types automatically.


  • Verify transactions and import

    The loaded transactions will be displayed in a table. Any errors will be highlighted for manual verification.

    If there are errors in the transactions, you can fix them by editing the csv file in a text-editor on your computer and reloading it, or you can choose to import only the successful transactions, ignoring the erroneous ones.


More about Transaction Attributes

As mentioned above, during the transaction import process, you will need to map the columns from your CSV file to Portfolyos transaction attributes.

Below is detailed information about each attribute to assist you in the mapping process. Please note that not all fields in your CSV file need to be mapped—some are optional, and some are required only for specific types of transactions.

  • Date (required) The date of the transaction.
  • Type (required) This is the type of transaction, such as deposit, withdrawal, buy, sell, dividend, etc.
  • Amount (required) The total amount of the transaction including fees. Amounts must be in the same currency as the portfolio!
  • ISIN (optional unless it’s a buy or sell transaction) Used to identify the stock together with currency.
  • Currency (optional) A three-letter currency code (e.g. EUR) used to identify the correct stock if it's traded on several markets in different currencies. Notice that this can't be used to import amounts in a different currency, than the portfolio base currency.
  • Quantity (optional unless it’s a buy or sell transaction) The number of units traded.
  • Exchange rate (optional unless the stock is traded in a different currency than the portfolio) The exchange rate used when trading an asset in another currency than the portfolio currency.
  • Note (optional) Any additional notes about the transaction.
  • Fee (optional) Transaction fees in the same currency as the portfolio.

If you want to build your own csv file, then use the above column names for automatic mapping.

Download this sample file for an example.


FAQ - Frequently Asked Questions

If the app encounters rows it can't parse or other errors, you can chose to manually fix the issues in the CSV file using a text editor. Alternatively, you can ignore the errors and import all the succesful rows.

To remove transactions, navigate to the portfolio and press 'Manage Account'. Locate the transaction and edit or delete it. Note that imported transactions are colored greenish for identification.

No, you need to convert Excel files to CSV format before importing them into Portfolyo. Most spreadsheet programs, including Microsoft Excel and Google Sheets, offer an option to save or export files as CSV.

Portfolyo supports semicolons, tabs and comma as delimiters. Ensure your CSV file uses one of these delimiters for proper parsing.

Yes, once you import a file, the mappings are saved for future imports. If new files follow the same format, the columns and transaction types will be automatically mapped, saving you time.

The app will attempt to automatically map columns and transaction types based on previous mappings and common naming conventions. If auto-mapping is incorrect, you can manually adjust the mappings during the import process.

The first row of your CSV file must contain column headers. This is essential for mapping the data correctly to Portfolyo’s transaction attributes. If your file lacks headers, you can add them using a spreadsheet program before importing.

No, each import session is tied to a single portfolio. If you need to import transactions for multiple portfolios, you will need to do so in separate sessions for each portfolio.

Yes, it is possible to create your own CSV file. If you use the predefined Portfolyo names, the mapping will happen automatically.

These are the column headers you can use in the first row:

Date, Type, Amount, ISIN, Quantity, Currency, Exchange Rate, Note, Fee

These are the transaction types you can use in the transaction column:

Buy, Contract Note, Deposit, Deposit Cost, Dividend, FX Gain, Interest, Other, Sell, Tax, Withdrawal

You can download a sample CSV file here: Download