Skip to content

Transactions and summaries

Once a token has an opening balance, its cost basis page shows two derived views: the transaction timeline and the period summaries built from it.

Both come from your postings. Nothing here is entered by hand. If a figure looks wrong, the cause is upstream in what was posted or how its category is configured.

Only reconciled postings count

A posting reaches the cost basis timeline once it belongs to a reconciliation. Postings made but not yet reconciled are absent entirely, so a token whose period has not been reconciled shows an empty timeline and no summaries, however much has been posted against it.

Period summaries

Grouped by the period on the opening balance, monthly or yearly.

ColumnWhat it is
PeriodThe month or year.
PoolQuantity held at the close of the period.
Avg priceThe pool's average cost per token.
Total costWhat the pool cost in total.
SoldQuantity disposed of during the period.
Acq. cost soldWhat that disposed quantity originally cost, determined by the cost basis type.
ProceedsWhat the disposals brought in.
Realized PnLProceeds less acquisition cost of what was sold.

Period summaries for a token

The table sorts, searches by period, and exports to CSV.

The transaction timeline

Below the summaries, the chronological timeline the summaries are built from, split into two tabs with counts.

ColumnWhat it is
Date, Posting #, Transaction IDWhich posting the row came from.
SideBuy, Sell, or Uncategorized.
Amount, ValueQuantity and its value in your entity currency.
Avg priceThe running average price after this row.
Realized PnLThe gain or loss on this row. Sells only.
Category, DescriptionCarried from the posting.

Search covers posting number, transaction ID, category, side, wallet and description, and the timeline exports to CSV.

Categorised and uncategorised

A row is categorised when its category has a cost basis side set, marking it a buy or a sell.

Everything else lands in the Uncategorised tab. Those rows are not treated as zero. They take no part in the calculation at all, so the pool, the average price and every realised gain are computed as though they never happened.

Check this tab before trusting the numbers

A populated Uncategorised tab is the most common reason cost basis figures look wrong. The fix is to set a cost basis side on the categories concerned, under categories; the timeline recomputes from the postings you already have.

Posting realised PnL

In accounting entities, a period with non-zero realised PnL offers Post realized PnL, which turns the calculated figure into a posting.

The dialog shows what it will create and what it needs:

FieldNotes
Transaction IDGenerated and read-only, in the form REALIZED_PNL:<period>:<token id>.
Realized PnLThe figure from the summary. Read-only: this posts the calculation, it does not let you revise it.
Period end dateThe posting's date: the last day of the period. Read-only.
From account and To accountThe two QuickBooks accounts the posting moves between. Both required, and they must differ.
CategoryRequired.
VAT codeOptional.
DescriptionPrefilled as Realized PnL for <token> <period>, and editable.

Once posted, the period's action changes to View postings, which opens All postings filtered to the entry that was created.

A period can only be posted once; the dialog refuses a second attempt rather than creating a duplicate.

What this needs

Posting realised PnL is available in accounting entities only, and needs write access. Portfolio entities show the summaries without the posting action. See portfolio or accounting.

Next

Categories is where a category is marked as a buy or a sell, which is what puts a transaction on this timeline in the first place.

Crypto accounting, finally automated.