User Manual

Transaction Classification

Last updated March 28, 2026 · Super Admin

Transaction Classification

Every transaction synced or imported into CryptaCount is assigned a type by the classification engine. This type determines how the transaction is journaled, whether it triggers a gain/loss calculation, and how it appears in reports.

Automatic Classification Engine

The classification engine analyzes each transaction's on-chain data to assign a type:

  • Direction analysis — Is the wallet the sender, receiver, or both?
  • Contract interaction — Is this a simple transfer or a smart contract call?
  • Function classification — Over 70 function categories map on-chain function signatures to classification hints (TRANSFER, SWAP, BRIDGE, STAKING, LENDING, etc.)
  • Event parsing — For contract interactions, which events were emitted?
  • Counter-asset detection — Did the wallet receive a different asset in the same transaction (indicating a swap)?
  • Known contract matching — Is the contract a recognized DeFi protocol, DEX router, staking contract, or bridge?
  • Economic intent — The engine assigns an economic intent (INVESTMENT, TRADING, OPERATIONAL, INCOME, EXPENSE, FINANCING, HEDGING, TRANSFER, UNKNOWN) to guide accounting treatment.
![Automatic transaction classification result](../../../assets/screenshots/tx-classification-auto.png)

The classification is deterministic — the same transaction data always produces the same type.

Manual Override

If the automatic classification is incorrect, you can override it from the transaction detail view:

1. Open the transaction detail 2. Click the current type label 3. Select the correct type from the dropdown

![Manual classification override dropdown](../../../assets/screenshots/tx-classification-override.png)

4. Optionally add a note explaining the override 5. Save

The override is recorded in the audit trail. The original automatic classification remains visible for reference.

:::note Overriding a transaction type triggers recalculation of the affected journal entry and any downstream cost basis or gain/loss calculations. :::

Classification Rules

Define rules under Settings → Rules that automatically override the classification for transactions matching specific criteria:

  • Contract address — All interactions with a specific contract get a specific type
  • Token — Transactions involving a specific token are classified a certain way
  • Direction and amount — Combine direction, asset, and amount thresholds
Rules support versioning — you can test rules against existing transactions before activating them.

AI Classification

The AI classification feature under AI Classification in the sidebar is available on qualifying plans. It provides:

  • AI-powered suggestions — Machine learning model analyzes transaction patterns and suggests classifications
  • Accept/reject workflow — Review AI suggestions individually or in bulk
  • Bulk accept/reject — Process multiple AI suggestions at once
  • Generate suggestions — Trigger AI analysis for unclassified transactions
AI classification supplements the rule-based engine — it catches patterns that static rules miss, especially for novel DeFi protocols.

Revenue Classification Rules

Revenue classification rules under Revenue Rules in the sidebar provide specialized handling for revenue-generating transactions:

  • Revenue contract rules — Define rules for recognizing revenue from specific token flows or contract interactions
  • Registry levels — Rules can be defined at global level, workspace level, or per-token level
  • Test matching — Validate rules against sample transactions before activating
  • Toggle — Enable/disable rules without deleting them
This is particularly useful for businesses that receive crypto as payment — rules can automatically classify incoming transfers from known customer addresses as revenue.

Bulk Reclassification

For recurring misclassifications:

1. Filter the transaction list to show affected transactions 2. Select all matching transactions 3. Use Bulk Reclassify and choose the correct type 4. Review and confirm

Common Misclassifications

| Symptom | Likely Cause | Fix | |---|---|---| | Staking rewards shown as TRANSFER_IN | Contract not recognized as staking | Override to STAKING_REWARD or add a rule | | DEX swap shown as two separate transfers | Complex routing not detected | Override to SWAP | | Bridge shown as TRANSFER_OUT with no BRIDGE_IN | Destination chain wallet not connected | Connect destination wallet, or manually add BRIDGE_IN | | All token transfers showing as TRANSFER_OUT | Address comparison issue | Check wallet address format |

Was this article helpful?

Let us know if this answered your question

Transaction Classification — CryptaCount Support