← Back to Expense LensRSS

Changelog

New updates and improvements to Expense Lens.

v3.19.1September 7, 2026

Reports Show the Whole Drive 🗺️

Expense PDFs get a mileage page with full addresses, the mileage report sticks to the selected project, and reference currency amounts are real numbers in every export.

  • NEWExpense PDFs on the web and iPhone add a Mileage page listing each drive in the period with its full from and to addresses
  • FIXEDThe web mileage report now covers the selected project only, with an All projects checkbox to widen it
  • FIXEDThe mileage report PDF shows addresses and notes in full instead of cutting them short
  • FIXEDReference currency amounts appear as a proper number column in Excel and CSV, and PDF headers no longer show a broken symbol
  • FIXEDChoosing None for a project's reference currency now sticks
  • FIXEDiPhone PDF exports leave category icons out when Show category icons is off
v3.19.0September 5, 2026

Android Drives Catch Up 🚗

On Android, Start Drive now sits on the launcher long-press menu.

  • NEWLong-press the Expense Lens icon on Android and pick Start Drive to open Drive with a ride already starting
v3.18.2September 4, 2026

Find Other 🔎

Expenses with no matching category show as Other. You can now search or filter for that label and recategorize them.

  • FIXEDSearch for Other now finds expenses with no matching category, on the web, iPhone, and Android. The web category filter also lists Other
v3.18.1September 4, 2026

Category Names, No Icons 🗂️

Turning off category icons now hides them in web dropdowns too, not only in lists.

  • FIXEDOn the web, turning off category icons hides them in the Expenses filter, add/edit pickers, bulk recategorize, import mapping, and scheduled-report category lists. iPhone already did this in lists
v3.18.0September 3, 2026

Jump Projects ⇄

On the web, ⌘1 through ⌘9 (Ctrl+1-9 on Windows) open that project. Same order as the header list.

  • NEWOn the web, press ⌘1 through ⌘9 (Ctrl+1-9 on Windows) to jump to that project. Hold ⌘ and the numbers show next to each name, same stamp as the Drive shortcuts
v3.17.0September 3, 2026

Scan and Walk Away 🧾

On the web, Save for Later files a still-reading receipt straight into Expenses, marked unreviewed. Suggested categories now come from the project you have open.

  • NEWWhile a receipt is still reading on the web, Save for Later closes the processing sheet. Extraction keeps going and the expense lands in Expenses, unreviewed. Swiss QR bills still wait for you to review
  • FIXEDA scanned receipt on the web now picks a category from the project you have open. If none fit, the category stays empty instead of showing a name that is not in the project and then saving as Other
v3.16.0September 2, 2026

Drives That Remember 📍

Trips now note the street you started and stopped on. Save a drive once and the next drive on that route fills in the same description.

  • IMPROVEDA tracked drive records the street and postcode of both ends, not just the city. The country is added only when you drove outside your home country
  • NEWRepeat a route you saved after this update and its description is already filled in, whichever direction you went. Change it and your wording is what saves
  • FIXEDPicking an address from the suggestions keeps the street you picked instead of shortening it to the city
v3.15.0September 1, 2026

One Plan, Faster Start ✨

The first buy shows one plan, not three. Signing up catches a mistyped email. And on iPhone, Scan and Start Drive live on the Home Screen icon.

  • NEWHit the scan limit and the first buy is one plan, monthly or yearly. Need fewer scans? You can pick the smaller plan instead. Already subscribed? You only see the next step up. On the web and on iPhone
  • NEWSigning up now shows the email in large type so you can check the spelling, flags addresses we cannot mail, and suggests a fix for common typos. Left setup unfinished? Sign in and you pick up where you stopped
  • IMPROVEDLogin and signup let you show the password as you type. On iPhone and Android, signup also asks you to type it twice
  • NEWLong-press the Expense Lens icon on iPhone for Scan or Start Drive. Face ID still meets you first
  • NEWWhile a receipt is still reading on iPhone, Snooze for Later parks it in Pending instead of throwing the photo away. The rest of the batch keeps going
  • IMPROVEDOn iPhone, buy and manage your plan in the app. Settings no longer sends you to the website
  • IMPROVEDThe Android menu now matches iPhone: Pending Receipts is in the list, Mileage stays on the Drive tile, and the rows have icons. Plan prices show in the same currency as the project you have open
  • IMPROVEDPending Receipts is in the web menu too, with a badge for receipts ready to confirm. A receipt shared from Android is labelled as a share on iPhone, not as email
  • IMPROVEDPassword-reset emails now follow the language on your account
  • FIXEDOn the web, tapping Mileage on Expenses now shows only trips
v3.14.2August 31, 2026

The Scans You Paid For 📷

Yearly plans now refresh your scan allowance every month, the same way monthly plans always did.

  • FIXEDIf you pay yearly, your scan allowance now comes back every month on the day you subscribed, not once a year. Trial scans still never reset
v3.14.1August 31, 2026

A Steadier Inbox ✉️

Renaming a project no longer changes the address you forward receipts to, and that address cannot be claimed by another account.

  • IMPROVEDRenaming a project keeps its receipt-forwarding address, so rules you already set up keep working
  • SECURITYA project receipt address now belongs to that project alone — another account cannot intercept mail sent to it
v3.14.0August 20, 2026

Subscribe on Android 💳

