firefly-iii/csv-importer
A command-line importer for bringing CSV bank statements into Firefly III. It maps CSV columns to transaction fields, supports multiple formats, validates and converts data, and can run interactively or from configuration files.
Consider it when:
composer require.Look elsewhere when:
league/csv, Laravel Excel, or a similar library instead.For executives: This is a niche, single-purpose tool from the Firefly III personal-finance ecosystem — a self-hosted importer that moves CSV bank statements into Firefly III. It is not a broadly adopted open-source dependency (no meaningful star count or downstream dependents), so it should be treated as reference material and a possible self-hosted component, not as a strategic platform investment. The value is in what it teaches us about the import workflow and in the privacy-first, self-hosted positioning it represents. Low cost to evaluate, low risk if adopted narrowly, and not something the business should depend on commercially.
For engineering: Understand what this is before planning around it: it is a Laravel application, not a Composer library designed for reuse. It is tightly coupled to Firefly III's accounts, transactions, and rules model. If we adopt it, we deploy and operate it ourselves and own the maintenance — there is no meaningful community to fall back on. If we want the capability rather than the tool, the cheaper path is usually a generic CSV library (league/csv, Laravel Excel) plus our own mapping and dedupe layer. Recommended next step is a short spike: stand it up against a sample bank export, measure how much of the mapping/rule engine we would reuse, and decide between adapting it versus building a thinner importer in-house.
How can I help you explore Laravel packages today?