Crypto Accounting for Estonian Companies
A complete bookkeeping setup guide for Estonian OÜs holding or trading crypto assets — chart of accounts, IAS 38 measurement under cost and revaluation models, impairment testing, journal entries for every transaction type, and the monthly close process.
5 Key Takeaways From This Page
Choosing IAS 38 or IAS 2, selecting FIFO or weighted average, and deciding on cost model vs revaluation model are policy elections — not transaction-by-transaction choices. Document them before you acquire your first crypto asset and apply them consistently.
Under the IAS 38 revaluation model, increases in fair value are recognised in Other Comprehensive Income (a separate equity reserve), not in profit or loss. This prevents crypto price swings from inflating or deflating your reported EBITDA — only realised gains on disposal flow through the P &L.
Under the IAS 38 cost model, if the market price of your crypto falls below its carrying value, you must test for impairment and write down to recoverable amount. Unlike the revaluation model, write-downs under the cost model go through the P &L — making cost model accounting more volatile in bear markets.
Crypto accounting starts with complete wallet mapping. Every address controlled by the OÜ — hot wallets, cold storage, exchange sub-accounts, DeFi protocol positions — must be identified and included in the accounting universe. Any unmapped wallet creates an incomplete record.
Each crypto transaction must be converted to EUR at the rate prevailing at the moment of the transaction — not at month-end, not at year-end, not at an average rate. This is both an IFRS requirement and an EMTA requirement for tax purposes.
What does crypto accounting involve for an Estonian OÜ? At its core, crypto accounting for a company is the same double-entry bookkeeping as any other asset class — but with three specific challenges: (1) no established IFRS standard requires a policy election between IAS 38 intangible asset and IAS 2 inventory; (2) price volatility creates complex fair value and impairment entries every month-end; and (3) the transaction volume and data sourcing challenges are unlike any traditional business. This page sets up the full accounting framework — from chart of accounts to monthly close — for an Estonian OÜ with crypto assets.
Section 1 — Chart of Accounts for a Crypto OÜ
The complete account structure for digital asset holdings, trading, mining, and DeFi activity
Building a Crypto-Ready Chart of Accounts
A standard Estonian OÜ chart of accounts needs significant extension to handle crypto assets. The additions fall into four areas: asset accounts for each crypto holding type (by classification and by asset), contra-accounts for accumulated revaluation and impairment, income accounts for crypto-specific revenue streams (mining, staking, DeFi yields, trading gains), and expense accounts for mining costs, gas fees, and trading costs.
| Code | Account Name | Notes / When Used |
|---|---|---|
| 1000–1999 — ASSETS — DIGITAL | ||
| 1050 | Cash — Crypto Exchange Balances (EUR-equivalent) | EUR held on exchange awaiting deployment; treat as cash equivalent |
| 1100 | Crypto Assets — Bitcoin (BTC) | IAS 38 intangible; cost or revaluation model per policy |
| 1101 | Crypto Assets — Ethereum (ETH) | IAS 38 intangible |
| 1102 | Crypto Assets — USDC / Stablecoins | Monetary asset; treated like EUR cash if fiat-pegged; FX diff if peg deviates |
| 1103 | Crypto Assets — Other Tokens | Catch-all for minor holdings; break out if material |
| 1110 | Crypto Assets — Inventory (Trading Stock) | IAS 2 — for companies whose core business is buying and selling crypto |
| 1120 | DeFi Protocol Positions (LP Tokens) | Fair value positions in liquidity pools; complex valuation |
| 1130 | NFTs Held as Inventory | NFTs held for resale in ordinary course of business (IAS 2) |
| 1131 | NFTs Held as Intangible Assets | NFTs held long-term; not for immediate resale (IAS 38) |
| 1150 | Mining Equipment (Fixed Assets) | Hardware for mining; depreciated over useful life |
| 1151 | Accumulated Depreciation — Mining Equipment | Contra-asset; reduces book value of mining hardware |
| 1160 | Revaluation Reserve — Crypto (Contra Asset) | Accumulated OCI entries from IAS 38 revaluation model; balance tracks cumulative unrealised gains |
| 1200 | Trade Receivables — Crypto Services | Amounts owed for mining services, consulting, exchange services |
| 2000–2999 — LIABILITIES | ||
| 2010 | Trade Payables | Standard supplier payables |
| 2100 | VAT Payable — KMD | Output VAT where applicable (crypto exchange services may attract VAT) |
| 2200 | Crypto Custody Liability | Client crypto held in custody; VASP licenced entities only |
| 2300 | Token Issuance Liability | Proceeds from token sales not yet earned (utility token deferred revenue) |
| 2400 | Income Tax Payable | Distribution tax on dividends; not on retained crypto gains |
| 3000–3999 — EQUITY | ||
| 3000 | Share Capital | Minimum €1 |
| 3300 | Retained Earnings | Includes realised gains on crypto disposals |
| 3400 | Crypto Revaluation Reserve (OCI) | Unrealised gains under IAS 38 revaluation model; separate from P&L |
| 4000–4999 — REVENUE | ||
| 4010 | Revenue — Crypto Exchange / Trading Gains | Realised gains on disposal of crypto assets (trading book); net of costs if inventory |
| 4020 | Revenue — Mining Rewards | Fair market value of mined crypto at time of receipt |
| 4030 | Revenue — Staking and Validation Rewards | Fair market value of staking rewards at time of receipt |
| 4040 | Revenue — DeFi Yield and Liquidity Rewards | Fair market value of yield tokens at time of receipt |
| 4050 | Revenue — Crypto Services (B2B) | Exchange fees, custody fees, API access to trading platform |
| 4060 | Realised Gain on Disposal — Investment Crypto | Gains on disposal of IAS 38 crypto held as investments (not inventory) |
| 4070 | Airdrop and Promotional Token Income | Fair market value of airdropped tokens at receipt if clearly non-zero value |
| 5000–5999 — COST OF REVENUE | ||
| 5010 | Cost of Crypto Sold (IAS 2 — Inventory) | FIFO or weighted avg cost of crypto sold in trading operations |
| 5020 | Mining Operating Costs — Electricity | Direct power costs for mining operations |
| 5030 | Mining Operating Costs — Pool Fees | Mining pool fees as % of block rewards |
| 5040 | DeFi Protocol Fees and Gas | Gas fees on Ethereum and L2 transactions for business-purpose interactions |
| 5050 | Exchange Transaction Fees (Trading) | Fees on crypto trades; included in cost of disposal for IAS 38 holdings |
| 6000–6999 — OPERATING EXPENSES | ||
| 6010 | Depreciation — Mining Hardware | Straight-line depreciation of ASICs, GPUs; typically 2–4 years |
| 6020 | Impairment — Crypto Assets (IAS 38 cost model) | Write-downs when carrying value exceeds recoverable amount |
| 6030 | Custody and Wallet Security Costs | Hardware wallet procurement; custody platform fees; key management |
| 6040 | Crypto Accounting Software | Koinly, CoinTracking, TaxBit subscriptions |
| 6050 | AML / Compliance Costs | KYC tooling; sanctions screening; compliance officer costs |
| 6060 | Legal and Regulatory | VASP/MiCA licence costs; legal counsel on token structure |
| 6070 | G&A — General Operating | Standard office, accounting, bank fees |
Section 2 — IAS 38 Cost Model: Measurement, Impairment, and Disposal
For companies holding crypto as long-term investments with conservative measurement
How the Cost Model Works
Under the IAS 38 cost model, crypto assets are held at their original acquisition cost minus any accumulated impairment losses. Market price movements above the carrying value are ignored — no upward revaluation is permitted under the cost model. Only when the market price falls below the carrying value does an accounting entry arise (impairment). This creates an asymmetric model: losses are recognised, gains are not.
The cost model is simpler to operate than the revaluation model — it requires no monthly price lookups for unrealised gains, no OCI reserve accounting, and no reversal mechanics. However, it means a company’s balance sheet can significantly understate the current value of its crypto holdings in a rising market, and it creates P&L volatility in bear markets when impairment charges are required.
| Market Movement | Cost Model Treatment | Balance Sheet Impact | P&L Impact |
|---|---|---|---|
| Price rises above cost | Ignored — no entry | Carrying value remains at cost (understates current value) | No gain recognised |
| Price falls below cost | Impairment test required | Write down to recoverable amount (lower of carrying value or recoverable) | Impairment loss charged to P&L |
| Price recovers after impairment | Impairment reversal permitted up to original cost under IAS 36 | Carrying value increased back toward original cost | Impairment reversal credited to P&L |
| Asset sold above cost | Realised gain at disposal | Asset derecognised; proceeds received | Gain credited to P&L |
| Asset sold below cost | Realised loss at disposal | Asset derecognised; proceeds received | Loss charged to P&L |
| Asset sold after impairment write-down | Gain measured vs written-down carrying value | Asset derecognised | Gain vs written-down value (not original cost) |
Impairment Testing Under IAS 38 Cost Model
An impairment trigger is an indication that the carrying value may not be recoverable — for crypto, this is typically a sustained fall in market price below cost. When a trigger exists, you estimate the recoverable amount (the higher of fair value less costs to sell, and value in use). For liquid crypto assets, fair value less costs to sell is the relevant measure — essentially the current market price minus transaction fees.
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Impairment Loss — Crypto Assets (6020) | €8,000.00 | |
| Crypto Assets — Bitcoin (1100) | €8,000.00 |
* BTC carrying value €30,000; recoverable amount (market price minus fees) €22,000; impairment loss = €8,000. Charged to P&L. After write-down, BTC is carried at €22,000.
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Bitcoin (1100) | €4,000.00 | |
| Impairment Reversal — Crypto (6020 CR) | €4,000.00 |
* Reversal limited to the original cost (€30,000). Carrying value restored from €22,000 to €26,000. Further recovery above €30,000 not recognised under cost model.
Section 3 — IAS 38 Revaluation Model: Fair Value, OCI, and Month-End Entries
The preferred model for most Estonian crypto OÜs — reflecting current market value on the balance sheet
How the Revaluation Model Works
Under the revaluation model, crypto assets are remeasured to fair value at each reporting date (at minimum annually; in practice monthly or quarterly for crypto given price volatility). Changes in fair value since last revaluation are recognised in Other Comprehensive Income (OCI) — a section of the equity reserve — rather than in profit or loss. This means unrealised gains do not inflate operating profit, but they are visible on the balance sheet and in the statement of comprehensive income.
When a revalued asset is sold, any cumulative OCI gain (the revaluation reserve for that asset) is recycled to retained earnings — not through P&L. The P&L gain on disposal is calculated as: disposal proceeds minus the most recently revalued carrying amount.
| Revaluation Event | Where Recognised | Balance Sheet Effect | P&L Effect |
|---|---|---|---|
| Fair value increase since last revaluation | OCI → Revaluation Reserve (equity) | Asset carrying value rises; equity reserve increases | No P&L impact — gain in OCI |
| Fair value decrease — partially reverses prior OCI gain | OCI → Revaluation Reserve (equity) | Asset carrying value falls; equity reserve decreases | No P&L — reversal of prior OCI gain |
| Fair value decrease — exceeds prior OCI gain | Excess charged to P&L as impairment | Asset carrying value falls below previous OCI baseline | P&L: impairment loss (excess only) |
| Asset disposed above current carrying value | P&L: realised gain on disposal | Asset derecognised; OCI reserve recycled to retained earnings | Gain = proceeds minus current carrying value (revalued) |
| Asset disposed below current carrying value | P&L: realised loss on disposal | Asset derecognised; OCI reserve recycled | Loss = current carrying value minus proceeds |
Month-End Revaluation Schedule and Journal Entries
Each month-end, every crypto asset is revalued to its closing market price. The difference between the new carrying value and the prior carrying value is posted as an OCI entry (if a gain or a reversal within prior OCI) or as a P&L entry (if a loss exceeding prior OCI for that asset).
| Asset | Units | Prior Carrying Value | Month-End Price | New Carrying Value | Revaluation Gain / (Loss) | Posted To |
|---|---|---|---|---|---|---|
| BTC | 0.80 | €24,000 | €55,000/BTC | €44,000 | +€20,000 | OCI — Revaluation Reserve |
| ETH | 5.00 | €10,500 | €2,100/ETH | €10,500 | €0 (no change) | N/A |
| MATIC | 2,000 | €1,800 | €0.70/token | €1,400 | −€400 | OCI — partial reversal of prior gain |
| SOL | 20.0 | €3,200 | €130/SOL | €2,600 | −€600 | OCI — if prior OCI covers; else P&L |
| Total | — | €39,500 | — | €58,500 | +€19,000 | Net OCI gain for October |
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Bitcoin (1100) | €20,000.00 | |
| Crypto Revaluation Reserve — OCI (3400) | €20,000.00 | |
| Crypto Revaluation Reserve — OCI (3400) | €400.00 | |
| Crypto Assets — MATIC (1103) | €400.00 | |
| Crypto Revaluation Reserve — OCI (3400) | €600.00 | |
| Crypto Assets — SOL (1103) | €600.00 |
* BTC gain (+€20,000) credited to OCI reserve. MATIC and SOL losses (−€1,000 total) reduce OCI reserve. Net OCI movement = +€19,000. ETH unchanged — no entry required.
Section 4 — IAS 2 Inventory for Crypto Trading Operations
For exchanges, OTC desks, and companies that buy and sell crypto as their core business
When IAS 2 Applies
IAS 2 (Inventories) applies when crypto assets are held for sale in the ordinary course of business — i.e. when buying and selling crypto is the company’s primary revenue-generating activity rather than a treasury/investment function. A crypto exchange, OTC trading desk, or market-making operation holds crypto as inventory because it is constantly acquiring and selling assets as part of its trading book.
Under IAS 2, crypto inventory is measured at the lower of cost and net realisable value (NRV). Unlike IAS 38’s revaluation model, there is no upward revaluation — if market prices rise above cost, the carrying value stays at cost. If market prices fall below cost, the inventory is written down to NRV (the estimated selling price minus costs to sell).
| Feature | IAS 38 Revaluation Model | IAS 2 Inventory |
|---|---|---|
| Applicable business model | Treasury, investment, holding | Trading, exchange, OTC, market-making |
| Upward revaluation | Yes — to fair value, gains in OCI | No — lower of cost and NRV only |
| Price increase recognition | OCI equity reserve | Not recognised until sold |
| Price decrease recognition | P&L (if exceeds prior OCI) or OCI reversal | P&L — write-down to NRV |
| Revenue presentation | Gross gain on disposal (P&L) | Trading revenue and cost of sales (gross margin model) |
| Cost method | FIFO, weighted average, or specific ID | FIFO or weighted average (specific ID rarely practical) |
| Primary financial statement line | Non-current or current intangible assets | Current assets — inventory |
BTC Trades in October 2024:
Bought: 2.0 BTC @ €40,000/BTC = €80,000 cost
Sold: 2.0 BTC @ €45,000/BTC = €90,000 proceeds
ETH Trades:
Bought: 10 ETH @ €1,900/ETH = €19,000 cost
Sold: 10 ETH @ €2,100/ETH = €21,000 proceeds
P&L PRESENTATION (IAS 2):
Trading Revenue (BTC + ETH): €111,000
Cost of Crypto Sold (FIFO): −€99,000
Gross Trading Profit: €12,000
Gross Margin: 10.8%
* Transaction fees included in cost of acquisition (increase cost base)
* Unsold inventory at month-end: any BTC/ETH held at cost (or NRV if lower)
* NRV check at month-end: if price below cost, write down to current market price
Section 5 — Journal Entries for Every Crypto Transaction Type
The complete accounting entry for each event — buy, sell, swap, receive, mine, stake, pay fees
Buying Crypto With EUR
Purchase: 0.5 BTC @ €40,000/BTC = €20,000 (via exchange)
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Bitcoin (1100) | €20,000.00 | |
| Exchange Transaction Fees (5050) | €40.00 | |
| Cash / Exchange EUR Balance | €20,040.00 |
* Transaction fee (e.g. 0.2% = €40) increases cost of acquisition under IAS 38 — it is part of the cost of the asset. Fees can alternatively be capitalised into the asset cost (reduces subsequent taxable gain on disposal by the fee amount).
Selling Crypto for EUR (Revaluation Model — IAS 38)
Disposal: 0.5 BTC at €55,000/BTC = €27,500 (revalued carrying value was €24,000)
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Cash / Exchange EUR Balance | €27,500.00 | |
| Crypto Revaluation Reserve (3400) | €4,000.00 | |
| Crypto Assets — Bitcoin (1100) | €24,000.00 | |
| Realised Gain — Disposal (4060) | €7,500.00 |
* Carrying value at disposal = €24,000 (after revaluations). Proceeds = €27,500. P&L gain = €27,500 − €24,000 = €3,500. Additionally: accumulated OCI reserve for this BTC (€4,000) is recycled — debit OCI Reserve / credit Retained Earnings (internal equity transfer).
Crypto-to-Crypto Swap (ETH to MATIC)
Swap: 1.0 ETH (carrying €2,000, FMV €2,100) for 3,000 MATIC (FMV €2,100)
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — MATIC (1103) | €2,100.00 | |
| Crypto Assets — Ethereum (1101) | €2,000.00 | |
| Realised Gain — Disposal (4060) | €100.00 |
* ETH disposed at FMV (€2,100). Cost base of ETH was €2,000. Gain = €100 recognised in P&L. MATIC acquired at €2,100 (FMV at swap) — this becomes MATIC’s new cost base. Gas fee for the swap is added to MATIC’s cost or expensed (policy choice).
Receiving Mining Rewards
Mining: 0.002 BTC received when price = €50,000/BTC → FMV = €100
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Bitcoin (1100) | €100.00 | |
| Revenue — Mining Rewards (4020) | €100.00 |
* FMV at time of receipt = income. €100 is revenue in the period received. Also becomes the cost base for this 0.002 BTC — so a future sale at the same price creates no additional gain.
Receiving Staking Rewards
Staking: 50 tokens received when price = €0.80/token → FMV = €40
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Other Tokens (1103) | €40.00 | |
| Revenue — Staking Rewards (4030) | €40.00 |
* Same treatment as mining. FMV at receipt = income AND new cost base. If tokens are later sold at €1.00, additional gain = (€1.00 − €0.80) × 50 = €10.
Paying Gas Fees in ETH
Gas Fee: 0.003 ETH gas for a DeFi transaction (ETH price €2,000 → fee = €6.00)
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| DeFi Protocol Fees and Gas (5040) | €6.00 | |
| Crypto Assets — Ethereum (1101) | €6.00 |
* Gas fees paid in ETH are a disposal of that ETH at current market value. The ETH cost base is reduced by the amount disposed. If the ETH disposed has a different cost base than the current market price, a small gain or loss arises on the ETH portion.
Transferring Between Own Wallets (Non-Taxable)
Transfer: 0.5 BTC from Coinbase exchange to own hardware wallet
| Account | Debit (DR) | Credit (CR) |
|---|---|---|
| Crypto Assets — Bitcoin — Cold Storage (1100a) | €24,000.00 | |
| Crypto Assets — Bitcoin — Exchange (1100b) | €24,000.00 |
* Transfer between own wallets: not a taxable disposal. Move the carrying value from one sub-account to another. Cost base follows the asset. The same BTC is still owned — only the custody location changed. Use sub-accounts within 1100 to track custody locations.
Section 6 — Fair Value Determination for Crypto Assets
How to establish defensible, consistent EUR prices for every transaction and month-end valuation
The Hierarchy: Which Price to Use
IFRS 13 (Fair Value Measurement) establishes a three-level hierarchy for fair value. For crypto assets, most major tokens (BTC, ETH, and large-cap tokens) are Level 1 — observable market prices in active markets. This means the price is objective and directly observable. For illiquid or thinly traded tokens, the hierarchy moves to Level 2 (observable inputs but not direct market price) or Level 3 (unobservable inputs — internal models). Most accounting and tax work deals with Level 1 assets.
| Price Source | IFRS Level | Acceptable For | Best Practice |
|---|---|---|---|
| Major exchange spot price (Binance, Coinbase, Kraken) | Level 1 | BTC, ETH, large-cap tokens with active markets | Specify which exchange in accounting policy; use same exchange consistently |
| CoinGecko average price | Level 1 (averaged) | All listed tokens; transaction-time pricing | CoinGecko API provides historical prices at specific timestamps — ideal for transaction pricing |
| CryptoCompare OHLC data | Level 1 (daily high/low/close) | Month-end valuations; larger token set | Use closing price for month-end; average or specific timestamp for transaction |
| DeFi protocol TVL / NAV | Level 2 | LP tokens, protocol-specific assets | Complex — often requires breakdown of underlying assets |
| Internal model (DCF of expected token cashflows) | Level 3 | Very illiquid or novel tokens with no active market | Requires significant documentation; auditors will challenge subjective assumptions |
Establishing a Price Data Policy
Your accounting policy must specify exactly how prices are determined, so that the approach is: consistent (same methodology every month), verifiable (source data can be looked up and confirmed), and documented (each price used can be traced to a specific source at a specific time). Price sources should be specified in the accounting policy document before the first transaction.
Transaction pricing (each acquisition and disposal):
Source: CoinGecko API historical price endpoint
Timestamp: UTC timestamp of on-chain transaction confirmation
Currency: EUR (direct EUR pair where available; USD converted at ECB rate same day)
Month-end revaluation (IAS 38 revaluation model):
Source: CoinGecko closing price on last calendar day of month (UTC 23:59)
Fallback: Binance or Coinbase closing price if CoinGecko data unavailable
Illiquid / unlisted tokens:
Use last known traded price on a reputable decentralised exchange
Document any significant uncertainty about price reliability
If no reliable price available: carry at cost; disclose in notes
* Policy adopted: [date] | Applies to: all crypto assets from adoption date
* Changes to policy require board resolution and comparative restatement
Section 7 — Monthly Close Process for Crypto Accounting
Day-by-day — from data download to filed returns and signed-off financial statements
The Crypto Monthly Close — What Makes It Different
The crypto monthly close shares the same objective as any standard close — accurate, complete financial statements — but the data sourcing and classification work is substantially more complex. The primary difference from a standard close is that the transaction data does not arrive in a single bank feed; it comes from blockchain explorers, exchange APIs, DeFi protocol subgraphs, and custody platform exports — each in different formats, with different timestamps, and requiring different classification logic.
| Day | Task | Data Source | Estimated Time | Sign-Off Criterion |
|---|---|---|---|---|
| Day 1 | Export all exchange transaction histories for the month | Binance, Coinbase, Kraken API or CSV export | 1–2 hours | All exchanges downloaded; date ranges confirmed |
| Day 1 | Export on-chain wallet transactions (all addresses) | Etherscan, BTC explorer, Solscan etc. | 1–3 hours (per chain) | All wallets reconciled; no gaps in transaction history |
| Day 1 | Import to crypto accounting tool (Koinly/CoinTracking) | All sources above | 30–60 min | Tool shows consistent transaction count with exports |
| Day 2 | Classify transactions (buy/sell/swap/receive/transfer/fee) | Crypto accounting tool + manual review | 2–5 hours | All transactions tagged; DeFi interactions individually reviewed |
| Day 2 | Review complex DeFi interactions manually | Blockchain explorer + protocol documentation | Variable | Each DeFi event understood and correctly tagged |
| Day 2 | Calculate cost bases (FIFO) for all disposal events | Crypto accounting tool (automated) + manual verification | 1–2 hours | Cost bases reconcile to acquisition history |
| Day 3 | Extract gain/loss summary from accounting tool | Crypto accounting tool report | 30 min | Matches transaction-level detail |
| Day 3 | Download month-end prices for all held assets | CoinGecko API | 30 min | Price for each asset at 23:59 UTC last day of month |
| Day 3 | Prepare month-end revaluation schedule | Spreadsheet or accounting system | 1–2 hours | Each asset valued; OCI entries calculated |
| Day 4 | Post all journal entries to accounting system | Crypto tool export + manual entries | 2–3 hours | All entries posted; trial balance balanced |
| Day 4 | Reconcile crypto balances (accounting vs actual wallets) | Actual wallet balances on last day of month | 1–2 hours | Zero variance between accounting ledger and actual holdings |
| Day 5 | Review P&L and balance sheet | Accounting system | 1 hour | No unexplained variances vs prior month |
| By 7th | Prepare KMD if VAT-applicable crypto services | Revenue from crypto services | 30 min | Output VAT on crypto services declared; input VAT reclaimed |
| By 10th | Prepare any EMTA income declaration if required | Gain/loss summary | Variable | Income from mining/staking/DeFi declared as required |
Frequently Asked Questions
Not necessarily — and this is one of the most important policy decisions to make upfront. IAS 38 allows different classifications for different categories of intangible assets, provided each category is assessed on its own merits. A reasonable approach: BTC and ETH (large-cap, liquid, held as treasury) under IAS 38 with the revaluation model; small DeFi tokens (illiquid, speculative) under IAS 38 with the cost model (due to difficulty establishing a reliable active market price). LP tokens and DeFi protocol positions may require a different treatment again — possibly as financial assets under IFRS 9. Document each classification in your accounting policy with the rationale. The key is that the policy is set at the category level, applied consistently within each category, and documented before the first acquisition in each category.
An airdrop of tokens with clearly non-zero market value is income at the fair market value at the time of receipt. Post: DR Crypto Assets — Token (at €3,000) / CR Revenue — Airdrop Income (€3,000). The €3,000 becomes the cost base for these tokens. If you later sell them for €5,000, the additional gain is €2,000 — recognised in P&L at disposal. If the airdropped tokens have effectively zero market value at receipt (no active market, no exchanges listing them, no price reference), you may record them at zero and only recognise income when they become valuable and are sold. Document the basis for any zero-value recording. EMTA has not published specific guidance on airdrops, but the general principle — income at FMV on receipt — is the defensible approach for tokens with an observable market price.
ETH gas fees are a disposal of ETH — you are spending a small amount of ETH (at its current market price) to pay for network processing. Each gas payment has two accounting effects: (1) the ETH disposed creates a gain or loss against its cost base (usually small, but must be tracked), and (2) the fee itself is an expense. For the fee classification: gas fees on crypto acquisitions (buying tokens) should be capitalised into the cost of the acquired asset — they increase the cost base. Gas fees on business-purpose DeFi transactions (swapping, staking) are operating expenses (Account 5040). Gas fees on transfers between your own wallets are a minor cost with no clear standard treatment — most practitioners expense them. For high-volume DeFi operations, tracking individual gas fees at the transaction level is essential — the cumulative impact on cost bases and expenses is material.
Mining creates two accounting entries on the date the BTC is received: (1) record the BTC at its FMV of €25,000 as an asset, and (2) record €25,000 as mining revenue. Your costs (€8,000 electricity + pool fees) are operating expenses (Accounts 5020 and 5030), recognised in the period incurred. Gross profit from mining = €25,000 revenue minus €8,000 costs = €17,000. The BTC is now on your balance sheet at €25,000 (which becomes its cost base). For Estonian corporate tax purposes, the €17,000 mining profit is retained earnings — no immediate tax. Tax arises when dividends are distributed. If you later sell the BTC at €30,000, the additional gain is €5,000 (€30,000 minus the €25,000 cost base established at mining receipt). This gain also increases retained earnings without immediate tax.
Koinly requires three things to produce accurate records: (1) all wallet addresses — every Ethereum address, Bitcoin address, and wallet on any chain that the OÜ controls, including smart contract positions; (2) exchange API connections — API keys for each exchange with read-only access so Koinly can pull transaction history directly; and (3) manual entries for any transactions not captured by APIs — typically over-the-counter purchases, peer-to-peer transfers, DeFi protocol interactions on chains Koinly doesn’t support fully, and any historical transactions that predate the API connection. Your accountant will then review Koinly’s auto-classified transactions, manually correct any misclassified events (particularly DeFi interactions), export the cost basis data, and use it to prepare the journal entries for your accounting software. Koinly itself does not post to your accounting software — your accountant takes the output and translates it into proper accounting entries.