Treziqo Treziqo
campaign What's moving

Treziqo news

What we shipped, improved and fixed. In chronological order.

auto_awesome New in v2.0

New in v2.0

Investments Phase 2 — units tracking, automatic CoinGecko price pulls, portfolio-wide XIRR, and historical valuation backfill. Plus three new dashboard widgets: Net worth, Crypto prices, and Goal of the period. And a reorganized investment product edit form with a sticky side panel.

ios_share

Share a statement into the app

Download a statement from your mobile banking, tap Share → Treziqo, and the import starts right away — you just pick the target account. Works for the installed app on Android.

percent

Withholding tax on interest

Savings accounts, term deposits and building savings can have a withholding-tax rate (default 15 %). When you post interest, Treziqo deducts the tax from the gross amount and creates two separate entries — gross interest and withheld tax.

upload_file

Fio „Account statement" imports

We added a second Fio statement format — the official monthly PDF „Account statement" (next to „Account movements"). We also fixed broken Czech encoding, so Èíslo úètu imports correctly.

June 2026

auto_awesome
New · v1.28

Share your bank statement straight into Treziqo (Android)

Download a statement from your mobile banking app, tap Share → Treziqo, and the app starts the import right away — you just pick the target account and continue to review. No file hunting, no manual upload. Works for the installed app on Android (via „Add to home screen"). On iPhone the system does not yet allow this kind of sharing into web apps — there the classic upload on /import-export remains.

auto_awesome
New · v1.28

Withholding tax on savings-account interest

Savings accounts, term deposits, and building savings can have a withholding-tax rate set (default 15 % for the Czech Republic). When you post interest, Treziqo automatically deducts the tax from the gross amount and creates two separate auditable entries — gross interest and withheld tax — so you see exactly how much came in and how much the state took. You get a preview of both the tax and the net interest before you confirm.

arrow_upward
Improved · v1.28

Fio „Account statement" now imports

We added a second Fio statement format — the official monthly PDF „Account statement" (alongside the „Account movements" export). We also fixed broken Czech encoding in these PDFs, so Èíslo úètu imports correctly as Číslo účtu.

build
Fixed · v1.28

A withdrawal correctly lowers the investment value

After an investment's latest valuation, movements (deposits/withdrawals) entered later were not reflected in the displayed product value. The value is now computed as the valuation plus net cash flow after its date, so a withdrawal or a later deposit shows up immediately.

auto_awesome
New · v1.27

Tailored landing pages — families, entrepreneurs, investors

Instead of one generic homepage, Treziqo now has four targeted landing pages: the main / with a rebuilt hero, /families for households, /entrepreneurs for business owners, and /investors for investors. Each speaks the language of its audience, and sign-ups and waitlist across them track where the visitor came from — no third-party cookies.

arrow_upward
Improved · v1.27

Noticeably faster across the app

We ran an optimization audit across all subsystems. The biggest win is the investments overview (from dozens of database queries down to 2), followed by the dashboard (budgets computed once instead of four times), transaction list, analytics, and admin sections. Fewer queries = snappier loads, especially for accounts with longer history.

build
Fixed · v1.27

Mobile — „Full version" no longer errors

When you reached the full-version URL on mobile via browser history or a bookmark, the app returned a 405 error. Now it redirects you smoothly to the dashboard. The send button in the mobile AI chat is also more accessible to screen readers.

May 2026

auto_awesome
New · v1.26

Treziqo learns — 5-layer import categorization

When you import a statement, you are no longer flooded with thousands of „Uncategorized" rows. Category suggestions come from 5 sources, from strongest to weakest: (1) your rules from „Remember next time", (2) your history from past imports, (3) anonymized global learning across users (Lidl → Groceries, Netflix → Subscriptions — activates after ≥3 users / ≥10 signals / ≥80 % agreement), (4) built-in dictionary of known CZ merchants, (5) AI fallback via Claude Haiku 4.5 for long-tail merchants (daily cap, 30-day cache). In /settings → Preferences you can disable both global learning and AI. Learned rules live in /settings/import-rules as „Import learning — candidates".

