How to import files
A short how-to guide on how to import files using the Data Importer. This guide assumes you have the Data Importer working and running.
The data importer can import the following file types:
- CSV files
- CAMT.053 files
Other file types are not yet supported, but I am working on them.
Note
PDF files will never be supported. Sorry about that.
Follow these steps to import your file. The flow is almost the same for each file type, but exceptions are noted clearly.
Download your files
Usually, banks call this "downloading" or "exporting" of your transactions. When possible select a range of transactions (i.e. two weeks) and select your bank accounts.
Do some research
Specifically for CSV files, make sure you know the following things about your CSV file:
- Whether it has headers
- What the delimiter is
- What each column contains
You'll have to compare the column contents with this reference of all "roles" that a column can have. Pretty basic standards are the date of the transaction or the amount, but there are a few special options.
This is important, because in a later step during the import you must tell the importer the role of each column in your CSV file.
This step does not apply to other file types.
Upload and get to the configuration screen
When you upload a file and get to the configuration screen, please validate the configuration with the properties of your file (see above).
Configuration screen
Most options are explained on the configuration page itself, but the most important options are below:
Headers
This step only applies to CSV files.
When you import a CSV file, this checkbox allows you to indicate if your CSV file has headers on the first line of the file instead of data.

Convert to UTF-8
Some files are not delivered as UTF-8, which is a common text encoding format. You can ask the data importer to convert the files. You may end up with garbled text. This may happen especially when you have lines with special characters in them.
CSV delimiter
This step only applies to CSV files.
When you import a CSV file, you must select the field separator of our CSV file. This is almost always a comma.

Date format
This step only applies to CSV files.
This option sets the date format of the date entries in the CSV file. If your file contains internationalized dates, you can prefix the date format with your country code, like it: or nl:. Then, enter your date format.
Read more about the format in the PHP documentation.
Here are some examples:
Ymd. Will convert20210318F/j/Y. Will convertJanuary/17/2021nl:d F Y. Will convert Dutch date5 mei 2021

Set other import options
- Default import account: Select the asset account you want to link transactions to, if your import doesn't have enough meta-data to determine this. This is some time useful when files just list the transactions and the destination, nothing more.
- Rules: Select this if you want Firefly III to apply your rules to the import. It is useful to run your rules after the import, so the transactions are cleaned up.
- Import tag: When you check this the data importer will add a tag to each imported transaction denoting the import; this groups your import under a tag.
- Date range: The date options are explained on the page itself, and other options should be fairly clear. There's also a guide on how to map data, if you want to link your CSV data to Firefly III data more easily.
Rules
If you have rules that remove all tags from a transaction, they will not work when you use this option. The tag will always be added. This is not because the data importer uses some magic trick. The tag is added after the transaction is created.
Custom import tag
You can set a custom import tag if you do not like the default one. To learn more about the possibilities, read the FAQ on custom import tags.
Duplicate detection
Also think about the duplicate detection method you wish to use. If you're not sure which one you want to use, please check out the reference guide on duplicate detection, and make sure you read how to handle (missed) duplicates.
Select roles
Earlier you validated what the columns your CSV file contain. Select the correct roles for your data using the role reference.
Mapping data
There is a full how to on mapping data that you should really check out.
Import the data
The import process consists of two steps. First a conversion and data validation. Then, the data will actually be sent to Firefly III.
Press "Start Job" to start the conversion and validation process. If this is successful, you can press "Start Job" after a few moments to import the data.
Each step can run into plenty of errors. Most of them are documented in this FAQ, but I'm pretty sure I missed a few. Please refer to the support page if you need help.