Pick a plan and pay from the Android app. No trip to the website to buy, confirm, or manage.

  • NEWOn Android you can now subscribe from the app: pick monthly or yearly, choose a plan, and pay without opening the website. When you are done, you are back in the app
  • NEWAlready subscribed on Android? Manage, switch, or cancel from Subscription, instead of being sent to the website
  • NEWIf two-factor is on, the app asks for your code itself rather than bouncing you to the web to finish the purchase
v3.13.0August 20, 2026

Unstick a Receipt 📥

Retry or delete a stuck scan. Tell the voice assistant which project a drive belongs to. And the Android app now speaks German.

  • NEWPending receipts on iPhone and Android now have Retry, Process, and Delete. A failed scan or a share that never finished no longer has to wait for the web
  • NEWTell the voice assistant which project a drive belongs to. "Put that on Work" files it there, and if that project uses different rates the cost updates to match
  • NEWThe Android app follows the language on your phone, with a picker if you want to override it. German is fully in
  • NEWNew projects on iPhone and Android get a receipt-forwarding address the moment you create them, same as on the web
  • IMPROVEDA receipt that couldn't be read says so in plain words, instead of a raw error
  • FIXEDTap Stop on a drive on iPhone or Android and it waits with the addresses filled in. Leave before you save and it is still there when you come back
  • FIXEDThe mileage rate now shows this project's currency, not a leftover from the last trip
  • SECURITYSigning up on iPhone and Android no longer tells a stranger that an email is already registered
v3.12.0August 18, 2026

Swiss Bills 🇨🇭

Point the camera at a Swiss QR bill and pay it from the app. Only in projects that bill in Swiss francs.

  • NEWScan a Swiss QR bill and Expense Lens reads the payee, IBAN, reference and amount exactly, with no guessing. Save it as a bill instead of an expense, and nothing is filed until you say so
  • NEWA new Bills page lists what you owe, soonest first, with overdue in red and the next two weeks in amber. Pick one and the payment code appears full size beside copyable payee, IBAN, reference and amount rows
  • NEWHold your phone up to the screen and your banking app scans the code straight off the monitor. Or copy the fields one tap at a time into e-banking
  • NEWPress Confirm paid and the expense is created for you, filed under the category this biller has gone to before, with the bill attached as the receipt. Changed your mind? Undo is right there, and the bill sheet on the expense reverts it later
  • NEWBills you have not paid yet show up on budgets and the forecast as a separate hatched layer in the month they are due, never mixed into what you actually spent. One switch turns it off
  • NEWReminders arrive at 07:00 Zurich time, three days before and again on the due date by default, adjustable per bill or per project. A bill with no amount yet stays quiet until you set one
  • NEWBills emailed to your project address are recognised too, including the ones that arrive as a PDF
  • NEWNo QR code? Add a bill by hand. The IBAN and reference are checked as you type, because a typo there sends real money to the wrong place
v3.11.0August 16, 2026

A Tighter Hold 🔐

A security pass on the iPhone app. A stronger lock, the same two-factor you already use, and a cleaner sign-out.

  • SECURITYOpening Expense Lens on iPhone still asks for Face ID, Touch ID, or your device passcode every time
  • SECURITYIf you use two-factor, coming back online after an offline stretch asks for your code again
  • SECURITYSigning out of the iPhone app stops budget alerts on that phone
  • SECURITYReceipt photos waiting on your iPhone stay out of iCloud and Finder backups
  • SECURITYNew passwords on iPhone now match the web — at least 10 characters and three kinds of characters
v3.10.0August 13, 2026

Your Miles, Your Rates 🛣️

Every project now carries its own mileage rates, drives save without a single question, and you can sign in with Apple on the web.

  • NEWEvery project gets its own mileage rates, distance unit and currency — work in one country, bill a client in another, and each drive is priced right. Set them by opening a project in Settings
  • NEWSaving a drive asks you nothing — trips land in the project and category you picked once, with a quiet line showing where they'll go. Tap the pencil when one trip needs to be different
  • NEWMove a drive to another project and choose: keep the old amount, or re-price it at that project's rates with both figures shown before anything changes
  • FIXEDTrack in miles? Your rate now applies per mile instead of per kilometre — worth a quick look at your saved rates after updating
  • NEWSign in with Apple — the web app now offers it on login and signup, same as the iPhone app
  • IMPROVEDSettings explains itself — the fine print under each switch is replaced by plain rows that say exactly what they do
v3.9.0August 13, 2026

Google Sync on Pause ⏸️

Gmail receipt scanning and Drive folder auto-sync are switched off. Google requires a paid yearly security review for that level of mailbox and Drive access, so we trimmed our permissions instead of carrying an unverified-app warning.

  • IMPROVEDGmail receipt scanning and Drive folder auto-sync are retired for now. If enough of you miss them, we'll go through Google's security review and bring them back
  • IMPROVEDSigning in with Google still works, and scheduled reports still arrive in your Google Drive exactly as before
  • SECURITYExpense Lens now asks for far less of your Google account — just the folder it writes your reports into, instead of your whole Drive and mailbox
v3.8.0August 13, 2026

Snooze, Share & Drive 🚗

