Firefly III: pair a CSV configuration with duplicate checks
Updated · 2 min read
A reused Firefly III Data Importer configuration is tied to a file layout and an installation. It is not just a bank name. Changing its column roles or account mapping can also change duplicate detection, so review both before sending the next statement.
For a PDF-only source, LocalExtract exports a local CSV. It does not produce Firefly account IDs, a Data Importer JSON configuration or a validated import. The CSV columns are date,description,amount.
The desktop apps export date, description, and amount as CSV. Open CSV in Excel to save an XLSX workbook. Statement support varies: verify the result against your own PDF.
Bind the configuration to the actual layout
The official configuration reference describes configuration schema version 3. Compare delimiter, header presence, date format, roles, do_mapping, mapping and default_account with this particular file. Column indexes are zero-based: adding a leading column can invalidate an otherwise familiar configuration.
Account IDs and name mappings belong to the target installation. A contributed bank configuration is a starting point, not proof that your export and accounts match. Keep your private configuration private: it can contain account names and other financial identifiers. Do not publish a real configuration as a troubleshooting attachment.
Distinguish three duplicate settings
The duplicate-detection reference separates none, classic and cell modes. ignore_duplicate_lines is an additional source-line check, not another name for every database duplicate check.
Classic detection hashes the mapped/role-assigned data sent for import. Rules, webhooks and edits after import do not recalculate that original hash. Changing mapping or roles can therefore alter the compared representation even for the same bank event.
Cell mode uses the chosen unique_column_index and unique_column_type. Confirm that the selected source column actually contains stable, unique identifiers. A date, an amount or a recurring payee is not automatically unique. Two legitimate payments of the same amount must remain distinct.
Validate before the send stage
The file-import workflow separates conversion/validation from sending data into Firefly III. Inspect the preview’s account, date, sign and mapped identifier before sending. A successful preview is not proof that transactions were written. If a reused configuration skips a form, do not treat the hidden step as a fresh verification.
Our invented file has columns Date, Reference, Amount. Adding a new leading Account column moves Reference from index 1 to 2. The synthetic layout/identity worksheet tests that shift and preserves two equal-value payments with different identifiers. Its checks model field selection only; neither Firefly nor its duplicate algorithm has been executed.
Save the reviewed layout, selected configuration and import result together. If duplicate behavior changes, compare these before trying weaker detection. Use the CSV-overlap guide for source-file overlap; this page addresses Data Importer configuration and detection together. Prepare a PDF locally, then review its fields for the actual destination.
Official Firefly III documentation checked October 16, 2026.
LocalExtract Team
We build LocalExtract, a desktop bank statement converter. Questions or corrections? Contact · Editorial policy