Skip to content

Cost Basis Methods

CryptaCount supports eight cost basis methods. Cost basis method selection in workspace settings The choice of method determines how the platform calculates gains and losses when you dispose of an asset — and in many jurisdictions, this choice has direct tax implications.

Historic FIFO — Historic First In, First Out

Section titled “Historic FIFO — Historic First In, First Out”

The oldest acquired units are treated as disposed first. Uses one-way impairment (write down only, no write-up). This is the standard method for tax reporting in many jurisdictions (US, UK, several EU states).

Example: You purchased 2 ETH at €1,800 in January and 3 ETH at €2,400 in March. When you sell 1 ETH in June at €2,600, Historic FIFO uses the January cost (€1,800), resulting in a €800 gain.

Historic Weighted Average — Historic Weighted Average

Section titled “Historic Weighted Average — Historic Weighted Average”

All units of an asset are blended into a single average cost using weighted average. No impairment adjustments are applied. Simplified method suitable for tax reporting.

Example: After the two purchases above, the weighted average cost is: (2 × €1,800 + 3 × €2,400) / 5 = €2,160. Selling 1 ETH at €2,600 produces a €440 gain.

FMV — Fair Market Value (Mark-to-Market)

Section titled “FMV — Fair Market Value (Mark-to-Market)”

Assets are marked to market at their current fair market value. Unrealized gains and losses are recognized. This is primarily used by trading firms and certain fund structures.

NRV + FIFO — Net Realizable Value (FIFO Basis)

Section titled “NRV + FIFO — Net Realizable Value (FIFO Basis)”

Applies the IAS 2 “lower of cost and net realizable value” principle using FIFO for lot ordering. Two-way impairment (write down and write-up, but not above original cost). This is the IFRS-aligned method for entities classifying crypto-assets as inventory.

NRV + Weighted Average — Net Realizable Value (WAVG Basis)

Section titled “NRV + Weighted Average — Net Realizable Value (WAVG Basis)”

Same as NRV + FIFO but uses weighted average cost as the comparison basis. Also uses two-way impairment.

The most recently acquired units are treated as disposed first.

The highest-cost units are treated as disposed first. This minimizes realized gains (or maximizes realized losses), which can be advantageous for tax optimization where permitted.

Specific Identification — Specific Identification

Section titled “Specific Identification — Specific Identification”

The user (or their accountant) selects which specific lots to dispose in each transaction. This provides maximum control over gain/loss timing and is permitted in jurisdictions that allow taxpayer lot selection (including the US).

Specific lot selection is managed through the Lot Viewer under Balances → Lots.

You don’t need to pick a single method for your entire portfolio. CryptaCount resolves the cost basis method through a three-level hierarchy:

Three-level cost basis resolution hierarchy

Level 1: Per-asset override — Set a method on a particular asset. Example: “Use HIFO for LINK.” This takes highest precedence.

Level 2: Asset class level — Set a method for an asset class. Example: “Use Historic Weighted Average for all stablecoins.” This applies to all assets in that class unless overridden at Level 1.

Level 3: Workspace default — The workspace-level default set under Settings → Workspace Accounting. Example: “Use Historic FIFO.” This applies to everything not overridden at Levels 1 or 2.

  1. Workspace default — Go to Settings → Workspace Accounting and select the default cost basis method
  2. Asset class level — Go to Settings → Asset Registry, select an asset class, and set the method override
  3. Per-asset — Select an individual asset and set the method override

A Luxembourg accounting firm managing a client portfolio might configure:

  • Workspace default: Historic FIFO (standard for Luxembourg)
  • Stablecoins asset class: Historic Weighted Average (blended cost is more meaningful for stable-value assets)
  • ETH (specific asset): Specific Identification (client has a large position where lot selection matters)

When the platform calculates gains on an ETH disposal, it uses Specific Identification (Level 1). For a USDC disposal, it uses Historic Weighted Average (Level 2). For a LINK disposal, it uses Historic FIFO (Level 3).

You can run reports under multiple methods simultaneously to compare outcomes. This is useful for tax planning and audit purposes.

Some jurisdictions mandate a specific method. The platform’s 73-jurisdiction tax profiles indicate which methods are permitted, recommended, or required.

JurisdictionRequired/Recommended MethodNotes
France (individuals)Historic Weighted Average (mandatory)Portfolio-wide weighted average formula
JapanHistoric Weighted Average (required)Total average method for all individuals
USHistoric FIFO (default)Others permitted if consistently applied
GermanyHistoric FIFO (standard practice)Not strictly mandated but expected by Finanzamt
AustraliaHistoric FIFO, LIFO, HIFO, Specific IdentificationTaxpayer’s choice, must be consistent
UKSection 104 pooling (Historic Weighted Average equivalent)30-day bed-and-breakfast rule applies