ecu
The expense tracker that actually keeps up with your finances.
Multi-Account
Track multiple accounts with independent currencies. See your global balance across everything, converted in real time.
Multi-Currency
EUR, USD, GBP, JPY, CHF, CAD. Each account in its own currency with live exchange rates and foreign transactions.
Beautiful Charts
Income vs. expenses, spending by category, daily trends, balance forecasts. Seven charts, all fully accessible.
Recurring Transactions
Set it and forget it. Daily, weekly, monthly, or yearly, with smart clamping, pause, and resume.
Budgets
Set monthly limits per category. Visual progress bars show you exactly where you stand before you overspend.
Split Transactions
Break down purchases into line items. Individual names, amounts, and categories for each part of a transaction.
iCloud Sync
Your data lives across all your devices. Core Data with CloudKit keeps everything in sync seamlessly.
CSV & PDF Export
Export your transactions with a custom date range. Share reports in the format that works for you.
The Story Behind ecu
Before ecu existed, I tracked my expenses in an Excel spreadsheet. Then Notion. Both worked, until they didn't. I wanted something on my phone, something that could handle multiple accounts, forecast future transactions, and actually fit the way I think about money. I tried a few apps. Pennies came close, but always fell short on the features I needed.
In 2022, while finishing my Computer Science degree (3 year program), I had a final exam that required building a mobile app with an external database and a web interface. I saw an opportunity: instead of a throwaway school project, I'd build the app I actually wanted. That first version used SwiftUI with Firebase on the backend, paired with a read only Vue.js web interface (Express + Firebase, full auth system). It got me my diploma, and a tool I genuinely used every day.
After graduating, I realized Firebase was more of a constraint than a help for a personal finance app. So I rewrote everything from scratch using Core Data and CloudKit, Apple's native stack. No external servers, no web layer, just a clean iOS app that syncs seamlessly through iCloud. In 2025, I graduated from ESIEE Paris with an engineering degree in Computer Science and Applications, and ecu had grown alongside me the entire time.
This app has no ambition to top the charts. It's a fil rouge, a personal thread that runs through my career. I build it for myself, on my own time, because I use it every single day. If other people find it useful too, that genuinely makes me happy. It means something I built out of personal need resonates with someone else's.
It's been years since that first commit, and I'm proud of where ecu is today. I'll keep improving it for years to come, not because I have to, but because I want to.
What's New
Recurring Versioning
Editing a recurring no longer rewrites your whole history. Every field carries its own timeline with effective-from dates, plus a step chart for amount evolution and a proper subscription cancellation flow.
- Per-field timeline. Every field on a recurring (amount, payment, merchant, categories, tags, name, notes) keeps its own ordered history of values with effective-from dates. Bumping your salary? Past transactions keep the old amount, future ones follow the new
- Effective-from picker. Every edit reveals a date picker right under the field. Defaults to today for amount and payment (forward-only), to the template's start date for metadata fields (categories, tags, merchant, name, notes), which cascade across history by default. An "Advanced versioning" disclosure groups the less-common fields
- Amount-over-time chart. A compact step-line chart in the recurring detail view shows how its amount evolved over time. Perfect for tracking subscription price creep or salary raises across years
- Subscription cancellation flow. A dedicated "Cancel subscription" button opens a sheet with a date picker (past, present, or future). If transactions exist after the chosen date, a confirmation dialog offers three options: delete them, keep them (shown in red in history), or abort the whole operation
- Post-cancellation marking. Generated transactions dated after the cancellation date appear in red on the recurring's detail view and get a "Post-cancellation" chip in the transaction details. No way to confuse them with active ones
Insights & Receipts
A new Insights view to drill into any dimension, receipts attached to your transactions, and a gallery to find them all.
- Insights view. Pick a dimension (category, payment, tag, merchant), pick an item, pick a period, and see everything spent or earned. Totals, adaptive time-series chart, top 5, and a compare-with-previous-period toggle
- Receipts attached to transactions. Take photos or import images and PDFs (Amazon, Fnac, anything). Multiple receipts per transaction, full-screen viewer with zoom, automatic iCloud sync
- Account-wide gallery. A new toolbar entry opens the grid of every attachment in the account, sorted by date. Tap a thumbnail to jump to its parent transaction
- Paperclip indicator. A paperclip badge appears on the transaction card whenever at least one receipt is attached. Visible at a glance
- Long-press quick receipt. Long-press a transaction then "Add Receipt" opens the camera straight away. The captured photo is saved as a receipt on that transaction
The Big Recurring Update
A deep overhaul of recurring transactions, customizable forecast balances, auto-scroll to today, and tags.
- Total-amount mode. Enter "$400 across 4 payments" instead of "$100 four times". A new picker on the recurring form
- Already-paid offset. Tell ecu how many installments were paid externally before tracking started. ecu only generates the rest
- Recurring spending tracker. See exactly what each recurrence has cost you, with a progress bar on finite plans
- Customizable forecast balance. Show end-of-week, end-of-month, in-7-days or in-30-days balances on account cards
- Auto-scroll to today. No more scrolling past future transactions every time you open an account. ecu jumps straight to today
- Tags. Lightweight multi-select labels orthogonal to categories: perfect for cross-cutting themes like "vacation 2026"
- Merchants. A fourth dimension alongside categories, payments and tags: one merchant per transaction (Amazon, Walmart, …) with its own filter
- Per-account feature toggles. Enable or disable categories, payments, tags and merchants independently for each account. Existing values are preserved
- Filter revamp. 3-position bank picker, plus "Uncategorized" / "Not tagged" / "No payment" / "No merchant" merged into their respective pickers
- Skip an occurrence. Long-press a future generated transaction to remove just that one without affecting the rest of the series
- Link to template. Tap straight from any generated recurring transaction to its parent template
Merge, Ignore & Stay Notified
Clean up your categories with merge, hide transfers from stats, and never miss a beat with fully customizable notifications.
- Merge categories & payments. Reassign all transactions to another item and delete the duplicate
- Ignore in Statistics. Flag categories or payments to exclude from charts (perfect for inter-account transfers)
- Notifications overhaul. Daily reminders, weekly budget summaries, monthly recaps, and mid-month budget alerts
- Expense filter. Show only income, expenses, or all transactions
- 1-month stats period. New 1M option in statistics alongside 3M, 6M, 1Y, All
- Granular notification settings. Each notification type individually configurable with time and day pickers
- Emoji picker fix. All emojis now accepted, including symbols like 🅿️ and ℹ️
The Power User Update
Everything you need to take full control of your finances. Search, export, budgets, widgets, and more.
- Full-text search. Find any transaction instantly across names, notes, amounts, and categories
- CSV & PDF export. Generate reports with custom date ranges
- Monthly budgets. Set spending limits with visual progress tracking and alerts
- Home screen widgets. Glance at your balance and forecast without opening the app
- Biometric lock. Protect your data with Face ID or Touch ID
- Quick actions. Long-press the app icon to jump straight to adding a transaction
- Haptic feedback. Subtle, satisfying responses to every interaction
- Manual iCloud sync. One-tap sync button in Settings
- Notifications. Budget alerts and recurring transaction reminders
Quality & Polish
A stronger foundation with split transactions, smarter navigation, and fully accessible charts.
- Split transactions. Break purchases into detailed line items
- Duplicate transactions. One tap to copy any transaction
- Accessible charts. Full VoiceOver support on all 7 chart types
- Persistent filters. Your view preferences saved across sessions
- NavigationStack. Modernized navigation across the entire app
Autopilot for Your Bills
Recurring transactions that handle themselves. Set the rules, and ecu does the rest.
- Recurring transactions. Daily, weekly, monthly, or yearly with flexible rules
- Pause & resume. Put subscriptions on hold without deleting them
- Smart generation. Transactions auto-created on app launch
- Redesigned UI. Fresh transaction details, cards, and account views
See the Full Picture
Per-account and global statistics, multi-category transactions, and smarter filtering.
- Per-account stats. Dedicated charts for each account
- Global overview. Balance evolution, income trends, spending breakdown
- Multi-category. Tag transactions with multiple categories
- Settings page. Default currency picker and exchange rate management
Multi-Currency, From the Ground Up
A complete rewrite of the financial engine. Every account gets its own currency, with live exchange rates tying it all together.
- Per-account currencies. EUR, USD, GBP, JPY, CHF, CAD
- Live exchange rates. Global balance auto-converted in real time
- Linked transactions. Seamless transfers between accounts
- Precision engine. All amounts stored as integers, zero rounding errors