Scan receipts on your schedule, share them in from any app. Plus a heads-up: Expense Lens for Android is real and in testing. 🤖

  • NEWSnooze a scanned receipt on iPhone — keep what the AI found and finish the details later; it waits for you under "Ready to confirm"
  • NEWShare to Expense Lens from any app — send a photo or PDF from Mail, Photos, or anywhere else and it's read in the background, ready to confirm next time you open the app
  • NEWChoose the project while you scan on iPhone — pick where a receipt lands before it's saved, and changing your mind mid-batch moves the whole batch
  • IMPROVEDBatch scanning on iPhone is quicker — the next receipt is being read while you're still reviewing the current one
  • NEWMulti-page PDF receipts on the web now show every page, not just the first
  • FIXEDFace ID unlocks automatically again when you return to the iPhone app — no extra tap
  • FIXEDThe iPhone mileage screen no longer gets stuck if a drive ended while the app was away
  • SECURITYReceipts you scan offline on iPhone stay with your account
v3.7.0August 3, 2026

Every Line Counts 📊

The AI now reads every line of a receipt, so Analytics can show what you actually bought — and on iPhone, any Analytics view exports to PDF or Excel.

  • NEWAI itemized breakdown on the web — one supermarket receipt splits into groceries, household, and whatever else was in the basket; flip between your categories and the AI's view with one toggle in Analytics
  • NEWExport any Analytics screen on iPhone as PDF or Excel — whatever view and time range you're looking at
  • IMPROVEDAnalytics and Dashboard on iPhone open on the latest period that actually has data — no more landing on an empty chart
  • NEWSpelled a country two ways on your travels? Expense Lens on iPhone spots it and merges them — with your OK first
  • IMPROVEDCleaner CSV and Excel exports — removed the internal receipt-link column that wasn't usable outside the app
  • FIXEDThe categories you've taught Expense Lens are applied again when a familiar merchant is scanned
  • FIXEDPop-up dialogs on the web no longer hide behind the page or swallow your first click
v3.6.0July 31, 2026

Just Say It 🎙️

Meet the voice assistant on iPhone — log expenses and drives hands-free, straight from the Action Button. And your live drive now shows on the Lock Screen.

  • NEWVoice assistant on iPhone — talk to log expenses and start or stop mileage drives, hands-free
  • NEWLaunch it from the iPhone Action Button or by asking Siri — with step-by-step setup in Settings
  • NEWLog a whole drive in one sentence — the assistant knows the date, so "yesterday" and "last Friday" just work
  • NEWSee your drive live on the Lock Screen and Dynamic Island — distance ticking up and a Stop button, without unlocking your phone
  • IMPROVEDShrink a voice session to a floating bar and keep using the app while you talk
  • IMPROVEDClearer, louder speech — and a switch in Settings to turn the assistant off entirely
  • FIXEDA dropped connection no longer ends your voice session — it reconnects and picks up where you left off
  • NEWA friendly What's New pops up in the iPhone app after each update, so you never miss a new feature
v3.5.0July 26, 2026

Your Data, Your Call 🔐

Analytics is now genuinely optional — off unless you say yes, and switchable any time from Settings. Plus a new Privacy & Data section where you can download your expenses.

  • SECURITYRemoved PostHog product analytics entirely — one fewer outside company receives any of your usage data. The only analytics left is Google Analytics, and it stays off unless you opt in
  • SECURITYChoosing Decline on the cookie banner turns analytics off. It stays off until you opt in
  • NEWNew Privacy & Data section in Settings — turn analytics on or off whenever you like, and download your expenses as a CSV
  • NEWA one-time note before your first receipt scan on the web, explaining that the image is sent to our server and read by AI — matching what the iPhone app already showed
  • FIXEDThe Privacy Policy and Terms links now work everywhere instead of leading to a missing page, and they're reachable from sign-up and the menu
  • SECURITYDeleting your account now also removes leftover receipts from old Drive and Gmail imports
  • SECURITYCSV exports open safely in a spreadsheet — notes and merchant names stay text, amounts stay numbers
v3.4.0July 22, 2026

Scan Now, Sync Later 📸

Capture receipts even with no signal — the iPhone app saves them and finishes the job the moment you're back online. And a heads-up: Expense Lens for iPhone is about to launch on the US App Store. 🚀

  • NEWOffline receipt scanning on iPhone — snap a receipt with no connection and it turns into an expense automatically when you reconnect
  • IMPROVEDSee at a glance which receipts are still waiting to process — and nothing ever gets lost, even if a scan can't be read
v3.3.0July 22, 2026

Locked Down 🔒

Your financial data now sits behind Face ID every time you open the iOS app — and two-factor authentication no longer traps you when you're offline.

  • SECURITYBiometric App Lock on iOS — Face ID, Touch ID, or your device passcode is required to open the app, every time
  • SECURITYApp-switcher privacy cover so your expenses don't show in the iOS multitasking preview
  • FIXEDUsing two-factor authentication? You can now still open the app and see your expenses while offline — we'll ask for your code once you're back online
v3.2.0July 17, 2026

Teamwork & Integrations 🤝

Schedule reports to your inbox or cloud drive, and keep working offline.

  • NEWScheduled reports — pick a day of the month and your reports arrive automatically by email or in Google Drive / Dropbox, as PDF, Excel, or CSV, receipts included
  • NEWWorks offline — keep browsing and adding expenses without a connection; everything saves and catches up on its own when you're back
  • SECURITYReceipt images are now locked to your account — only you can ever open them
v3.1.0July 9, 2026

Command & Consolidate ⌘

A keyboard command palette, Budget and Forecast analytics modes, and one-tap cleanup for duplicate merchants.

  • NEWCommand palette (⌘K) on the web — jump to any page and run actions straight from the keyboard
  • NEWNew Budget and Forecast views in Analytics — see how you're tracking against your budgets and where the month is headed, by month, quarter, or year
  • NEWMerchant cleanup — Expense Lens spots the same merchant spelled different ways and merges them for you in one tap, on web and iPhone
  • IMPROVEDDashboard quick-stat tiles follow the selected chart period, defaulting to year-to-date