auto_awesome
New · v1.26

Air Bank — fifth bank in the statement import pilot

Bank statement import (PDF / CSV / TSV) now supports 5 banks: ČSOB · Fio · Raiffeisenbank · Air Bank · Revolut. Air Bank understands decimal commas, NBSP whitespace in PDF dumps, and 14 transaction types (card payment, direct debit, incoming transfer, ATM withdrawal, deposit, interest…). The balance equation is verified against the opening/closing balance, so you can tell when the parser missed something. The bank statement is now the primary path in the dashboard „Import data" widget — MyBank XML remains on /import-export as the secondary path.

auto_awesome
New · v1.26

Account history — security audit log on its own screen

In /settings → Account history you now find a chronological overview of security actions on your account — sign-ins, password changes, 2FA setup, Google/Microsoft linking, email changes. Filter by event type, expandable JSON detail with IP and user-agent. Records are immutable; we keep them for the lifetime of the account (365-day retention policy is coming next).

arrow_upward
Improved · v1.26

Statement import — section-by-section commit, better rollback and UX

A long statement (500+ rows) can be committed section by section — separately for „Verify all matches", „New", and „Needs attention". No blocking all-or-nothing step. The button shows the actual number of checked rows, not page size. A new „Completed imports" section in /import-export serves as an archive outside the 72h rollback window. Rollback now also restores the original import_system_note (raw bank description), not just deletes transactions.

arrow_upward
Improved · v1.26

Dashboard — multi-currency numbers no longer mix currencies

The „What if: cut spending" drawer and investments widget no longer add CZK + EUR + USD into a single number without FX conversion (nonsense). A multi-currency user now sees TOP 5 categories per currency, and an investment product with contributions in multiple currencies splits into per-currency cards. A single-currency user sees no change.

campaign
Announcement · v1.26

What is next — drip emails and global analytics

Coming in the next releases: finishing the drip email sequences (Welcome series for new users, composing campaigns by rules), multi-currency analytics (the /analysis module switches to scope-to-primary currency) and polishing AI category suggestions based on real pilot data.

auto_awesome
New · v1.25

My currencies — pick the ones you actually use

In /settings you now pick your own currencies. Currency selects across investments, liabilities, budgets and accounts then show only those — no more scrolling through 300+ ISO currencies. Fulltext search over localized names, a currency „in use" cannot be removed by accident. At registration the set is pre-filled by language (CZ → CZK + EUR, EN → USD + EUR).

arrow_upward
Improved · v1.25

Cleaner forms — liabilities, recurring payments, budgets, accounts

The forms for adding and editing a liability, recurring payment, budget and account got the same look as /investments/create — type tiles, clear sections, collapsed advanced settings and a live summary in the right panel. Account administration moved from a slide-out panel to its own page. No change in functionality, just nicer UX.

arrow_upward
Improved · v1.25

Redesigned subscription page

On /checkout the payment methods (Stripe, PayPal) are now full-width cards side by side with logos and descriptions, the BASIC/PRO plans are fully clickable, and you switch currency right on the page — no detour into settings.

auto_awesome
New · v1.24

Subscriptions now via Stripe too — card, Google Pay, Apple Pay

On /checkout you now have next to PayPal a second button „Pay by card / Google Pay / Apple Pay" via Stripe Checkout — a hosted window where Stripe picks the payment methods based on browser and device. PayPal stays fully functional, no migration for existing payers. Support for EUR, USD and CZK. The new /settings/billing page shows your active provider, plan, next renewal, payment history with provider badges. Stripe users get a direct link to the Customer Portal (self-service — change card, invoices PDF, cancel). Admin in /admin/users/{id}/plan sees provider badge + deep-link to Stripe Dashboard.

auto_awesome
New · v1.24

Investments — automatic prices for stocks and ETFs

