Trac records your money movements as activities. An activity is an accounting-aware way to capture a buy, sell, dividend, transfer, or other money movement — it tracks not just the amount, but where the money came from and went, and what happened to the individual lots of shares you own.
This guide walks through what you’ll see on a holding and how to do the most common things: add an activity, choose the level of detail you enter it at, and review your lots and gains.
Find what you need#
A few ideas carry the whole page:
- Every holding keeps its books with the Structured accounting model — double-entry postings, per-lot cost basis, and date-precise reconciliation, handled for you automatically. See The Structured accounting model.
- You add and edit activities through one editor, at whichever level of detail matches how you think — plain questions, ledger lines, or debits-and-credits. See Add an activity and Pick the right level of detail.
- Once activities exist, a few tabs make sense of them — lots, position, realized gains, statistics — and a few special states (voided, pending, merged, duplicate) change how an entry is treated without erasing its history.
Jump straight to a task:
See your activity
- What a holding’s activity looks like — the Activities, Accounts, Lots, Position, Realizations, and Price History tabs, and the ⋯ menu’s actions
- Show or hide voided events
- Pending events — the tint that marks an event as not yet settled at the source
Add or edit an activity
- Add an activity and Pick the right level of detail — Guided, Ledger, or Accounting mode
- What Trac checks before saving — balance, empty events, and future dates
- Share a link to an event
- The Postings, Position Movements, and Lot Activities sections
- Add a note to a posting
- Merge two activities into one — fold a duplicate entry into the one you’re keeping
- View an activity’s integration data
- Create your own activity types — build a guided form for money movements you record often
Review the results
- Review your lots, positions, and gains
- Mark an event as a duplicate — keep a double-recorded event out of your statistics without deleting it
- See how a statistic was calculated
- Find activities — search and the Explorer data grid
Keep history accurate
- Reconciled dates and locked history and Locked holdings
- Automate activities
- Where activities show up — importing and exporting, Traci, reports, and Data Management
The Structured accounting model#
Every holding shows its money movements as activities, and every holding keeps its books with the Structured accounting model: full double-entry treatment, per-lot cost basis and realized gains, the structured statistics, and date-precise reconciliation (Reconcile Through Month…).
There is nothing to configure — new holdings are Structured automatically, and there is no separate transaction list or transaction form anymore. (Older accounts may have used a simpler “Legacy” transaction model; that model is retired and its setting no longer appears in the app.)
What a holding’s activity looks like#
When you open a holding, its money movements appear in the Activities view, organized into tabs:
| Tab | What it shows |
|---|---|
| Activities | One card per event (buy, sell, dividend, and so on). This is the main list. |
| Accounts | A ledger view of where money moved, grouped by account, with running balances. |
| Lots | Each lot of shares you own, with its current units, cost basis, and history. |
| Position | The events that changed your share count, with a running total of units. |
| Realizations | Your sales, showing proceeds and the gain or loss on each one. |
| Price History | Price history (shown only when you have price updates). |
The Lots, Position, and Realizations tabs appear only for holdings that track shares or units — not for plain cash holdings. The Price History tab reads the same for every holding, ticker-linked or not, and it appears only once the holding has price updates.
The ⋯ (more) menu at the top of this view lets you:
- Add Activity — record a new event (see below).
- Clear Activities — remove the events shown in the current view (you’ll be asked to confirm).
- Add Price Update.
- Reconcile Through Month… — close the books on this holding through the end of a chosen month (Structured holdings only; see Reconciled dates and locked history).
- Group Activities / Sort Activities — group (by month, quarter, year, and so on) and sort the Activities list.
- Show Voided / Hide Voided — show or hide voided events in the Activities list (see Show or hide voided events). This entry only appears when the holding actually has a voided event.
- Refresh Prices — pull the latest market price for a ticker-linked holding.
Each event card in the Activities list also has its own menu with per-event actions: View, Edit, Flag, Duplicate, Merge, Set Reconciled, and Delete. Which actions appear depends on the event.
Show or hide voided events#
Voided events are kept for your records but hidden from the Activities list by default, so the list shows only events that still count. When a holding has at least one voided event, the ⋯ menu gains a Show Voided action; choose it to reveal the voided rows, and the same action flips to Hide Voided to tuck them away again.
Whether they’re shown or not, voided events are always left out of running balances and the running-units totals — revealing them only adds the rows back to the list, it doesn’t change any of the numbers. A voided event appears dimmed with a Voided badge so it’s easy to tell apart from the events that still count.
Pending events#
Some activities come from a connected integration (such as a brokerage sync) whose underlying transaction hasn’t settled at the source yet. Trac marks these pending and tints their card, so you can tell at a glance which events are still provisional. Pending is set automatically from the integration — you don’t toggle it yourself — and it’s independent of the event’s own status: a posted event can still show as pending until the source transaction clears. The tint is only a visual cue; a pending event otherwise behaves like any other event and the numbers don’t change because of it.
Add an activity#
Choose Add Activity from the ⋯ menu (or tap an existing event to edit it) to open the activity editor.
At the top of the form you’ll set:
- Date — when the activity happened.
- Activity — the kind of event: Buy, Sell, Dividend Cash, Dividend Reinvestment, Transfer, Stock Split, Fee, and more. The picker shows a short description of each one, and the list is sorted by name, so the two dividend types sit next to each other. Any custom activity types you’ve defined appear here too (see Create your own activity types).
- Status — whether the event is a draft, a projection, posted, or voided.
- Description — free text to help you recognize it later.
Pick the right level of detail#
The editor offers three ways to enter the same event. Use whichever matches how you think:
| Mode | Best for |
|---|---|
| Guided | The easiest path. Answer plain questions (“Which holding did you buy?”, “How many shares?”, “Total cash paid?”) and Trac builds the accounting for you. |
| Ledger | Entering the debit/credit lines and lot changes yourself, line by line. |
| Accounting | A familiar debits-and-credits (T-account) layout for people who think in journal entries. |
When you choose an activity type, Trac pre-fills the right structure — for example, a Buy starts with the money lines and a new lot already set up — so in Guided mode you usually just fill in the amounts.
What Trac checks before saving#
- The event has to balance. A posted event must have equal debits and credits. If it doesn’t, a balance indicator shows the difference and the Save button stays disabled until you fix it. Drafts and projections aren’t held to this.
- The event can’t be empty. You can’t save an event that has only a date and a type with nothing in it. Save stays disabled, with an inline note, until the event actually records something.
- Future dates ask for confirmation. If the date is in the future, saving shows a prompt — “This activity date is in the future. Do you want to save it anyway?” — so you can confirm or go back and change the date. The future date isn’t rejected, just confirmed.
When everything checks out, tap Save. Trac saves the whole event in one step and shows a brief saving indicator; the holding refreshes with your new event once it’s done. Cancel discards your changes.
If a save fails, the editor stays open with your draft intact so you can fix the problem and try again — it no longer closes and discards your work. An inline error banner at the top of the editor explains why the save failed (for example, an unbalanced ledger, a lot you still need to pick, or a permission error), and it clears as soon as you change the draft or start another save.
Share a link to an event#
When you have an event open in the editor, the Copy link button (the link icon in the editor’s header) copies a shareable link to that specific event to your clipboard, and Trac confirms with a “Link copied to clipboard!” message. Opening the link takes you to the event’s holding and re-opens this same event, so you can paste it into a note or send it to someone who has access to the portfolio. The button is only meaningful once the event is saved and tied to a holding — there’s nothing to link to for a brand-new draft you haven’t saved yet.
The Postings, Position Movements, and Lot Activities sections#
In Ledger mode the event is built from up to three sections:
- Postings — the money lines (debits and credits). This section carries the balance indicator; a posted event’s postings have to balance, and the header shows either a Balanced check or the remaining Imbalance.
- Position Movements — the change to your share or unit count, and the authoritative record of how many units the event added or removed.
- Lot Activities — an optional tax-lot overlay that breaks a movement down by individual lot, so realized gains and remaining cost basis stay accurate. Trac derives the position movement from the lots when you save, so you add lot activities only when no movement has been recorded yet.
The Position Movements and Lot Activities sections appear only when the event actually involves units — and they show up whenever any account on the event tracks units, not just the holding you opened. For example, a cash account paying into an equity holding still gets units sections for the equity side, so a cross-account buy records its share movement correctly. Holdings with no units-tracking account (cash accounts, liabilities, unit-less assets) don’t show these sections at all, unless an event already carries such a line — that stays visible so you can still edit or remove it.
Add a note to a posting#
Every posting has a gear icon that opens Posting Details. There you can attach a free-form note to that specific line — useful for recording why a leg is there or what it represents. For postings against a capital account, the same popup also exposes the contribution, distribution, and recallable-distribution overrides, which reclassify the leg for those stats without changing its amount or the account balance. A small dot on the gear marks any posting that already carries a note or an override.
Merge two activities into one#
When two separate activities really describe the same event — for example a sync created one and you entered another by hand — you can fold them together from the editor. Open the activity you want to keep, then choose Merge with activity in the Postings section:
- Search across the portfolio, or switch to Browse and pick a holding to list its activities. By default the candidates are scoped to within a few days of the activity you’re editing.
- Leave Use current activity on to keep the open activity’s type, or turn it off to adopt the other one’s.
- Pick the activity to merge in and choose Merge.
Its lines are pulled into your draft for you to review, and a banner reminds you the other activity will be deleted on Save. Choose Remove in the banner to back out before saving. Two rules keep synced data safe: an integration-backed activity (for example, from Plaid) is always the one that’s kept, never the one deleted, and two integration-backed activities can’t be merged into each other. Activities that carry tax-lot detail are shown in the list but can’t be merged yet.
View an activity’s integration data#
For activities that came from a connected integration, open Event info (the ⓘ icon in the editor’s header) to see a View Integration Data button. If the activity draws on a single source, it opens that record directly. If it draws on several sources — for instance a merged activity that spans more than one account — it opens an account-keyed picker so you can browse each source’s raw record and step back to the list.
Create your own activity types#
Beyond Trac’s built-in activities (Buy, Sell, the dividend types, and so on) you can define your own activity types for money movements you record often, and give each one a guided form so entering it later is just answering a few questions.
Custom activities live under Configurations → Activities:
- Open Configurations and go to the Activities tab.
- Add an activity (the + button), then give it a Name and an optional Description. The name is what you’ll pick from the Activity dropdown in the editor.
- (Optional) Tap the scroll icon on the row to open the recipe editor and turn the activity into a guided form.
- Save.
A recipe is the guided definition for a custom activity. It has two parts:
- Questions — the fields you’ll answer when you use the activity. Each question is one of: an Amount, Units / shares, a Holding picker, a Cash holding picker, or an Account picker.
- Postings and position movements — the ledger lines the activity builds, with their amounts and units written as simple sums of your answers (for example, a posting amount of “the amount you entered” or “amount minus fee”).
Once a custom activity has a recipe, picking it in the activity editor shows its questions in Guided mode and builds the ledger from your answers, exactly the way a built-in activity does. Recipes are interpreted in the app — the saved event is just ordinary postings and movements, so it behaves like any other activity everywhere else.
Review your lots, positions, and gains#
Once a holding has activities, three tabs help you see the picture:
- Lots lists every lot of shares you own, with its current units and cost basis and a history of what’s happened to it.
- Position shows each event that changed your share count, with a running total of units.
- Realizations shows your sales: the proceeds, and the gain or loss on each.
For example, after you record a Buy and then a partial Sell, the Lots tab shows what’s left in the lot, Position shows your reduced share count, and Realizations shows the gain or loss from the shares you sold.
Mark an event as a duplicate#
If the same activity ends up recorded twice — say a sync and a manual entry both captured one purchase — you can mark one of them as a duplicate of the other instead of deleting it. A duplicate is kept for your records but left out of every statistic, so it stops double-counting without losing the history.
To mark an event, work from its card in the Feed:
- Open the event’s ⋯ menu and choose Mark as duplicate….
- Find the original event this one duplicates. Search across the portfolio by typing, or switch to Browse and pick a holding to list its events. (You can’t pick the event itself.)
- Select the original and choose Mark duplicate.
Once marked, the event shows dimmed with a Duplicate badge, and its Feed ⋯ menu changes:
- View original opens the event this one is a duplicate of, in a read-only card.
- Remove duplicate mark clears the mark and brings the event back into your statistics.
This duplicate treatment isn’t limited to one screen. A duplicate-marked event appears dimmed with its Duplicate badge everywhere its card shows up — the holding’s Activities list, the Feed, search results, and the general ledger — so it reads the same way no matter where you come across it.
See how a statistic was calculated#
On a structured holding, the numbers in the Statistics card are tappable. Tap a statistic to open the stat inspector, which shows exactly how that number was worked out:
- The formula the statistic uses.
- The same formula with real values filled in, so you can see how it adds up
(for example,
$85.00 / $250.00 = 34%). Money values appear as tappable chips. - Tap a money chip to drill into the underlying entries — Trac opens the matching list of ledger lines for that statistic’s holding and date range, and they add up to the value shown.
- If a statistic is built from another statistic, you can tap through to inspect that one too.
- The pencil in the header opens the statistic’s settings so you can adjust a custom formula without leaving the inspector.
Find activities#
A few places in the app let you work with activities beyond a single holding’s page:
- Search — the Tx Search mode searches your activities, newest first. You can edit or delete a result right from the search results.
- Explorer — the spreadsheet-style data grid has views for Activities, Postings (the money lines), and Lot Activities (the lot changes). Each view lets you filter, sort, edit cells inline, batch-edit, and delete, just like the other data types.
Reconciled dates and locked history#
Holdings can have a reconciled date — a cutoff through which your books are considered closed and shouldn’t change. Activities respect that cutoff:
You can’t add or edit an event dated on or before the reconciled date of a holding it affects. If you try, the save is blocked with a message explaining the reconciliation conflict.
In the Activities list, a “Reconciled through <date>” divider marks the boundary between closed and open history, showing the exact day the books are closed through. If the reconciled date comes from a parent account rather than the holding itself, the divider notes that it’s inherited.
To move the cutoff forward, you have a few options:
- Set Reconciled on an event card advances the cutoff to that event’s exact date (not the end of its month).
- Reconcile Through Month… in the ⋯ menu closes the books through the end of a month you pick.
- Mark Reconciled on the holding’s detail page opens a date picker so you can choose the cutoff directly.
The cutoff only moves forward — an earlier reconcile won’t pull it back.
To reopen a structured holding’s books, choose Remove Reconciliation on the holding’s detail page; this clears the cutoff so you can edit the earlier events again.
Locked holdings#
A holding can also be locked outright (separate from the reconciled-date cutoff). When a holding is locked, Trac hides the editing controls for its activities: the per-event ⋯ menu and the Set Reconciled action don’t appear, and tapping an event row won’t open the editor. This applies no matter which tab you’re on — Activities, Accounts, Position, Realizations, or Lots — so a locked holding’s history can’t be changed from any of them. Unlock the holding from its detail page when you need to edit it again.
Automate activities#
You can set up automation rules that act on activities. Under Configurations → Automation Rules, create a rule and choose the Activity entity type. You can then match on event details (such as activity, dates, status, description, or notes) and have the rule set fields automatically. Rules run as you create and update events, and anything a rule changes still has to pass the same balance and content checks as a manual edit.
Where activities show up#
Activities flow through the rest of the app, so a holding’s history is reachable from all of these places:
- Importing and exporting — batch import can create activities, postings, and lot activities from a spreadsheet, and exporting a holding includes its events.
- Traci, the AI assistant — Traci recognizes these events (it calls them activities) and can create, update, and explain them.
- Reports and the Feed — activity cards appear in the Feed’s Activity tab, and report columns can draw on the structured ledger (postings and the configurable statistics) as well as the built-in statistics.
- Data Management / Issues — the Explorer data grid edits Activities, Postings, and Lot Activities (see Find activities), and Issues are detected on activities too.