Source: https://wealthfolio.app/changelog/3_8_0/

Back

3.8.0

Sep 07, 2026

# Wealthfolio 3.8.0 — Release Notes

3.8 focuses on fixes to cash balances, net worth, spending totals, imports, and retirement calculations. It also includes activity-list improvements, new planning options, and three additional languages.

**Back up your database before updating.** Go to **Settings → Backup & Export → Backup Database** and save the file somewhere safe.

On first launch, 3.8 migrates older transactions so their amount represents the **final cash paid or received, including fees and taxes**. This can change historical cash balances and returns. **The app does not create an automatic backup for this migration.**

After updating, check **Activities → Needs review** and confirm any flagged transactions against your records. If you use device sync, update all your devices before adding or editing transactions.

## What changes when your activities are upgraded

Version 3.8 updates older activities so **Amount is the final cash paid or received, including fees and taxes**. For example, a purchase of 10 shares at $100 with a $5 fee has an amount of $1,005. The fee is not deducted again when calculating your balance.

On the first launch after updating:

-   Trades with missing totals, or totals matching the price before charges, are updated when their details are complete. Older zero trade totals can also be calculated.
-   A total that conflicts with the trade details is kept and marked **Needs review**.
-   Cash and income amounts with charges are kept for you to check. For example, if a transfer delivered $985, enter $985 as its amount, even if $1,000 was sent.
-   Separate fee and tax rows are checked for charges stored in their fee or tax fields.
-   Split ratios and security-transfer values are left alone.
-   Replaced amounts are kept in the activity’s extra data. Affected balances and return histories are recalculated, so historical results may change.

**Check Activities → Needs review after updating.** Compare flagged rows with your statements and confirm the final amounts. The upgrade does not change an activity’s status. A flagged Posted activity still counts; a Draft does not. A Posted row with a missing total cannot contribute its cash movement until corrected.

The app does not create an automatic backup. Use **Backup Database** before updating, and update all synced devices before adding or editing activities. If recalculation fails, the app keeps it pending and retries on a later launch.