v3.0.0July 8, 2026

Expense Lens for iPhone 📱

A true iPhone app, built from the ground up — receipt scanning, Sign in with Apple, mileage tracking, and subscriptions right through the App Store.

  • NEWThe full Expense Lens experience on iPhone — Dashboard, Expenses, Categories, Analytics, Reports, Mileage, and Settings, all built natively for iOS
  • NEWScan a receipt and review what the AI found — category, preview, and project — before it's saved
  • NEWSign in with Apple, or skip passwords entirely with passkeys
  • NEWMileage tracking with live GPS, trip details, and PDF/Excel export
  • NEWSubscribe right in the app through the App Store
  • NEWGoogle Drive & Gmail connections, and a personal email address for each project to forward receipts to
  • IMPROVEDIt feels great too — haptics, swipe actions, chart scrubbing, multi-select with bulk delete and move, and a welcome tour
v2.51.0March 20, 2026

Memory Upgrade 🧠

Expense Lens now remembers how you describe expenses everywhere — manual entry, receipt review, batch confirm, and CSV imports all teach the AI your language. Plus Google integration status is now honest about token issues.

  • NEWDescription learning wired to all expense paths — manual saves, receipt review edits, batch confirm-all, and CSV imports all train the AI on your merchant descriptions
  • IMPROVEDBatch description learning API — imports and multi-receipt confirms send learned descriptions in a single request instead of one-by-one
  • FIXEDGoogle integrations now show "Reconnect needed" when OAuth tokens expire instead of falsely showing green "Connected" status
  • FIXEDFixed 2FA heading on login page showing raw translation key instead of localized text
  • FIXEDDescription learning only triggers when you actually change the description — no more redundant saves from confirm-without-edit
v2.50.0March 19, 2026

Smooth Moves ✨

Pages now flow into each other with silky crossfade animations — expense cards morph seamlessly between list and detail views, and auth pages transition with shared branding elements. Plus a month-long analytics blind spot is finally fixed.

  • NEWView transitions — smooth crossfade animations when navigating between pages, with shared-element morphing on expense cards and auth flows
  • IMPROVEDAccessibility-first animations — all transitions respect prefers-reduced-motion for users who are sensitive to motion
  • FIXEDFixed GA4 analytics tracking that was silently broken since Feb 18 — CSP now correctly allows Google Analytics data beacons
v2.49.0March 14, 2026

Sprechen Sie Deutsch? 🇩🇪

Full German language support across the entire app — 1,288 translation keys covering every page, component, email, and PDF. Plus smarter recurring expense detection.

  • NEWGerman (Deutsch) language support — language picker on login/signup, all pages and 30+ components fully translated
  • NEWGerman onboarding flow with localized category presets (Privat, Freelancer, Digitaler Nomade)
  • IMPROVED1,288 i18n keys at 100% English/German parity
  • IMPROVEDRecurring expense detection overhaul — stricter 3-expense minimum, 20-day interval threshold, duplicate detection, and user feedback loop
  • FIXEDFixed hydration error in language picker cookie handling
v2.48.0March 12, 2026

Smarter Subscriptions & Cleaner Exports

Overhauled recurring expense detection with stricter thresholds and user feedback, plus streamlined the export experience.

  • IMPROVEDRecurring expense detection now requires 3+ matching expenses and 20+ day intervals — no more false alerts from batch spending
  • NEWNew "Is this recurring?" confirmation buttons on notifications — tell the system when it gets it right or wrong
  • IMPROVEDCleaner notification text — removed emojis and "irregular" labels, switched to short frequency tags (/mo, /qtr, /yr)
  • IMPROVEDSystem remembers dismissed recurring patterns and won't re-notify
  • IMPROVEDExport moved exclusively to the Reports page — removed redundant Export Excel button from expenses list
  • FIXEDMileage tracker GPS dot now correctly centers above the bottom sheet, with true edge-to-edge map display
  • FIXEDMileage expenses no longer show a "no receipt attached" warning
v2.47.0March 11, 2026

Smoother Onboarding & Tighter Security

Streamlined onboarding from 5 steps to 4, and squashed a few iPhone quirks.

  • IMPROVEDOnboarding simplified from 5 steps to 4 — removed the security/2FA step, moved tips opt-in to the celebration page
  • IMPROVEDHologlobe shrunk to 150px for a cleaner onboarding visual
  • IMPROVEDUnified stepper design across all onboarding steps
  • FIXEDiOS viewport lock, input zoom prevention, and tap-after-blur issues resolved
v2.46.0March 10, 2026

Fresh Icons & Mobile Polish

New aperture lens branding across all platforms, responsive analytics on small screens, and critical category bug fixes.

  • IMPROVEDNew aperture lens favicon and PWA icons — teal ring with 6 blades, transparent background, proper padding at all sizes
  • IMPROVEDAnalytics stat cards now scale responsively on mobile — no more overflowing numbers on small screens
  • FIXEDBatch scanner no longer stores garbage "default-0" category IDs when no match is found
  • FIXEDCategories now update correctly when switching projects during expense editing
v2.45.0March 7, 2026

Fix with AI & Digest Hardening