Investments of type stock / ETF / REIT have an autocomplete ticker picker — pick a symbol (AAPL, VWCE, VOO…) and the app automatically updates the current price daily. Works in parallel with the existing crypto auto-pricing (CoinGecko). If the quote is in a different currency than your product (typically AAPL in USD, product in CZK), the app converts using the current FX rate. On first product save also backfill of historical values — you see the value curve going back to the date of your first contribution. Daily cron runs at 23:00 (after US market close).

arrow_upward
Improved · v1.24

Investments — edit contribution history right in the detail

In the investment product detail every contribution now has a new pencil icon next to the trash. Click → modal to edit amount, currency and note. For contributions linked to a bank transfer it cascades down to the whole transfer (both transactions + Transfer row) in one DB transaction — bank/invest history stays consistent. For tracking-only contributions (pension / 3rd pillar without bank movement) a simple update. Currency can only be changed for tracking-only — for linked contributions it would require moving between wallets, better to delete and recreate.

build
Fixed · v1.24

Recurring investment in „auto" mode silently failed

Recurring investment with „Auto write" mode silently fell into FAILED state every day — the mandatory currency_id was missing in the insert query (regression after the multi-currency upgrade three weeks ago). No email, no warning. Fixed — from today on auto contributions run normally. If you have days in your history where the contribution did not happen, you can catch up manually: on /recurring/{id} click „Pay now" (creates with today date but the audit record keeps the original due_date). Alternatively add the contribution manually in /investments/{id} for a specific date.

build
Fixed · v1.24

Mobile offline — „Add transaction" finally opens the form

When you were offline in the mobile app and clicked „Add transaction" on the offline page, the browser sent you back to the same offline page (loop). Reason: the Service Worker did not cache /quick, so offline navigation failed. Fixed — /quick now caches on first online visit, next offline attempt opens the form. Submit via outbox keeps working the same (the transaction queues into the browser and syncs when the network is back).

auto_awesome
New · v1.23

DMS — operational documentation in one place

A new document management in /admin/dms for the whole company. Tree folder structure (sales, brand, legal, ops…) with file upload and markdown documents created directly in the app. Inline image upload (paste / drag-drop / file picker), toolbar (bold/italic/headings/lists/code/quote), smart Enter in lists, emoji picker and auto-save draft every 30s. Documents have a TOC sidebar with clickable anchors, Ctrl+K fulltext search across DMS, syntax highlighting in code blocks and cross-references between documents (@document-slug). Per-folder permission grant for helpers (read / write / admin level) with propagation to subtree. Documents can have tasks attached (assignee, deadline, photo attachment); the „My tasks" widget moved to /admin.

auto_awesome
New · v1.23

Offline mode for the mobile app — save transactions without signal

The mobile /quick (quick add transaction) works offline. Submitting without network saves to the browser with a green „Saved offline — will sync when reconnected" banner. As soon as the net is back, the queue automatically syncs (on reconnect, app open, or tab switch). The backend recognizes duplicates via a UUID generated in the browser — even if sync fires twice in a row, the transaction is created only once. The mobile dashboard /m is now cached, so offline you still see the last snapshot of your accounts. Other pages offline → a fallback page „this feature needs internet" + the count of pending transactions waiting to sync.

auto_awesome
New · v1.23

Admin sidebar — pick what you want to see