For everyday entry and CSV imports, see the new [Activity Fields reference](https://wealthfolio.app/docs/concepts/activity-fields/) and [CSV Import guide](https://wealthfolio.app/docs/guide/csv-import/).

## Improvements and additions

### Spending and activity lists

-   **List performance.** Spending and investment lists load as you scroll and render only the rows in view.
-   **Filtered and selected totals.** See net totals for filtered or selected spending transactions. Foreign currencies have separate totals, with a converted total when rates are available.
-   **Foreign-currency entries.** Record a cash transaction in another currency and enter its exchange rate.
-   **Amount-based rules.** Categorize transactions by amount, including exact values, limits, and ranges. A new Swedish preset covers common local merchants.
-   **Mobile controls.** Status filters and selection controls are available on mobile. Edit and delete actions work on tablets without hover.

([#1429](https://github.com/wealthfolio/wealthfolio/pull/1429), [#1567](https://github.com/wealthfolio/wealthfolio/pull/1567), [#1599](https://github.com/wealthfolio/wealthfolio/pull/1599), [#1627](https://github.com/wealthfolio/wealthfolio/pull/1627); addresses [#1427](https://github.com/wealthfolio/wealthfolio/issues/1427), [#1576](https://github.com/wealthfolio/wealthfolio/issues/1576))

### Retirement planning

Set a pension fund’s payout rate. Choose an annuity or a drawdown fund that keeps its remaining balance invested and stops paying when it runs out. The planner reports the projected depletion age.

Fund previews and projections now use consistent return assumptions after fees. Negative returns and comma-decimal inputs also work correctly. ([#1531](https://github.com/wealthfolio/wealthfolio/pull/1531), [#1539](https://github.com/wealthfolio/wealthfolio/pull/1539), [#1541](https://github.com/wealthfolio/wealthfolio/pull/1541), [#1543](https://github.com/wealthfolio/wealthfolio/pull/1543), [#1555](https://github.com/wealthfolio/wealthfolio/pull/1555))

Lean and Fat FIRE targets now use lower or higher planned spending while keeping pension income and other assumptions in the calculation. Projection labels now describe simulated outcomes and their assumptions. Card spacing has been adjusted for smaller screens. ([#1674](https://github.com/wealthfolio/wealthfolio/pull/1674))

### Languages and regional formatting

Added **Italian**, **Brazilian Portuguese**, and **Traditional Chinese**. New formatting regions include Italy, Brazil, Portugal, and Taiwan.

This release also improves financial translations, locale-aware name sorting, and Chinese, Japanese, and Korean text entry. Choosing a character no longer triggers an early submit or closes an editor. ([#1533](https://github.com/wealthfolio/wealthfolio/pull/1533), [#1566](https://github.com/wealthfolio/wealthfolio/pull/1566), [#1588](https://github.com/wealthfolio/wealthfolio/pull/1588), [#1589](https://github.com/wealthfolio/wealthfolio/pull/1589), [#1605](https://github.com/wealthfolio/wealthfolio/pull/1605), [#1634](https://github.com/wealthfolio/wealthfolio/pull/1634), [#1662](https://github.com/wealthfolio/wealthfolio/pull/1662))

### Asset logos

The bundled logos have been replaced with smaller curated images. Logo matching now takes the market and instrument type into account. You can also now upload a custom asset logo, preview it, or reset it to the default. ([#1554](https://github.com/wealthfolio/wealthfolio/pull/1554), [#1631](https://github.com/wealthfolio/wealthfolio/pull/1631), [#1654](https://github.com/wealthfolio/wealthfolio/pull/1654))

### Other improvements

-   **Account selection:** keep the same account or portfolio selected as you move between Insights, Holdings, and Income. Performance adds it as a comparison. The selection lasts until you close or reload the app. ([#1598](https://github.com/wealthfolio/wealthfolio/pull/1598))
-   **Dashboard holdings:** choose Unrealized P&L from the Show menu. Gain sorting follows that choice, and the app remembers your preference. ([#1669](https://github.com/wealthfolio/wealthfolio/pull/1669), addresses [#1623](https://github.com/wealthfolio/wealthfolio/issues/1623))
-   **App launcher:** the search field is wider, and the layout no longer changes height while filtering. ([#1674](https://github.com/wealthfolio/wealthfolio/pull/1674))
-   **Activity review:** see broker review reasons, reclassify unknown transactions, and edit credits and cash or security adjustments. ([#1527](https://github.com/wealthfolio/wealthfolio/pull/1527), [#1614](https://github.com/wealthfolio/wealthfolio/pull/1614))
-   **Rebalancing:** choose which holdings may receive new purchases in Cash Flow Only mode. ([#1486](https://github.com/wealthfolio/wealthfolio/pull/1486), closes [#1141](https://github.com/wealthfolio/wealthfolio/issues/1141))
-   **Asset details:** edit contract multipliers and bond terms. Transaction-based holdings recalculate; broker holdings refresh on the next sync. Existing manual and CSV snapshots are not rescaled. ([#1595](https://github.com/wealthfolio/wealthfolio/pull/1595))
-   **Custom data providers:** JSON API sources now support POST requests and more date placeholders. ([#1354](https://github.com/wealthfolio/wealthfolio/pull/1354))
-   **Add-ons:** new APIs for translations, historical exchange rates, and spending rules. Shared controls now show translated labels. Nested modules load consistently across platforms, and permission controls remain reachable. ([#1276](https://github.com/wealthfolio/wealthfolio/pull/1276), [#1511](https://github.com/wealthfolio/wealthfolio/pull/1511), [#1513](https://github.com/wealthfolio/wealthfolio/pull/1513), [#1536](https://github.com/wealthfolio/wealthfolio/pull/1536), [#1542](https://github.com/wealthfolio/wealthfolio/pull/1542), [#1548](https://github.com/wealthfolio/wealthfolio/pull/1548), [#1640](https://github.com/wealthfolio/wealthfolio/pull/1640), [#1659](https://github.com/wealthfolio/wealthfolio/pull/1659))

## Fixes

### Transaction amounts and cash balances

Cash balances now use each transaction’s final amount, including fees and taxes. Previously, recalculating that amount from quantity and price could produce a different total and cause cash balances to drift.

Forms show a calculated total. You can edit it to match your statement. Imports and broker sync use the same rules. Totals that cannot be verified are flagged for review.

For deposits, withdrawals, and cash transfers, enter the actual amount moved. A separate fee field is informational; it is not deducted again. ([#1571](https://github.com/wealthfolio/wealthfolio/pull/1571), fixes [#1334](https://github.com/wealthfolio/wealthfolio/issues/1334))

### Other fixes

-   **Net worth:** negative cash now reduces the total correctly. New balances show “New” instead of misleading percentages. The breakdown adapts to narrow cards and large values. ([#1458](https://github.com/wealthfolio/wealthfolio/pull/1458), [#1660](https://github.com/wealthfolio/wealthfolio/pull/1660), [#1668](https://github.com/wealthfolio/wealthfolio/pull/1668))
-   **Privacy:** Hide amounts now covers activity lists and details, dashboard share counts, allocation details, and composition tooltips. ([#1664](https://github.com/wealthfolio/wealthfolio/pull/1664))
-   **Spending insights:** category totals cover the full period, not just loaded transactions. Date ranges, daily pace, currency labels, and dashboard links are more consistent. Long notes stay within the list. ([#1569](https://github.com/wealthfolio/wealthfolio/pull/1569), [#1583](https://github.com/wealthfolio/wealthfolio/pull/1583), [#1650](https://github.com/wealthfolio/wealthfolio/pull/1650), [#1667](https://github.com/wealthfolio/wealthfolio/pull/1667))
-   **Holdings and allocations:** remove tiny cash remnants displayed as zero, respect cash-row sorting, retain account names and chart labels, and include unclassified portions in category drill-downs. Country classification is more precise, and shortcuts let you choose the specific instrument type. ([#1496](https://github.com/wealthfolio/wealthfolio/pull/1496), [#1498](https://github.com/wealthfolio/wealthfolio/pull/1498), [#1502](https://github.com/wealthfolio/wealthfolio/pull/1502), [#1503](https://github.com/wealthfolio/wealthfolio/pull/1503), [#1507](https://github.com/wealthfolio/wealthfolio/pull/1507), [#1508](https://github.com/wealthfolio/wealthfolio/pull/1508), [#1520](https://github.com/wealthfolio/wealthfolio/pull/1520))
-   **Imports:** date detection checks the whole column for day/month order. Reimporting older exported trades no longer creates duplicates because their totals changed during migration. ([#1601](https://github.com/wealthfolio/wealthfolio/pull/1601), [#1625](https://github.com/wealthfolio/wealthfolio/pull/1625))
-   **Performance:** remove false warnings on days without cash flows and when cash and security transfers both have exact values. Recognized imported FX conversion pairs within one account no longer count as contributions. ([#1493](https://github.com/wealthfolio/wealthfolio/pull/1493), [#1655](https://github.com/wealthfolio/wealthfolio/pull/1655), [#1665](https://github.com/wealthfolio/wealthfolio/pull/1665); fixes [#1609](https://github.com/wealthfolio/wealthfolio/issues/1609))
-   **Valuation dates:** alternative assets show their Last Updated date. Valuation and quote dates keep the saved calendar day when displayed or edited across time zones. ([#1672](https://github.com/wealthfolio/wealthfolio/pull/1672), [#1673](https://github.com/wealthfolio/wealthfolio/pull/1673); fixes [#1670](https://github.com/wealthfolio/wealthfolio/issues/1670))
-   **Quotes:** crypto prices update on weekends. Manually priced assets work in benchmark comparisons. Uncertain exchange mappings receive an additional check. ([#1540](https://github.com/wealthfolio/wealthfolio/pull/1540), [#1610](https://github.com/wealthfolio/wealthfolio/pull/1610), [#1646](https://github.com/wealthfolio/wealthfolio/pull/1646))
-   **Reliability:** portfolio recalculation continues with cached quotes when market sync fails. Out-of-range cash calculations are handled without crashing the cash pipeline. Device pairing checks snapshot schema compatibility. ([#1595](https://github.com/wealthfolio/wealthfolio/pull/1595), [#1633](https://github.com/wealthfolio/wealthfolio/pull/1633), [#1642](https://github.com/wealthfolio/wealthfolio/pull/1642))
-   **Self-hosted sign-in:** OIDC refreshes signing keys after a verification failure, so provider key rotation no longer requires a server restart. ([#1611](https://github.com/wealthfolio/wealthfolio/pull/1611))
-   **Interface and desktop:** dialogs contain long text and translated buttons. macOS content clears the window controls. Menu-bar visibility survives restart. Web app icons and Windows source checkouts are fixed. ([#1323](https://github.com/wealthfolio/wealthfolio/pull/1323), [#1581](https://github.com/wealthfolio/wealthfolio/pull/1581), [#1607](https://github.com/wealthfolio/wealthfolio/pull/1607), [#1639](https://github.com/wealthfolio/wealthfolio/pull/1639), [#1653](https://github.com/wealthfolio/wealthfolio/pull/1653), [#1658](https://github.com/wealthfolio/wealthfolio/pull/1658))

## Thanks

Thanks to [@AlexanderBabel](https://github.com/AlexanderBabel), [@blastik](https://github.com/blastik), [@charlie890414](https://github.com/charlie890414), [@DamienKCorp](https://github.com/DamienKCorp), [@fmaass](https://github.com/fmaass), [@guerrantif](https://github.com/guerrantif), [@hungchihsueh](https://github.com/hungchihsueh), [@Jonjon-prog](https://github.com/Jonjon-prog), [@kryofin](https://github.com/kryofin), [@loreboldo](https://github.com/loreboldo), [@marcoscale98](https://github.com/marcoscale98), [@MobilettoSoft](https://github.com/MobilettoSoft), [@Neallin-917](https://github.com/Neallin-917), [@nimula](https://github.com/nimula), [@otherness](https://github.com/otherness), [@rwgs](https://github.com/rwgs), and [@thibaultserti](https://github.com/thibaultserti) for contributing. And to everyone who reported a bug or helped test a fix. 💛

[Full changelog on GitHub](https://github.com/wealthfolio/wealthfolio/compare/v3.7.0...v3.8.0)
