A client file holds one set of books: its accounts, evidence, and decisions.
Grey rows are evidence — what your imports saw. Brass rows are posted — your decision about that evidence. Nothing is posted until you say so. Tick rows to categorize in bulk, or click a row to post it with details.
0 selectedTwo rows:
When (UTC)
Account
Asset
Qty
Fiat (evidence)
Fee
Counterparty / memo
Source
State
Category
Loading…
Add an account
Name
Kind
Chain
Address / exchange
Group
Chain sync
Every number here is a calculation from your posted lines only — unreviewed and drafted rows are ignored. Re-run after you post or change anything. Warnings tell you where the books are incomplete; the engine never guesses.
Warnings
Disposed
Asset
Qty
Proceeds
Basis
Gain
Term
Lot
No calculation yet.
A period is a tax year (or any range) you close. Closing takes a frozen snapshot of the calculation and locks every row in range. Locked rows never change in place — corrections are dated adjustments in the open books, and everything is in the audit log. Only the trader can reopen.
New period
Rules are your standing instructions: "when a row looks like this, my category is that." A rule proposes by default — matching rows turn to drafted and wait for you. Turn on auto-post only when you want a rule to post for you; every line it posts is audited as rule:<id>. Rules touch unreviewed rows only — never anything you've posted.
New rule
When all of these hold (leave blank to ignore):
Rules also run automatically after every import.
On
Name
When
Then
Mode
Priority
No rules yet.
Every report is a calculation over your posted books and the last calculation run (or the closing snapshot for a closed period). A report on an open period says DRAFT on every page. The CPA bundle is one download a CPA can follow end to end: the Closing Ledger PDF plus every CSV, with line ids, lot ids, evidence ids and the audit log tied together.
Downloads
CSV:
Secure delivery
Release this closed period's documents to someone without an account — your CPA, a lender. They get an emailed link, prove the address with a one-time code, and every download link works once for ten minutes. You see every open in the delivery receipt below and can revoke at any time. Nothing is attached to any email.
Recipient
Released
Expires
Status
Last opened
Delivery receipt (every event, append-only)
When (UTC)
Who
Event
Document
IP
Country lines
Account
Disposals
Proceeds
Basis
Gain
Income
Fees
Everything here is computed from posted books and your calculation runs — closed periods from their frozen snapshot, the open period from the last run. Unreviewed rows and proposals are never counted. Run the calculation on the Gains tab after posting to refresh.
Realized gain by year
Short-term and long-term stacked; losses drawn below the line. Closed years are marked.
Short-termLong-termNet loss
By month
Realized gain per month.
By account
Net realized gain per account; income and fees in the table.
Account
Group
Net gain
Income
Fees
Lines
By token
Net realized gain per asset (top 8, rest folded into Other); holdings from open lots in the table.
Asset
Net gain
Income
Qty held
Basis held
By category
Posted lines per category with the fiat value flowing in and out (evidence prices).
Category
Lines
Value in
Value out
Matches below are suggestions — same asset leaving one of your accounts and arriving in another within 48 hours, amounts within the fee. Nothing is posted until you accept. Accepting posts both legs and links them as one internal movement (not two taxable events).
Out of
When
Qty
Into
When
Qty
Gap
Click "Find transfer matches".
CSV file
Any exchange export. You confirm which column is which; we save that per account.
Coinbase export
Coinbase → Statements → Transaction history (CSV). Fixed layout, nothing to map. Buys, sells, sends, receives, converts and rewards become evidence rows with Coinbase's own price and fee as evidence.
Manual entry
Something no file has. Recorded as evidence you typed; you'll categorize it like any other row.
Started
Account
Source
Status
New rows
Duplicates
File
When
Who
Source
Table
Field
Old
New
People on this file
Email
Role
Status
Delete this client file
Removes every account, evidence row, posted line, period, calculation and the audit log of this file. Exports you downloaded stay with you. This cannot be undone — download the CPA bundle first if you want a record.
A plan is bought per client file, per tax year. It sets how many lines you can post for that year and which documents we build for it. It never changes your books: nothing posted is edited, hidden or recalculated by a plan. Free covers one client file with 100 posted lines a year.
This file
Choose a plan
Purchases
When
Tax year
Plan
Paid
Status
QuickBooks is an export destination, never a source. KŌINIbōōks stays the subledger of record — evidence, lots and the audit trail live here. What crosses over is the summary journal entry a CPA would otherwise type by hand: net realized gain or loss, income by kind, and fees, for one period. Nothing in QuickBooks ever changes your books, and only posted lines are ever counted.
Connection
Checking…
Account mapping
Say which of your QuickBooks accounts each figure lands in. This is your assertion about presentation — it is audited like any other, and it never changes what a number is. Only the concepts an entry actually uses have to be mapped.
Figure
Expects
Your QuickBooks account
Post a period
Line
QuickBooks account
Posting
Amount
What QuickBooks will record as the memo
What we have put in QuickBooks
When
Period
Result
Debits
Credits
Posting the same period again updates the same QuickBooks entry — a year can never be booked twice.
Evidence row
KŌINIbōōks records what you tell it. Imports are evidence; categories, matches and lot choices are yours. Informational only — not tax or legal advice. Public addresses only; we never ask for keys.