AI-powered field correction for scanned receipts, bulletproof weekly digest emails, iOS PWA polish, and infrastructure reliability fixes.

  • NEW"Fix with AI" button on expense details — check which fields are wrong and AI re-extracts only those, keeping the rest locked
  • IMPROVEDWeekly Spending Digest now has a circuit breaker (aborts after 5 failures) and writes full audit logs to Firestore
  • FIXEDiOS PWA no longer clips into the status bar — safe-area insets applied to MobileHeader
  • FIXEDExchange rate cache degrades gracefully on cold dev starts instead of throwing 500 errors
  • FIXEDDeploy script runs non-interactively — no more stuck "Press Enter" prompts
  • FIXEDFixed build-breaking export on private digest route function
  • FIXEDPrivate GCS receipt images now load correctly via Admin SDK auth instead of raw fetch
v2.44.0March 3, 2026

Light Mode, i18n & PWA Ready

Full light mode support across every screen, internationalization framework with English and German, PWA-ready with proper manifest and icons, plus a wave of PDF viewer and UX fixes.

  • NEWLight/dark mode toggle on login and signup pages - switch themes before you even sign in
  • NEWInternationalization framework (next-intl) with English and German translations - cookie-based locale, no URL changes
  • NEWPWA manifest, icons, and apple-touch-icon - install Expense Lens as a home screen app
  • IMPROVEDFull light mode support across onboarding, pricing, paywall, scan usage bar, keyboard shortcuts overlay, and Google sign-in button
  • IMPROVEDSafe-area bottom padding for PWA on mobile - no more content hidden behind the home bar
  • IMPROVEDDesktop "+ New" button now opens a dropdown with Upload and Manual entry options
  • IMPROVEDBar track contrast improved with gray-200/neutral-800 for better visibility in both themes
  • FIXEDPDF viewer now works in Safari - data URIs converted to Blob URLs for cross-browser compatibility
  • FIXEDPDF iframe viewer with proper CSP headers, auth token on re-scan, and stored home currency for conversion display
  • FIXEDStripe cancel button now redirects to the previous page instead of dumping you on /pricing
  • FIXEDFree plan users now see accurate copy in Lens instead of misleading plan info
  • FIXEDToast notifications no longer overlap with the chat FAB on desktop
  • FIXEDCheckout handles 2FA gracefully with proper 401 logging instead of cryptic errors
  • FIXEDFirebase Storage CORS configured for proper cross-origin receipt image loading
v2.43.0March 2, 2026

Locked Down & Bulletproof

A security pass on who can open a receipt, plus a fix for saving a manual expense.

  • SECURITYA security pass on how the app checks who you are and who can open a receipt
  • FIXEDSaving a manual expense no longer fails silently — you see the actual problem if something goes wrong
v2.42.0March 1, 2026

We're Live - Payments & Multi-Currency Billing

Expense Lens is officially live! Stripe payments are enabled with multi-currency checkout, subscription management, and a hardened production payment pipeline.

  • NEWMulti-currency Stripe billing - pay in USD, GBP, EUR, CAD, or CHF with automatic currency matching based on your project
  • NEWSubscription cancellation - cancel your plan directly from settings, no email required
  • NEWPromo code auto-apply - share links with ?promo=EARLYBIRD and the discount applies automatically at signup
  • IMPROVEDLaunch copy refresh - login, signup, and onboarding screens updated from pre-launch to live messaging
  • FIXEDCheckout sends you back to the right page after paying
v2.41.0February 28, 2026

Eyes on Everything

Under-the-hood observability upgrades - we now catch errors before you notice them and understand how people actually use the app.

  • NEWSentry integration - real-time error tracking and performance monitoring so bugs get squashed faster
  • NEWPostHog product analytics - privacy-first usage insights (no session recording) to help us build what matters most
  • FIXEDCleaned up deprecated Sentry config options for a smoother deployment
v2.40.0February 27, 2026

Launch-Ready Polish

Mobile experience overhaul, smarter navigation, and the foundation for tip emails - the final tune-up before launch day.

  • IMPROVEDiOS-adaptive menu - bottom navigation now hugs above the Safari home bar instead of hiding behind it
  • IMPROVEDProjects mobile UX - project switcher redesigned for thumb-friendly use on small screens
  • FIXEDAdd-manually routing - navigating to the manual expense form no longer briefly flashes the wrong page
  • IMPROVEDSEO hardening - noindex on app pages and proper reply-to headers on outbound emails
  • NEWTip emails foundation - user consent tracking, secure HMAC unsubscribe links, and branded HTML email templates ready for launch notifications
v2.39.0February 26, 2026

Under-the-Hood Hardening

Friendlier error messages, smarter image validation, and a massive codebase refactor that sets the stage for multi-language support.

  • IMPROVEDFriendlier error messages - upload a photo that isn't a receipt and you'll get a helpful explanation instead of a cryptic error
  • FIXEDNon-receipt image handling - the app now gracefully detects and rejects non-receipt uploads with clear guidance
  • FIXEDPassword error messages - login and signup forms now show human-readable errors instead of technical codes
  • IMPROVEDi18n preparation - all user-facing strings centralized into constants, laying the groundwork for multi-language support
  • IMPROVEDCode quality - unified auth middleware across all 36 API routes, standardized error responses, and 60 new automated tests
v2.38.0February 25, 2026

14-Day Refund & Billing Polish

