Investments Module
Tracking Investments
How to record a holding, put more money in or take it out, and keep its value current — with every real cash movement flowing straight into your books.
Start here
1Before you start
Investments doesn’t hold its own cash. Every holding is funded from a real bank account, and every dollar you put in or take out moves through Banking as a real transaction — so you need at least one bank account set up before you can add a holding.
Adding a holding, contributing more, or withdrawing all require a bank account to move the money through. If Banking has no accounts yet, set one up first.
This module is built for personal-style holdings — a brokerage account, a retirement account, crypto, real estate, or anything else with a quantity and a value that moves on its own, separate from cash in/out. It’s not a stock-trading platform; you tell it what a holding is worth, it doesn’t look that up for you.
2Add a holding
In Investments, click + Add Investment. Fill in:
| Field | Notes |
|---|---|
| Name | Whatever you call it — e.g. “Vanguard Brokerage” or “BTC Wallet.” Required. |
| Category | Brokerage / Stocks, Retirement Account, Crypto, Real Estate, or Other. |
| Amount | The initial money going in. Required, must be greater than zero. |
| Quantity | Optional — shares, units, or coins, if that’s meaningful for this holding. |
| Bank Account | Which account the initial money came out of. Required. |
| Date | Defaults to today. |
| Notes | Optional. |
Click Save. This does two things at once: records a real outflow transaction on the bank account you picked, and creates the holding with its current value set to the amount you just put in. That first contribution becomes the holding’s opening entry in its activity history.
Every contribution and withdrawal posts against a single “Investments” asset account (code 1200) in your Chart of Accounts, created automatically the first time you use this module if it doesn’t already exist.
3Add more money
Open a holding and click Contribute. Enter the amount, the bank account it’s coming from (defaults to the same one you used before, but you can pick a different one), an optional quantity change, and a date. This records another real outflow transaction and raises the holding’s current value by that amount.
4Take money out
Open a holding and click Withdraw. Enter the amount, the bank account the money is going to, and a date. This records a real inflow transaction and lowers the holding’s current value.
A withdrawal can’t exceed the holding’s current value. If the holding is worth $2,000, you can’t withdraw $2,500 — bring the value up to date first if it’s stale (see Update its value).
If a withdrawal brings the holding’s value down to essentially zero, it’s automatically marked Closed.
5Update its value
The market moves a holding’s value with no cash changing hands — that’s what Revalue is for. Open a holding, click Revalue, and enter the new current value, a date, and an optional note.
Unlike a contribution or withdrawal, this doesn’t touch Banking — there’s no real bank transaction behind a value change. If your company uses double-entry accounting, though, the difference between the old and new value still posts a real GL journal directly to Accounting:
Example — a holding worth $10,000 revalued up to $10,750
A loss posts the same pair the other way — debiting Other Income and crediting Investments, so a negative revaluation shows up as a reduction to non-operating income rather than a separate expense account. Simple-mode companies skip the journal; only the holding’s on-file value changes.
Common tasks
Closing out a holding
Selling off or fully cashing out a holding for good? There’s no dedicated “close” button — you get there by withdrawing everything.
-
Bring the value current
If the holding’s on-file value doesn’t match what it’s really worth right now, Revalue it first so the withdrawal amount is accurate.
-
Withdraw the full current value
Use Withdraw and enter the whole remaining value, sent to whichever bank account actually received it.
-
Confirm it’s marked Closed
Once the value hits zero, the holding’s status flips to Closed automatically. You can also set Status to Closed by hand from the holding’s edit form at any point, independent of its value.
Checking your gain or loss
Every holding shows an Unrealized Gain / Loss figure — current value minus net contributed (everything you’ve put in, minus everything you’ve withdrawn). It’s a simple comparison, not a true cost-basis calculation with lot tracking, but it’s a real, useful number for a personal holding. The same figure rolls up across all active holdings as a summary KPI on the module’s main view.
Reference
Holding status & categories
| Status | Meaning |
|---|---|
| Active | Counted in the module’s summary totals and KPIs. |
| Closed | Excluded from summary totals. Set automatically when a withdrawal zeroes out the value, or by hand at any time. |
Categories (Brokerage / Stocks, Retirement Account, Crypto, Real Estate, Other) are for organizing your list — they don’t change how a holding behaves or posts.
What this module doesn’t do
There’s no automatic price feed for stocks, crypto, or anything else. You tell it the current value by hand with Revalue — nothing updates on its own.
Unrealized Gain / Loss compares current value against net cash contributed. There’s no per-lot tracking, so it won’t match a brokerage’s own cost-basis or capital-gains figures exactly.
After a holding exists, you can only edit its name, category, notes, and status directly — the amounts on file only change through Contribute, Withdraw, or Revalue, each of which leaves its own entry in the holding’s activity history.