# Bank statement to Firefly III

Firefly III imports files through its Data Importer, which reads CSV and asks what each column means. Upload your statement, download the CSV, and load it with the configuration file below: the date, description and amount are already assigned, so the import goes straight to choosing the account.

## What you get for Firefly III

- A CSV with Date, Description, Amount and Balance columns and one header row
- Dates as YYYY-MM-DD, which the configuration reads as Y-m-d
- One signed amount: money out negative, money in positive — withdrawals and deposits sort themselves
- A Data Importer configuration (version 3) that maps the four columns, so there is nothing to assign by hand

## The Data Importer configuration

[Download the configuration file](https://statementconverterai.com/firefly-iii-import-config.json) and upload it next to the CSV on the Data Importer’s first screen. It sets the column roles and the date format; the asset account, rules and tags stay yours to choose in the importer’s form.

| CSV column | Data Importer role | Notes |
|---|---|---|
| Date | `date_transaction` | Read with the date format `Y-m-d`. |
| Description | `description` | The statement’s text for the transaction. |
| Amount | `amount` | Signed. The currency code in the header is not read: transactions take the currency of the asset account. |
| Balance | `_ignore` | Firefly III works out balances itself. |

```
{
  "version": 3,
  "source": "statementconverterai.com",
  "created_at": "2026-10-29T00:00:00+00:00",
  "date": "Y-m-d",
  "default_account": 0,
  "delimiter": "comma",
  "headers": true,
  "rules": true,
  "webhooks": true,
  "skip_form": false,
  "add_import_tag": true,
  "roles": [
    "date_transaction",
    "description",
    "amount",
    "_ignore"
  ],
  "do_mapping": [
    false,
    false,
    false,
    false
  ],
  "mapping": {},
  "duplicate_detection_method": "classic",
  "ignore_duplicate_lines": false,
  "ignore_duplicate_transactions": true,
  "unique_column_index": 0,
  "unique_column_type": "internal_reference",
  "flow": "file",
  "content_type": "csv",
  "conversion": false,
  "map_all_data": false
}
```

The configuration file, as downloaded.

Duplicate checking is Firefly III’s classic method: a transaction it already holds is skipped. Two identical lines inside one file are both kept, because two coffees on the same day are two transactions.

## How to convert

1. **Upload your statement** — Drop in the PDF you downloaded from your bank, or a scan or photo of a paper statement.
2. **Download the CSV and the configuration** — CSV is preselected on this page; the configuration file is linked below the output list.
3. **Run the Data Importer** — Choose file import, upload the CSV and the configuration, pick the asset account and start the import.

## Frequently asked questions

### How do I import a bank statement into Firefly III?

Convert the PDF here to CSV, then open the Firefly III Data Importer, choose to import a file, and upload the CSV together with the configuration file from this page. Pick the asset account the transactions belong to and run the import.

### Can Firefly III import a PDF statement?

No. The Data Importer reads CSV and CAMT.053 files, or pulls transactions from a bank connection. A PDF has to be converted first, which is what this page does.

### Do I need the configuration file?

No, but it saves the mapping step: without it the importer asks you to assign a role to each column and pick the date format. The file does exactly that for this CSV and leaves the rest of the form to you.

### Will a second import duplicate my transactions?

The configuration turns on Firefly III’s duplicate check, so a transaction already in Firefly III is skipped when you import an overlapping statement.

### Does it work for credit card statements?

Yes. Purchases come out negative and payments positive, the same convention as a bank account, so the amounts land on the right side of a credit card liability or asset account.

### Is my statement kept after conversion?

No. The file is deleted when the conversion finishes; only the converted copy stays at your private link.

## Related

- [Bank statement to CSV](https://statementconverterai.com/bank-statement-to-csv)
- [Bank statement to Actual Budget](https://statementconverterai.com/bank-statement-to-actual)
- [Bank statement to YNAB](https://statementconverterai.com/bank-statement-to-ynab)
- [PDF to CSV](https://statementconverterai.com/pdf-to-csv)
- [All bank statement converters](https://statementconverterai.com/)