Request a refund right from the app within 14 days - no email needed. Plus smoother plan switching, better emails, and security fixes.

  • NEW14-day refund - request a full refund directly from Settings within 14 days of subscribing, with eligibility checks and instant processing
  • NEWHTML email templates - beautiful branded emails with safe word verification replace plain-text notifications
  • IMPROVEDPlan switching polish - persistent toast confirmations, immediate Stripe payment on upgrades, and reliable downgrade scheduling
  • IMPROVEDPaywall & settings overhaul - clearer copy, usage warnings on tier cards, single CTA per state, "Switch plan" instead of "Downgrade"
  • FIXEDCSP security headers - Google Analytics/GTM and Cloud Functions unblocked after Content Security Policy was too restrictive
  • FIXEDToast rendering - toasts now display above modals instead of getting trapped behind backdrop blur
v2.37.0February 24, 2026

Plan Switching & Waitlist Reliability

Switch your plan right from the app, and waitlist sign-ups are now rock-solid with smarter error handling.

  • NEWIn-app plan switching - switch your subscription from Settings with Stripe proration, no need to visit a billing portal
  • NEWPlan comparison in paywall - existing subscribers see all tiers with switch options and a badge on their current plan
  • FIXEDHomepage waitlist fix - replaced embedded forms with direct /join links to avoid Cloudflare email obfuscation blocking sign-ups
  • IMPROVEDRate limit handling - waitlist forms now gracefully handle 429 responses instead of showing cryptic errors
  • IMPROVEDEU withdrawal terms updated - free trial scans no longer waive the 14-day right of withdrawal
  • FIXEDFirestore composite index added for scan count queries - fixes errors when payment enforcement is enabled
v2.36.0February 21, 2026

Reference Currency & Production Hardening

Reports and exports now show a reference currency column, outbound emails got smarter reply routing, and app routes are locked down from search engine indexing.

  • NEWReference currency on reports & exports - see amounts converted to your chosen reference currency alongside the original
  • FIXEDGoogle OAuth redirect fix - resolved 4 missing Cloud Run secrets that broke the Google integration auth flow
  • IMPROVEDReply-To header on all outbound emails - replies now route back correctly instead of bouncing
  • IMPROVEDSEO noindex on app routes - authenticated pages no longer appear in search engine results
  • IMPROVEDRounded corners on Google Integrations card - visual polish for consistency
  • FIXEDBlog vs-expensify FAQ section fix and Open Graph images added for better social sharing
v2.35.0February 20, 2026

Per-Project Currencies & Bulletproof Receipt Exports

Each project now has its own base currency with live reconversion, and receipt PDF exports are completely rebuilt server-side - no more missing pages.

  • NEWPer-project currency - set a unique base currency per project from Settings; header switcher shows a currency badge (e.g. [CHF]) for non-default currencies
  • NEWLive expense reconversion - switching a project's currency triggers server-side reconversion of all its expenses using live exchange rates
  • NEWCurrency onboarding banner - first-time explainer helps users discover and set up per-project currencies
  • FIXEDReceipt PDF export rebuilt server-side - PDF receipts are now converted to PNG via pdftoppm before rendering, fixing silent failures that caused only ~half of receipts to appear in exports
  • FIXEDMagic byte detection - receipt files with incorrect content-type in Firebase Storage are now auto-corrected at the proxy layer
  • FIXEDAdmin SDK fallback - legacy Firebase Storage URLs with expired tokens now resolve correctly via Admin SDK
  • FIXEDDual bucket URL support - receipt proxy now handles both .firebasestorage.app and .appspot.com bucket URL formats
  • IMPROVEDHeader project dropdown simplified to switch-only - project editing moved to Settings for a cleaner UI
  • IMPROVEDGA4 expense_created event - receipt scan and upload paths now fire analytics events for better usage insight
v2.34.0February 19, 2026

Google Drive Sync & Smarter Duplicate Review

Connect Google Drive and Gmail to auto-import receipts, plus a redesigned duplicate review flow that lets you compare and resolve duplicates without leaving the page.

  • NEWGoogle Drive & Gmail integration - connect your account to auto-sync receipts from Drive and Gmail into Expense Lens
  • NEWForce Sync button - manually trigger a Google Drive/Gmail sync from the integrations settings page
  • NEWInline duplicate review - compare potential duplicates side-by-side in an expandable modal with delete, keep both, or skip actions
  • IMPROVEDGoogle-synced expenses now inherit your default project automatically instead of appearing unassigned
  • IMPROVEDDrive sync cursor only advances when files process successfully - no more silently skipping failed imports
  • FIXEDDuplicate count now shows correct number of groups instead of counting individual expenses
  • FIXEDOAuth token refresh no longer fails silently when credentials are missing from config
  • FIXEDGoogle OAuth redirect fixed for localhost development environments
v2.33.0February 18, 2026

Security Hardened & Cloud Isolation

A security pass on sign-in and receipts, stronger passwords, and Google Sign-In restored.

  • SECURITYA security pass on how the app checks who you are and who can open a receipt
  • SECURITYStronger passwords — at least 8 characters, with an uppercase letter or a number
  • FIXEDGoogle Sign-In works again
v2.32.0February 17, 2026

Subscriptions, Mobile Chat & Visual Polish

