Automation overview
Firefly III offers several automation mechanisms:Rules
Automatically modify transactions based on triggers
Recurring transactions
Automatically create repeated transactions
Webhooks
Trigger external services on events
Cron jobs
Schedule automated tasks
Rule-based automation
Rules automatically process transactions based on triggers and actions. Rules are powerful for:- Auto-categorizing transactions
- Setting budgets automatically
- Adding tags based on patterns
- Modifying descriptions
- Converting transaction types
Rule execution
Rules can execute:- On import
- On manual entry
- Manually
Automatically applied when importing transactions from external sources
For detailed information about creating and managing rules, see Rules documentation
Recurring transaction automation
Recurring transactions automate the creation of repeating transactions like:- Salary deposits
- Rent payments
- Subscription fees
- Bill payments
Recurrence patterns
Supported recurrence patterns include:- Daily: Every N days
- Weekly: Every N weeks on specific days
- Monthly: Every N months on specific dates
- Yearly: Every N years on specific dates
- nth weekday: E.g., “first Monday of each month”
Execution timing
Recurring transactions are processed:- Via cron: Automatically when cron job runs (recommended)
- On demand: Manually trigger via web interface
- Via API: Programmatically trigger creation
Recurring transactions are created slightly ahead of their due date to ensure they appear in your records on time
Learn more in Recurring Transactions documentation
Cron jobs
Firefly III uses scheduled tasks (cron jobs) to automate background processes.Required cron job
For full automation, set up this cron job:Automated tasks
The cron job handles:Recurring transactions
Recurring transactions
Creates new transactions from active recurrences based on their schedule
Bill matching
Bill matching
Matches transactions to bills automatically based on amount and description patterns
Webhook delivery
Webhook delivery
Retries failed webhook deliveries
Exchange rate updates
Exchange rate updates
Fetches current exchange rates if configured
Telemetry collection
Telemetry collection
Collects anonymous usage statistics if enabled
Cache cleanup
Cache cleanup
Clears expired cache entries
Manual execution
You can manually run scheduled tasks:Import automation
While Firefly III itself doesn’t import from banks automatically, you can use external tools:Data Importer
The official Firefly III Data Importer can:- Import from bank CSV files
- Connect to bank APIs (via Salt Edge or Nordigen)
- Import from other Firefly III instances
- Schedule automatic imports
Third-party tools
Community tools for automation:- plaid2ff3: Import from Plaid
- ynab-to-firefly: Migrate from YNAB
- nordigen-firefly: Direct Nordigen integration
- saltedge-firefly: Salt Edge integration
See the data import documentation for more details
API automation
You can build custom automation using the Firefly III API:Common automation patterns
- Transaction creation
- Budget monitoring
- Report generation
See the API documentation for complete endpoint reference
Best practices
Test automation first
Test automation first
Always test automation rules and scripts on a small dataset before applying to all transactions. Use rule testing features and backup your database.
Monitor automated processes
Monitor automated processes
Regularly check:
- Rule execution logs
- Recurring transaction creation
- Webhook delivery status
- Cron job execution logs
Use rule groups strategically
Use rule groups strategically
Organize rules into groups by purpose:
- Import rules (run first)
- Categorization rules
- Cleanup rules (run last)
Keep rules simple
Keep rules simple
Create multiple simple rules rather than few complex ones. This makes debugging easier and improves performance.
Document your automation
Document your automation
Use descriptive rule names and add notes about what each automation does and why.
Review periodically
Review periodically
Quarterly review of:
- Rule effectiveness
- Recurring transaction accuracy
- Automation performance
- Unused or redundant rules
Advanced automation scenarios
Multi-stage processing
Combine multiple automation features:Conditional processing
Use rule conditions for smart automation:- Apply different categories based on amount ranges
- Set budgets only for specific account types
- Add tags based on time of day or day of week
- Convert transaction types based on source/destination
Integration with external tools
Zapier/n8n
Connect Firefly III to 1000+ services using workflow automation platforms
Home Assistant
Integrate with smart home for location-based expense tracking
IFTTT
Create simple if-this-then-that automations
Custom scripts
Build Python/Node.js scripts using the API
Troubleshooting
Cron not running
Cron not running
Problem: Scheduled tasks aren’t executingSolutions:
- Check cron is installed and running:
systemctl status cron - Verify crontab entry:
crontab -l - Check logs:
grep CRON /var/log/syslog - Ensure PHP CLI is available
- Check file permissions on artisan file
Rules not applying
Rules not applying
Problem: Rules aren’t processing transactionsSolutions:
- Verify rule is active
- Check “Apply rules” is enabled in preferences
- Test rule with rule tester
- Review rule execution order
- Check for conflicting rules
Recurring transactions not created
Recurring transactions not created
Problem: Recurring transactions aren’t being generatedSolutions:
- Check recurrence is active
- Verify next expected run date
- Ensure cron job is running
- Check for errors in logs
- Manually trigger to test:
php artisan firefly-iii:create-recurring-transactions
Related documentation
Rules
Detailed rule configuration
Recurring transactions
Set up repeating transactions
Webhooks
External integrations
API
Build custom automation