In the /admin dashboard, categories (People, Billing, Content, DMS, Emails, Settings) are now collapsible — clicking the header expands their items. Clicking the pin icon adds a category to the left sidebar for admin mode. When you are on a /admin/* page, the left sidebar switches from the regular app navigation (Records/Plan/Insights/Setup) to your pinned admin categories — no clutter, just what you need. The current category auto-opens, others remember their open/closed state. The bottom „Back to finances" button takes you back to the classic dashboard.

auto_awesome
New · v1.23

Helpers in admin — per-folder pin permissions

A helper (is_staff flag, orthogonal to manager/member role) has their own scoped /admin view — they see the „My tasks" widget and have read-only access to their assigned documents. Per-folder you can grant the helper read / write / admin level. Write+ can create documents in that folder, admin+ can manage grants and delete. Grants propagate to the subtree, so a grant on ops/ automatically covers ops/inventory/. Tester PRO license also applies to helpers in the member role (defensive bypass in the sidebar in case of plan-activation logic regression).

arrow_upward
Improved · v1.23

Weekly and monthly summary — friendly redesign + „Send now" button

The weekly and monthly summary emails have a completely redesigned look — warmer copy, less corporate tone, locale-aware sentences, filtered out internal transfers between own accounts (transfers no longer count as „expense"). In /admin/email-templates index a new „Send now" button — admin picks a user and template, we render + send without waiting for the trigger event. In /settings → Notifications an analogous button for testing your own notifications. Plus on /dashboard a new cashflow risk banner below the hero — a critical alert across scopes (FAMILY / PERSONAL / BUSINESS) if any account balance drops below its threshold.

build
Fixed · v1.23

Mobile transfer between accounts — works even with 2 wallets

In /quick → New transfer with only 2 wallets you could not swap them (one was selected as „from", which disabled it as „to" and vice versa). Fix: if you only have 2 wallets, clicking the other one automatically swaps from/to. With 3+ wallets the original behavior stays (disable = you can not have the same account on both sides). Plus the tiny 16px swap_horiz icon in the /quick header (undiscoverable for new users) moved below the form as a big gradient button „Add transfer between accounts" — same visual style as „Add new account" in /m/accounts.

auto_awesome
New · v1.22

Mobile app: account creation, daily balance and onboarding

Three improvements to the mobile hub /m. Create account from mobile — a new lightweight 3-field form (bank + currency + opening balance) instead of the desktop modal with 12 fields. The „Add new account" button is now always on /m/accounts and conditionally on /m (if you have no account yet). Per-day balance in /m/transactions — next to each day group is the day total (green +, red −, mixed FX hidden). New onboarding step „Your profile and Settings" walks you through the user menu in the bottom-left (avatar → links to /settings, /notifications, log out).

campaign
Announcement · v1.22

Tester PRO license — 2 years free

Tester registration codes now grant PRO for 2 years from redemption. After expiry the account drops back to BASIC/PRO subscription (via /checkout), the audit record of redemption stays in the DB. Welcome email for testers has its own template (no 14-day trial / PayPal mentions, instead „PRO free until {expiry date}"). New „PRO valid until" column in /admin/testers with color indicator (red = expired, amber = approaching, gray = OK). Existing tester redemptions got the 2-year window via backfill (redeemed_at + 2 years).

build
Fixed · v1.22

Email audit — we finally know what the app sent and to whom

Until this morning all rows in /admin/email-log were registered as template_key=unknown and recipient=0 (broken Symfony Address parsing). Fully fixed: a new AppliesTemplateKey trait applied to all 16 notifications (Welcome, Helpdesk, Payment, Trial, Reset, Verify, Waitlist…) adds the X-Email-Template-Key header automatically. Recipient parsing rewritten to Address->getAddress(). Plus two backfill migrations for historical entries: helpdesk_reply filled from helpdesk_replies.sent_to_email (time-window match), welcome / verify emails from users.created_at. Mobile-friendly grid in the admin email log on top.

auto_awesome
New · v1.22

Sign in with Google and Microsoft

New buttons „Continue with Google" and „Continue with Microsoft" on /login and /register. OAuth 2.0, the multi-tenant Microsoft endpoint covers personal accounts (Outlook, Hotmail, Live) as well as Office 365 / Microsoft 365 work accounts. If you have an existing account with the same email (and the provider verified it), they get linked transparently — no interstitial. New OAuth signup = BASIC plan + 14-day trial (same as standard email registration). 2FA respected — if enabled, you still go through the challenge after OAuth login.

auto_awesome
New · v1.22

Connected accounts in Settings

A new Connected accounts section in /settings → Security. You see all your OAuth providers (Google, Microsoft, Apple later) with email and last-used timestamp. You can unlink (requires current password, mirroring „Sign out other devices") or add another provider via the „Connect X" button. Trust logic: if you explicitly disconnect a provider, the next sign-in attempt via that provider will not auto-link you back — instead we ask you to sign in with a password and re-link from Settings. Without this guard the unlink would be toothless.

arrow_upward
Improved · v1.22

Audit history for account links

Every account link / unlink is now visible in your Account history (at the end of /settings → Security) — when Google was first linked, whether it was auto-linked or manual, when it was unlinked. Serves as an informative trail: if anyone had unauthorized access to your account and linked it with their own Google, you would see it in the audit and could unlink immediately.

arrow_upward
Improved · v1.22

Last seen in the app — admin overview no longer shows stale dates

The column in /admin/users was renamed from „Last login" to „Last seen" with new semantics. The previous version showed only the moment of typed-creds sign-in, so an active mobile user who opens the app daily could have a 7-day-old value (cookie-remembered returns did not touch the column). Now it updates on every authenticated request (5-minute throttle), reflecting real app usage.

auto_awesome
New · v1.21

Waitlist landing before public launch

A new landing page before the public launch — Hero with a mock dashboard, problem comparison, 3 features (cashflow forecasting, scenarios, AI assistant), audience cards, how it works, „Premium free for the first 50" bonus, trust block, FAQ and final segmented form (what you are solving / who you are). The full „app preview" version moved to /preview (noindex). After the public launch the content returns to /.

auto_awesome
New · v1.21

HelpDesk — public ticket form + admin grid

A public form at /helpdesk (auth-aware — signed-in users get pre-fill, guests fill everything). Admin grid at /admin/helpdesk with status filter pills, detail view with reply chain, inline reply form. The client gets an immediate auto-confirmation („we received your request, we will get back to you within a few hours") and admin replies go straight to their email. Ticket history is propagated into /admin/users/{id}/edit.

auto_awesome
New · v1.21

LinkedIn integration + Social Media hub

A new /admin/social tab as a hub for social networks. LinkedIn is live — two OAuth apps (personal profile + Community Management API for company / Showcase pages), a modal in /admin/articles with multi-target publish + editable text. Placeholders for Instagram, Facebook, X and TikTok ready for future integrations.

campaign
Announcement · v1.21

Updated legal documents — Terms, Privacy and Cookies v2.0

Terms, Privacy and Cookies all at version 2.0 effective from 8 May 2026. Privacy explicitly names the real processors — Hetzner DE (hosting), SvetHostingu CZ (SMTP), PayPal LU (payments), Sentry US (monitoring with GDPR scrubbing), Anthropic US (Claude AI), OpenAI US (DALL-E hero images). HSTS detail, SSL Labs A+, retention timeline, AI opt-in toggle, Czech DPA contact. Plus a new optional „marketing consent" checkbox in /register with full audit trail.

auto_awesome
New · v1.20

Investments Phase 2 — units, CoinGecko prices, XIRR

A five-step extension of the investments module in one day. On a product you enter unit count + initial cost basis (optional). For crypto just pick the coin via search — Treziqo pulls daily prices from CoinGecko and creates valuations for you. Plus portfolio-wide XIRR (annualised return that respects deposit timing, like Excel) in the stats strip next to Yield %. And historical backfill of valuations from CoinGecko data — for a product with units_initial_date a queue job is dispatched after save that pulls the entire daily price chart history and creates valuation rows.

auto_awesome
New · v1.20

Net worth across everything — new widget

A hero card on the dashboard that sums cash across accounts, investment value, and subtracts remaining liability principal — all converted to your portfolio currency. A single number that makes sense across Revolut, your bank, mintos, and a crypto wallet. Below the main number is a breakdown into cash / investments / liabilities with entity counts. The 12-month trend chart is coming in a follow-up update.

auto_awesome
New · v1.20

Crypto prices right on the dashboard

A conditional widget — if you have at least one CoinGecko-linked crypto product, the dashboard shows a list with the current price and 24h change for each coin (with icon). Cached 30 minutes, no spam towards the CoinGecko API. If you don't have crypto, the widget won't show at all. Plus a „Goal of the period" hero widget — takes your largest active savings goal and turns it into a progress card with pace (on track / ahead / behind).

arrow_upward
Improved · v1.20

Investment product edit form — sticky side panel

The /investments/{id}/edit form grew with auto-pricing, initial holdings, tags, and was starting to feel chaotic. New layout: 2/3 main content (Basics, Currencies & account, Classification, Auto-pricing, Initial holdings, Extras) + 1/3 sticky side panel (Visual — icon + color, State — active + sort order). Each section via a unified card component, dark mode throughout. Ergonomics similar to Stripe / Linear edit screens.

auto_awesome
New · v1.19

Sentry — error monitoring on PROD

Treziqo now knows when something breaks on PROD without you having to watch logs. Sentry catches runtime errors with a GDPR-safe scrubber (no emails, passwords, 2FA codes, or PayPal data in reports) and a release linker connects each issue to a specific commit hash. Bonus: today after deploy the /quick page broke (Blade compile error) — Sentry caught it within 1 minute. Without it, nobody would have seen it until someone complained. Hotfix within 5 minutes.

auto_awesome
New · v1.19

Savings goal linked directly to an investment product

A savings goal (emergency fund, IRA, vacation…) can now be linked directly to a specific investment product. In one place you see: how much you've saved (real balance from investments), how much is left, and when you'll hit the goal at your current monthly contribution. Plus a hierarchical breakdown — you can have a „Car" goal with sub-goals (down payment + first year fuel). In /budgets the „Goals" section splits by type (cash vs investments).

arrow_upward
Improved · v1.19

Analysis filter — complete redesign

The /analysis filter had a different shape than /transactions — now unified. Categories have icons and a grid layout, top 14 most used appear by default. Tags can finally be filtered (chip toggle with palette colors). Hidden accounts are hidden by default; the „Show hidden accounts (N)" toggle brings them back. Plus an „Apply filter" button — previously you could only submit by clicking a period pill.

arrow_upward
Improved · v1.19

Mobile dashboard — drilldown straight to account

Clicking a specific account in /m jumps straight to /m/transactions filtered to that account (previously it was a jump anchor to /m/accounts). Plus the button in the /m/transactions?account_id=X header passes the filter into /quick — the wallet is preselected, no need to scroll. The „My accounts" header is now a clickable link to /m/accounts.

auto_awesome
New · v1.18

Multi-currency portfolio + FX rates from CNB and ECB

A new „Total portfolio" widget on /investments with a currency picker. Pick CZK / EUR / USD / PLN — all investments convert via the current rate and you see one total. Next to the currency code in each per-currency box there's a live rate („EUR = 24.5200 CZK"), so you always know how it was computed. Treziqo pulls rates daily at 16:00 from two official sources: Czech National Bank (daily fixing) + European Central Bank via the Frankfurter API. Rates are stored historically for a future portfolio-over-time chart.

auto_awesome
New · v1.18

Tracking-only deposits — pension and payouts outside the bank

The deposit and withdrawal form on the product detail has a new checkbox „Tracking only (no account transfer)". Use it when: an employer sends a pension contribution outside your bank, the pension payout goes to an external account, or you're doing a historical backfill without a real movement. The entry is recorded into the investment history, but no fictitious transfer hits the bank.

arrow_upward
Improved · v1.18

Investments — archive, type filter, bulk actions

A type filter — the chip strip shows only types you actually use (ETF, crypto, savings, …). Click filters the list and totals. Archive vs active — products that have served their time (paid-out pension, sold ETF) are archived instead of deleted. Bulk archive via multi-select in the table + sticky action bar at the bottom. Auto icons — a new product gets an icon based on its type (pension = 🐖, crypto = 🪙, ETF = 📈, …) without manual clicking.

auto_awesome
New · v1.18

Self-hosted DB backups — daily mysqldump

Treziqo now runs a daily mysqldump (3 AM) with retention of 14 days / 8 weeks / 6 months. In /admin/backups you have a history UI + the option to download a backup manually. No paid Forge service — our own implementation, ensuring your data won't disappear even during a hosting incident.