Auto-detect subscriptions, a redesigned mobile chat experience, refreshed charts, and multi-currency accuracy across the board.

  • NEWSubscription auto-detection - receipts are now automatically identified as subscriptions (Netflix, Spotify, gym, etc.) at scan time with no manual tagging
  • NEWRecurring pattern analysis - tracks billing frequency (monthly/yearly) and flags price changes on your subscriptions
  • NEWSubscription queries in Lens - ask "what are my subscriptions?" or "what do I pay monthly?" for aggregated answers
  • IMPROVEDAI Chat mobile redesign - full-screen Crisp-style panel from the hamburger drawer, with scroll lock, no iOS auto-zoom, and proper quick-action link handling
  • IMPROVEDDashboard chart refresh - TradingView-style angular lines, violet area fill, and thinner line weight for a cleaner look
  • IMPROVEDBudget bars now use 3-state color coding: category color (0–80%) → amber (80–100%) → red (>100%) across all pages
  • IMPROVEDMulti-currency totals fixed - budgets, categories, and analytics now use home-currency amounts for accurate totals
  • IMPROVEDCurrency and exchange rate context added to Lens for accurate multi-currency answers
  • FIXEDShow Category Icons setting now properly respected on analytics, reports, and categories pages
  • FIXEDPage headings standardized to uppercase with consistent subtitle styling
  • FIXEDKeyboard shortcuts button repositioned to avoid overlapping the chat FAB
  • IMPROVEDIn-app FAQ now links to expense-lens.com/faq instead of a built-in page
v2.31.0February 16, 2026

Meet Lens - Your AI Expense Assistant

Ask questions about your spending in plain English. Lens understands concepts like "AI tools" or "travel expenses" and finds the right transactions instantly.

  • NEWAI Chat (Lens) - ask natural language questions about your expenses and get instant, contextual answers with streaming responses
  • NEWSemantic search - ask about concepts like "AI spending" or "cell service" and Lens maps them to the right merchants, categories, and tags automatically
  • NEWMulti-merchant and multi-category queries - broad questions find ALL matching expenses, not just the first match
  • NEWSemantic tags - expenses are auto-tagged at extraction time for smarter conceptual search across categories
  • NEWMerchant type classification - structured business types (mobile-carrier, ai-platform, etc.) for better filtering and intent understanding
  • IMPROVEDChat context carries forward - follow-up questions remember what you were just talking about
  • IMPROVEDProject-aware chat - mention a project name naturally and Lens filters to that project's expenses
  • FIXEDFixed intent parser misclassifying unrelated merchants for conceptual queries
  • FIXEDWord-boundary matching prevents partial matches (e.g., "ai" no longer matches "AirGSM")
  • NEWAmount filtering - ask "expenses under $100" or "between $500 and $1000" and Lens filters by amount
  • NEWSubscription detection - expenses are auto-tagged as subscriptions at extraction time, and Lens answers "what subscriptions am I paying for?"
  • NEWCross-project comparison - compare spending between two projects in a single query
  • NEWRecurring expense analysis - pattern detection for frequency, price changes, and predicted next charges
v2.30.0February 15, 2026

FAQ, Reports Polish & Visual Refresh

A brand-new FAQ page, smoother mobile report generation, and a refined color palette that feels right at home in both light and dark mode.

  • NEWFAQ page - searchable, filterable knowledge base with category pills, accordion Q&A, and SEO-optimized JSON-LD schema
  • NEWMobile report bottom sheet - swipe-up format selector replaces the old dropdown for PDF/CSV generation
  • NEWSticky Generate Report button on mobile - always visible at the bottom with loading state feedback
  • IMPROVEDCategory color palette refined to muted Notion/Linear-style Tailwind 500 swatches, WCAG-friendly on both themes
  • IMPROVEDDuplicate expense warning modal polished for mobile layouts
  • IMPROVEDDark mode charts use hardcoded teal hex for consistent SVG rendering and styled tooltips
  • FIXEDExpense row hover/active states now show proper teal gradient fade instead of invisible interaction
  • FIXEDMonth divider labels correctly reference the month below, not above
  • FIXEDFallback 📦 icon restored for categories without custom icons
  • FIXEDCustom categories auto-rotate through color palette during onboarding instead of all getting the same color
v2.29.0February 13, 2026

Mobile-First Makeover

A cleaner, faster expense list - collapsed filters, visible sorting, and subtle touches that make mobile feel native.

  • NEWCollapsed filter bar - search, category, and filters consolidated into a single row with expandable panel
  • NEWSort toggle button - tap to cycle between Date, Amount, and Merchant A-Z sorting
  • NEWCategory icon toggle - new setting to show or hide emoji icons on expense lists
  • NEWSwipe discovery hint - first-time mobile visitors see a peek animation revealing swipe actions
  • IMPROVEDHidden header on detail view reclaims ~50px of mobile screen space
  • IMPROVEDCategory names now render as styled rounded chips for better visual separation
  • IMPROVEDExpenses page header shows current month total and count instead of all-time stats
  • IMPROVED"Filters" label changed from all-caps to sentence case for consistency
  • FIXEDAnalytics page no longer shows all zeros on initial load (fixed real-time data listener)
  • FIXEDEmail-ingested expenses now correctly show AI provider and confidence score
v2.28.0February 12, 2026

Keyboard Power-Up

Faster editing, smarter modals, and a smoother mobile experience - your keyboard does more than ever.

  • IMPROVEDEnter key now saves your edits before navigating to the next expense - no more lost changes
  • NEWCmd+Enter (Mac) / Ctrl+Enter saves and advances from the description field
  • NEWKeyboard support in modals - Enter to confirm, Esc to cancel (Delete, Move to Project, Review)
  • IMPROVEDReviewModal shortcuts enhanced - Cmd+Enter saves, E to edit, Delete to remove, Esc to exit
  • IMPROVEDGlobal Esc-to-blur - press Esc in any input to re-enable keyboard shortcuts
  • FIXEDFixed dashboard stat cards overflowing on mobile with long currency amounts
