Skip to content

Accounting Engine

The accounting engine is the core of CryptaCount. It transforms classified transactions into proper double-entry journal entries through a structured pipeline, maintains a chart of accounts, and manages accounting periods with formal close workflows.

The Accounting section in the sidebar provides access to:

Sidebar LabelFeature
Accounting → Opening BalancesSet opening balances for existing positions
Accounting → Accounting PeriodsManage accounting periods
Accounting → Period ClosePeriod close workflow with validation checks
Accounting → Generate JournalsBatch journal generation (migration)
Accounting → Journal EntriesView and manage journal entries
Accounting → ImpairmentImpairment testing
Manual AdjustmentsManual journal adjustments (approval workflow)
Audit AttachmentsSupporting document attachments for audit trail

The pipeline processes events through a status workflow:

PENDING → CLASSIFIED → POSTED (or FAILED / MANUAL_REVIEW / SKIPPED)

The pipeline processes:

  • Raw blockchain events into classified accounting events
  • Classified events into posted journal entries
  • Multi-leg groups (complex transactions with multiple accounting legs)
  • Hash chain verification for tamper detection

Every transaction processed by CryptaCount generates journal entries where debits equal credits.

Example — Purchasing 1 ETH at €2,100:

AccountDebitCredit
Digital Assets — ETH€2,100
Cash / Fiat€2,100

Example — Receiving 0.5 LINK as a staking reward (FMV €7.25):

AccountDebitCredit
Digital Assets — LINK€7.25
Staking Income€7.25

Example — Selling 1 ETH at €2,600 (cost basis €2,100 under FIFO):

AccountDebitCredit
Cash / Fiat€2,600
Digital Assets — ETH€2,100
Realized Gain — ETH€500

Manage GL accounts under Accounting → Chart of Accounts. The chart of accounts uses 8 account types with debit/credit normal balances:

Chart of accounts structure

TypeNormal BalanceDescription
ASSETDebitDigital assets, cash, receivables
LIABILITYCreditBorrowings, payables
EQUITYCreditRetained earnings, reserves
REVENUECreditIncome from operations
EXPENSEDebitOperating costs, fees
CONTRA_ASSETCreditAccumulated depreciation
CONTRA_LIABILITYDebitContra liability accounts
CONTRA_EQUITYDebitTreasury stock, etc.

The chart supports 30 account subtypes for detailed classification (Current Asset, Cash and Equivalents, Receivable, Inventory, Staking Reward, Mining Reward, Transaction Fee, etc.).

GL accounts can be imported, mapped to wallets, mapped to external addresses, and assigned to CEX accounts. Special accounts (like default gain/loss accounts) can be designated.

View and manage journal entries under Accounting → Journal Entries:

Journal ledger with hash chain

  • Create manual journal entries
  • Post draft entries
  • Reverse posted entries
  • Search and filter by date, account, and transaction type
  • Reassign GL accounts on existing entries via Balances → Reassign GL

Each journal entry is cryptographically hashed. The hash chain links each entry to its predecessor — any modification to a historical entry breaks the chain, making unauthorized changes immediately detectable.

Manage periods under Accounting → Accounting Periods:

  • Create monthly or custom periods
  • Open and close periods
  • Year-end close workflow

The period close follows a structured process:

  1. Run checks — Automated validation checks verify data completeness
  2. Review results — View which checks passed or failed
  3. Waive — Optionally waive non-critical failed checks with justification
  4. Close — Formally close the period, locking it from further changes
  5. Reopen — If needed, reopen a closed period (with audit trail)
  6. Lock — Permanently lock a period (prevents reopening)

Set opening balances under Accounting → Opening Balances for wallets that had existing positions before connecting to CryptaCount:

  • Import opening balances from a file
  • Set balances as of a specific date
  • Auto-populate suggested dates based on wallet activity

The journal generation tool under Accounting → Generate Journals provides batch processing for:

  • Migrating transactions that predate the accounting pipeline
  • Regenerating journals after rule changes
  • Status tracking with start/cancel/cleanup controls

Impairment testing under Accounting → Impairment supports:

  • Running impairment calculations across the portfolio
  • Viewing impairment results by asset
  • Different impairment models based on cost basis method (one-way for historic FIFO methods, two-way for NRV methods)

Manual adjustments support an approval workflow:

  • Create adjustment entries with justification
  • Pending adjustments await approval
  • Approve or reject adjustments
  • Post approved adjustments to the ledger

Upload supporting documents under Audit Attachments:

  • Attach files to journal entries, transactions, or periods
  • Upload and download attachments
  • Maintain audit trail with document references

Configure rules under Settings → Rules to automate journal generation:

Accounting rules configuration

  • Define rules with conditions and actions
  • Test rules against sample data
  • Version control for rule changes