v2.27.0February 11, 2026

Keyboard Shortcuts & CSV Overhaul

Power through expense reviews with keyboard shortcuts, and export accountant-ready CSV files with category totals.

  • NEWKeyboard shortcuts on expense detail - press ? to see all shortcuts
  • NEWType-to-filter category dropdown - find categories instantly
  • NEWNavigate expenses with arrow keys or J/K, focus fields with single-key shortcuts
  • IMPROVEDCSV export redesigned - cleaner column order, category subtotals, grand total, metadata header
  • IMPROVEDCSV now shows project names instead of database IDs
  • IMPROVEDExchange rates rounded for readability (2 decimals for major currencies, 4 for others)
  • FIXEDFixed expense numbering resetting to "1 of X" after editing
v2.26.0February 11, 2026

Email Screenshots & Unreviewed Expenses

Email receipts are now saved as screenshots for PDF reports. New expenses from email forwarding are marked as unreviewed with a teal dot.

  • NEWUnreviewed expense indicator - teal dot and bold text for new email-ingested expenses
  • NEWFilter by unreviewed expenses and bulk mark-as-reviewed
  • NEWTeal badge on Expenses nav showing unreviewed count
  • NEWEmail receipts now saved as PNG screenshots for clean PDF reports
  • IMPROVEDMulti-currency conversion happens automatically on email-forwarded receipts
  • FIXEDFixed PDF attachments being corrupted by image processing - PDFs now preserved correctly
v2.25.0February 10, 2026

Travel Report

New report style: per-country spending breakdown. See where your money went across borders - with local currencies, top merchants, and category splits for each country. AI receipt scanning now detects and saves the country automatically.

  • NEWTravel Report PDF - See exactly what you spent in each country, with auto-calculated exchange rates
  • NEWCountry detection saved on expenses from AI receipt scanning
  • IMPROVEDCSV export now includes Country column
  • IMPROVEDReport style picker updated to 3-column grid
v2.24.0February 10, 2026

Drag & Drop Scanning

Drag a receipt image or PDF anywhere in the app - we'll scan it and extract the details automatically. No buttons, no menus. Just drop it. Desktop only. Works on every page.

  • NEWDrag & drop scanning - drop receipt images or PDFs anywhere to scan instantly
  • NEWFull-page drop zone overlay with visual feedback
  • IMPROVEDNew helpful tips to discover features faster
  • IMPROVEDEmpty state now mentions drag-and-drop as an option
v2.23.0February 8, 2026

Professional Reports

Two new report styles designed for real-world use - a visual monthly summary and an accountant-ready tax report.

  • NEWMonthly Summary PDF - branded one-pager with category breakdown, daily spending chart, and top merchants
  • NEWTax Report PDF - deductible vs. personal split, dual-currency tables with exchange rates, accountant-ready format
  • NEWEnhanced CSV export - 13 columns including exchange rates, source, and Business/Personal type for QuickBooks/Xero
  • IMPROVEDSmart alerts: We'll flag potential duplicates before you generate a report
v2.22.0February 6, 2026

Business vs. Personal Categories

Flag categories as Business or Personal. See your tax-deductible totals at a glance.

  • NEWOne-click toggle to separate Business from Personal expenses
  • NEWTax Summary on analytics - deductible vs. personal totals with percentage split
  • NEWBudget vs. Actual section on analytics - overall and per-category progress bars
  • IMPROVEDBIZ badge on category cards for quick identification
v2.21.0February 4, 2026

Smarter Budgets & Analytics

Color-coded budgets, spending forecasts, per-project analytics, and trend arrows on every category.

  • NEWColor-coded budget bars - green under 70%, yellow 70-90%, red when you're over
  • NEWOver-budget state - red bar with "Over by $X" when you exceed 100%
  • NEWRemaining budget + days left on every category
  • NEWPer-project analytics with "All Projects" dropdown
  • NEWMulti-currency breakdown - pie chart and table showing spending per currency
  • NEWDaily burn rate stat card on dashboard
  • NEWSpending forecast - linear projection for month-end estimate
  • NEWCategory trend arrows - ↑↓$X compared to last month
  • IMPROVEDActive categories sorted to top, empty ones dimmed
  • IMPROVEDBetter math: exact dollar differences instead of confusing percentages
v2.20.1February 1, 2026

Edit Experience Overhaul

Autosave, searchable currencies, and a cleaner mobile editing experience.

  • NEWAutosave - we save as you type. No more Save button.
  • NEWSearchable currency picker - find any of 160+ currencies instantly
  • NEWPotential duplicate indicator - red border on merchant field when a match is detected
  • IMPROVEDCompact edit layout - removed heading, tighter padding, More Info at bottom
  • IMPROVEDMobile header hides on scroll for more screen space
  • IMPROVEDSubtle tap feedback on expense rows
  • FIXEDFixed an issue where saving empty expenses caused an error
v2.20.0January 29, 2026

Smart Category Learning

Expense Lens now learns from your corrections. Categorize a merchant once - it remembers forever.

  • NEWAI learns your category preferences per merchant - correct once, never again
  • NEWFrequency-based learning - if you split a merchant across categories, it tracks the most common
  • IMPROVEDAI now gets smarter the more you use it, learning your specific rules
  • IMPROVEDEmail-forwarded receipts also benefit from your learned preferences

Stay in the loop

Get notified when we ship something new.

© 2026 Expense Lens · Privacy · Terms