{
 "country": "AT",
 "country_name": "Austria",
 "generated": "2026-11-01",
 "last_verified": "2026-11-01",
 "methodology": {
  "weights": {
   "platform_coverage": 25,
   "import_quality": 10,
   "local_tax_rules": 50,
   "ease_of_use": 5,
   "pricing": 10
  },
  "platform_formula": "10 pts for the integration count (200+ = 10, 100+ = 5, 50+ = 3) + 15 pts for Austrian platforms: Bitpanda, Coinfinity, 21bitcoin, 5 each, API or file",
  "local_slots": [
   "bitpanda",
   "coinfinity",
   "21bitcoin"
  ],
  "local_rubric": [
   {
    "id": "A1",
    "block": "A",
    "criterion": "Moving average cost per wallet",
    "how": "The cost of each sale is the euro moving average of all units of that coin in the same wallet or exchange account, purchase fees included; coins bought before 1 March 2021 kept out of it. One average across all wallets = 2; FIFO or another per-lot method = 0.",
    "type": "Measurable",
    "points": 5
   },
   {
    "id": "A2",
    "block": "A",
    "criterion": "Austrian product (German + EUR)",
    "how": "App and tax report in German, euro as base currency. Half credit if only the report is in German.",
    "type": "Measurable",
    "points": 2
   },
   {
    "id": "A3",
    "block": "A",
    "criterion": "Crypto-to-crypto swaps not taxed, cost carried over",
    "how": "A swap creates no gain or loss and the cost of the coin given up moves to the coin received; stablecoins count as crypto. Swaps taxed by default, or untaxed only after relabelling each trade = 0.",
    "type": "Binary",
    "points": 3
   },
   {
    "id": "B1",
    "block": "B",
    "criterion": "Tax already withheld by Austrian platforms not taxed again",
    "how": "Gains and income on which Bitpanda, Coinfinity, 21bitcoin or Bybit EU withheld KESt are kept apart: not added to the tax due, shown separately for the loss offset, and sales taxed on the flat 50 % cost flagged for correction. Only dropping those sales from the report = half.",
    "type": "Measurable",
    "points": 5
   },
   {
    "id": "B2",
    "block": "B",
    "criterion": "Coins bought before 1 March 2021 left tax-free",
    "how": "Coins bought up to 28 February 2021 (Altvermögen) are tax-free when sold and kept out of the moving average; in a wallet holding both, the earlier coins count as sold first unless you choose otherwise. Any other cut-off date = 0.",
    "type": "Measurable",
    "points": 4
   },
   {
    "id": "B3",
    "block": "B",
    "criterion": "Staking and airdrops at cost 0, taxed when sold",
    "how": "No income when received; the coins have a cost of zero and the whole sale price is a gain. Staking booked as income at receipt = 0.",
    "type": "Measurable",
    "points": 3
   },
   {
    "id": "B4",
    "block": "B",
    "criterion": "Lending and mining taxed when received",
    "how": "Lending, DeFi lending and liquidity rewards and mining are current income at their euro value when received, and that value is the coin’s cost for a later sale; kept apart from staking.",
    "type": "Measurable",
    "points": 3
   },
   {
    "id": "B5",
    "block": "B",
    "criterion": "Fees: purchase fee in the cost, swap fee ignored, transfer fee a disposal",
    "how": "A euro purchase fee raises the cost; a fee on a crypto-to-crypto swap is neither cost nor disposal; a network fee paid in crypto for a transfer is a taxable disposal. One point each.",
    "type": "Measurable",
    "points": 3
   },
   {
    "id": "B6",
    "block": "B",
    "criterion": "Transfers between your own wallets keep date, status and cost",
    "how": "A transfer is not a sale: coins bought before March 2021 stay tax-free and the coins arrive with their cost.",
    "type": "Measurable",
    "points": 2
   },
   {
    "id": "B7",
    "block": "B",
    "criterion": "Euro values at the time of each transaction",
    "how": "Every purchase, sale and receipt valued in euro at its own time from a market price.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "B8",
    "block": "B",
    "criterion": "Lost, stolen or worthless coins: no deductible loss",
    "how": "Theft, hacks, lost keys and a fall to zero are not sales and give no loss. A “lost” label that creates a deductible loss = 0.",
    "type": "Binary",
    "points": 1
   },
   {
    "id": "B9",
    "block": "B",
    "criterion": "Swaps into NFTs taxed",
    "how": "Swapping crypto for an NFT or another token that is not a cryptocurrency is a taxable exchange.",
    "type": "Binary",
    "points": 1
   },
   {
    "id": "C1",
    "block": "C",
    "criterion": "E1kv figures under the right Kennzahlen",
    "how": "Point 1.3.5 of the Beilage E1kv: current income, gains and losses as KZ 171/173/175 (KESt withheld) and 172/174/176 (no KESt), gains and losses never netted. One combined figure = 0; right figures without the KESt column split = half.",
    "type": "Binary",
    "points": 5
   },
   {
    "id": "C2",
    "block": "C",
    "criterion": "Withheld KESt and when to declare it",
    "how": "KZ 899 shown for the KESt column, and the report says when KESt-taxed income has to go on the return at all (loss offset, Regelbesteuerung, flat-rate cost), so a Bitpanda-only filer is not told to declare what is already settled.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "C3",
    "block": "C",
    "criterion": "Transaction list per wallet",
    "how": "Per wallet and coin: every transaction with the running average cost, the pre-2021 or new tag and euro values, ready to show the tax office.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "C4",
    "block": "C",
    "criterion": "Step-by-step filing guide in German",
    "how": "Maintained German guidance for FinanzOnline naming the E1, Beilage E1kv point 1.3.5 and the Kennzahlen, current for the latest return, with who must file and the deadline.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "D1",
    "block": "D",
    "criterion": "Gifts: no sale for the giver",
    "how": "A gift or inheritance is not a disposal; the receiver continues the giver’s cost and, for pre-2021 coins, the giver’s purchase date. A default that books a gain on a gift = 0.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "D2",
    "block": "D",
    "criterion": "Crypto derivatives kept out of the crypto lines",
    "how": "Futures, perpetuals and margin results are derivatives: progressive-rate income (KZ 857) on a foreign platform, special-rate derivative income only with domestic withholding; never in KZ 171–176 and never offset against crypto gains.",
    "type": "Binary",
    "points": 2
   },
   {
    "id": "D3",
    "block": "D",
    "criterion": "Moving abroad as a deemed sale",
    "how": "You can record a move abroad that ends Austria’s right to tax your coins as a sale at market value.",
    "type": "Binary",
    "points": 1
   }
  ],
  "local_rubric_blocks": {
   "A": 10,
   "B": 24,
   "C": 11,
   "D": 5
  },
  "scoring_rule": "no test portfolios (owner, 1 Nov 2026: “I dont intend to manually test things for these countries”); every row credited from the vendor’s own pages (documented, including documented “no” = 0) or by inference from them with a one-line reason (inferred); unmeasured = 0 where nothing points either way; Divly scored from divly.com like any tool (rubric v1 decisions E9, E10)",
  "pricing_formula": "0.5×Casual + 0.4×Active + 0.1×Trader, rounded to integer; profile score = 10 × benchmark ÷ price (unrounded, max 10); benchmark = the cheapest ranked price, but never below half the median ranked price (floor added 1 Nov 2026); profiles averaged over tx grids 25/50/100, 250/500/1000, 2500/5000/10000, single tax year; free plans recorded as free_rule, never priced at 0",
  "pricing_currency": "EUR; USD × 0.92 where a tool prices only in USD (Kryptos)",
  "qualifying_rule": "ranked only if the Austrian tax rules score is at least 10/50; in practice swap neutrality plus more Austrian rules; tools under the floor are listed as reviewed but not ranked with their total without the price pillar",
  "evidence_note": "platform support = vendor-listed (public integration pages and help lists, captures of 6–7 Aug 2026), not import-tested; Austria fact sheets checked 2026-11-01; no tool tested for Austria",
  "evidence_date": "2026-11-01",
  "sources": "comparison-guides/crypto-tax-benchmark/rubrics/austria-rubric-draft.md (v1 decisions §5), austria-scores.md; research/austria/ (tax-rules.md AT-F001–AT-F041, market-context.md, competitor-candidates.md, competitors/*.md); divly-comparison-guides/_competitors/ (blockpit, koinly, cointracking, coinpanda) and norway/czechia competitor sheets",
  "pricing_cheapest_eur": {
   "casual": 36,
   "active": 67,
   "trader": 189
  },
  "pricing_median_eur": {
   "casual": 49,
   "active": 99,
   "trader": 202
  },
  "pricing_benchmark_eur": {
   "casual": 36,
   "active": 67,
   "trader": 189
  }
 },
 "ranking": [
  {
   "id": "blockpit",
   "name": "Blockpit",
   "domain": "blockpit.io",
   "scores": {
    "platforms_25": 25,
    "import_10": 10,
    "at_tax_rules_50": 48,
    "ease_5": 2,
    "pricing_10": 6
   },
   "total_100": 91,
   "status": "documentation only, no tests (Youri 1 Nov 2026); measured rows credited from documentation or by inference",
   "platform_detail": {
    "integration_count_10": 10,
    "local_exchanges_15": {
     "bitpanda": true,
     "coinfinity": true,
     "21bitcoin": true
    },
    "local_points": 15
   },
   "local_blocks": {
    "A": 10,
    "B": 23,
    "C": 11,
    "D": 4
   },
   "local_rows": {
    "A1": {
     "points": 5,
     "max": 5,
     "status": "documented",
     "evidence": "Austria guide (23.10.2026): new holdings at the moving average per wallet, old holdings by purchase date apart; a single pool across wallets is not supported (research/austria/competitors/blockpit.md BA-1, B36)"
    },
    "A2": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "App in English and German; Austrian report and guides in German; EUR (B16, BA-2)"
    },
    "A3": {
     "points": 3,
     "max": 3,
     "status": "documented",
     "evidence": "“Der Tausch zwischen Kryptowährungen ist steuerneutral”, cost carried over (BA-1)"
    },
    "B1": {
     "points": 5,
     "max": 5,
     "status": "documented",
     "evidence": "KESt-withheld Bitpanda gains listed apart on page 2 of the report so they are not taxed twice; flat-rate cases pointed out (Bitpanda via API only) (BA-3, BA-1)"
    },
    "B2": {
     "points": 4,
     "max": 4,
     "status": "documented",
     "evidence": "Old holdings recognised by purchase date (cut-off 28 Feb 2021) and kept out of the average; choosing the order yourself not documented (BA-1)"
    },
    "B3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Guide: staking and airdrops no tax at receipt, cost 0; the report lists staking income only for inflows up to 28.02.2022 (BA-1, BA-2)"
    },
    "B4": {
     "points": 3,
     "max": 3,
     "status": "documented",
     "evidence": "Lending and non-commercial mining taxed at receipt, that value is the cost (BA-1, BA-2)"
    },
    "B5": {
     "points": 2,
     "max": 3,
     "status": "inferred",
     "evidence": "Purchase fee in the cost and swap fee ignored per its guide; a crypto-paid transfer fee as a disposal not documented (BA-1, B43)"
    },
    "B6": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "“Die Anschaffungskosten wandern mit”: transfers between own wallets are no sale (BA-1)"
    },
    "B7": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Hourly prices in EUR at each transaction (B23)"
    },
    "B8": {
     "points": 1,
     "max": 1,
     "status": "documented",
     "evidence": "Lost label is tax neutral: no gain, no loss (B45)"
    },
    "B9": {
     "points": 1,
     "max": 1,
     "status": "documented",
     "evidence": "NFT and asset-token swaps taxable (BA-1)"
    },
    "C1": {
     "points": 5,
     "max": 5,
     "status": "inferred",
     "evidence": "Beilage E1kv pre-filled; gains and losses separate; KESt-withheld and non-withheld income in separate summaries; the Kennzahl labels in its guides are inconsistent (171/173/175 vs 172/174/176) (A2, BA-2, BA-5)"
    },
    "C2": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "KZ 899 named; the KESt column only needs entering to offset withheld KESt (BA-3, BA-5)"
    },
    "C3": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Transaction list by integration and asset, linked bookings shown (BA-2)"
    },
    "C4": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "German FinanzOnline guide (02.10.2026): E1 → Beilage E1kv → Kennzahlen (BA-5)"
    },
    "D1": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Gift (In) and Gift (Out) labels in a fully supported country preset; treatment not stated (B44)"
    },
    "D2": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Derivatives in their own report section, progressive rate, no offset against spot crypto (BA-1, BA-2)"
    },
    "D3": {
     "points": 0,
     "max": 1,
     "status": "documented",
     "evidence": "No move-abroad label among the 37 labels (B37)"
    }
   },
   "pricing": {
    "model": "per_year",
    "currency_note": "EUR list prices (blockpit.io/pricing, re-read 31 Oct 2026); one-time purchase per tax year, not a subscription",
    "tiers_eur": [
     [
      50,
      49
     ],
     [
      1000,
      99
     ],
     [
      3000,
      149
     ],
     [
      10000,
      229
     ],
     [
      999999999,
      549
     ]
    ],
    "free_rule": "portfolio tracking and imports free; the tax report needs the tax-year licence",
    "profile_prices_eur": {
     "casual": 66,
     "active": 99,
     "trader": 202
    },
    "profile_scores": {
     "casual": 5.48,
     "active": 6.73,
     "trader": 9.34
    },
    "weighted_unrounded": 6.37
   },
   "flags": {
    "subscription": false,
    "site_operator": false,
    "partly_vendor_claimed": true
   },
   "integrations_list": {
    "imported": true,
    "entries": 781,
    "complete": true,
    "source": "https://www.blockpit.io/integrations"
   }
  },
  {
   "id": "cointracking",
   "name": "CoinTracking",
   "domain": "cointracking.info",
   "scores": {
    "platforms_25": 25,
    "import_10": 10,
    "at_tax_rules_50": 25,
    "ease_5": 1,
    "pricing_10": 8
   },
   "total_100": 69,
   "status": "documentation only, no tests (Youri 1 Nov 2026); measured rows credited from documentation or by inference",
   "platform_detail": {
    "integration_count_10": 10,
    "local_exchanges_15": {
     "bitpanda": true,
     "coinfinity": true,
     "21bitcoin": true
    },
    "local_points": 15
   },
   "local_blocks": {
    "A": 10,
    "B": 13,
    "C": 0,
    "D": 2
   },
   "local_rows": {
    "A1": {
     "points": 5,
     "max": 5,
     "status": "inferred",
     "evidence": "Austria has a customized report, its Austria guide says the moving average replaces FIFO, and depot separation (one pool per wallet) was on by default in earlier exports; the preset’s method is not published (research/austria/competitors/cointracking.md CA-2, CA-3, T41)"
    },
    "A2": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Munich company, German site and support, EUR tax currency; in-app language list and report language not published (CA-4, T58)"
    },
    "A3": {
     "points": 3,
     "max": 3,
     "status": "documented",
     "evidence": "Austria report: “Post-March 2022: crypto-to-crypto trades tax-free.” (CA-1)"
    },
    "B1": {
     "points": 0,
     "max": 5,
     "status": "unmeasured",
     "evidence": "No handling of KESt withheld by Austrian platforms documented"
    },
    "B2": {
     "points": 0,
     "max": 4,
     "status": "documented",
     "evidence": "Austria report applies the old one-year rule to “Pre-March 2022” coins: the wrong cut-off (law: 28 Feb 2021) (CA-1)"
    },
    "B3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Its Austria guide values staking at EUR 0 on receipt; staking can be excluded from income with cost 0 (CA-3, T45)"
    },
    "B4": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Lending and mining types are income at fair value on receipt (T44, T45)"
    },
    "B5": {
     "points": 2,
     "max": 3,
     "status": "inferred",
     "evidence": "Purchase fee in the cost (T46); transfer fee booked as a disposal (Norway test CT-01); a swap fee in a third currency becomes a taxable Trade Fee"
    },
    "B6": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Transfers kept the purchase date in our Czech test; swaps carry the acquisition date (T37)"
    },
    "B7": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "EUR tax currency, prices at each transaction (T16, T24)"
    },
    "B8": {
     "points": 1,
     "max": 1,
     "status": "inferred",
     "evidence": "Lost coins kept out of gains, no loss (Norway test CT-03, T50)"
    },
    "B9": {
     "points": 0,
     "max": 1,
     "status": "inferred",
     "evidence": "The Austria preset makes every crypto-to-crypto trade tax-free and NFTs are coin tickers, so a crypto-to-NFT swap is likely left untaxed (CA-1, T35)"
    },
    "C1": {
     "points": 0,
     "max": 5,
     "status": "unmeasured",
     "evidence": "No Kennzahlen named; import pages only say “Report via Einkommensteuererklärung (E1 / E1kv)” (A11)"
    },
    "C2": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "No KZ 899 or KESt filing guidance"
    },
    "C3": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "No running average or old/new tag documented in the transaction lists"
    },
    "C4": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "German tips page (2024) and English Austria guide name no form point or Kennzahl (CA-3, CA-4)"
    },
    "D1": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Gift kept out of gains (Norway test CT-03); the receiver keeps the giver’s holding period (T43)"
    },
    "D2": {
     "points": 0,
     "max": 2,
     "status": "inferred",
     "evidence": "Austria report groups derivatives with “capital gains tax”, i.e. with crypto gains, not as progressive-rate income (CA-1)"
    },
    "D3": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "No move-abroad entry"
    }
   },
   "pricing": {
    "model": "all_time_transaction_count",
    "currency_note": "EUR list prices, 1-year term (cointracking.info/pricing); transaction cap counts every year together; 1- and 2-year terms renew automatically",
    "tiers_eur": [
     [
      200,
      39
     ],
     [
      3500,
      129
     ],
     [
      20000,
      219
     ],
     [
      50000,
      289
     ],
     [
      100000,
      389
     ],
     [
      999999999,
      769
     ]
    ],
    "free_rule": "200 lifetime transactions, portfolio view only, no tax reports",
    "profile_prices_eur": {
     "casual": 39,
     "active": 129,
     "trader": 189
    },
    "profile_scores": {
     "casual": 9.23,
     "active": 5.17,
     "trader": 10
    },
    "weighted_unrounded": 7.68
   },
   "flags": {
    "subscription": false,
    "site_operator": false,
    "partly_vendor_claimed": true
   },
   "integrations_list": {
    "imported": true,
    "entries": 301,
    "complete": true,
    "source": "https://cointracking.info/imports"
   }
  },
  {
   "id": "koinly",
   "name": "Koinly",
   "domain": "koinly.io",
   "scores": {
    "platforms_25": 25,
    "import_10": 10,
    "at_tax_rules_50": 18,
    "ease_5": 3,
    "pricing_10": 7
   },
   "total_100": 63,
   "status": "documentation only, no tests (Youri 1 Nov 2026); measured rows credited from documentation or by inference",
   "platform_detail": {
    "integration_count_10": 10,
    "local_exchanges_15": {
     "bitpanda": true,
     "coinfinity": true,
     "21bitcoin": true
    },
    "local_points": 15
   },
   "local_blocks": {
    "A": 4,
    "B": 10,
    "C": 0,
    "D": 4
   },
   "local_rows": {
    "A1": {
     "points": 0,
     "max": 5,
     "status": "inferred",
     "evidence": "Koinly’s Austria guide names specific identification or FIFO as the method; Average Cost and wallet-based tracking exist as settings but nothing says the Austria preset uses them (research/austria/competitors/koinly.md, A14, K25, K26)"
    },
    "A2": {
     "points": 1,
     "max": 2,
     "status": "documented",
     "evidence": "Report generated in German for Austria; app in English only (K10)"
    },
    "A3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Account-wide crypto-to-crypto setting and an Austria guide saying swaps are tax-free; the Austria default is not published (K27, A14)"
    },
    "B1": {
     "points": 0,
     "max": 5,
     "status": "unmeasured",
     "evidence": "Nothing on KESt withheld by Austrian platforms"
    },
    "B2": {
     "points": 0,
     "max": 4,
     "status": "documented",
     "evidence": "“Koinly does not apply long-term holding discounts”: no pre-2021 logic (K15)"
    },
    "B3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Income setting off gives staking a cost of 0; its Austria guide says staking is not income at receipt (K32, A14)"
    },
    "B4": {
     "points": 2,
     "max": 3,
     "status": "inferred",
     "evidence": "Lending interest is income at receipt; mining shares the staking setting, so it cannot be income while staking stays at cost 0 (K32)"
    },
    "B5": {
     "points": 2,
     "max": 3,
     "status": "inferred",
     "evidence": "Purchase fee in the cost (K30); transfer fee as a disposal via a setting (K28); a swap fee is added to the cost of the coin received instead of being ignored (K30)"
    },
    "B6": {
     "points": 0,
     "max": 2,
     "status": "inferred",
     "evidence": "Cost and date move with transfers (K31), but there is no pre-2021 status to keep"
    },
    "B7": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Daily ECB rates via USD at each transaction date (K13)"
    },
    "B8": {
     "points": 1,
     "max": 1,
     "status": "documented",
     "evidence": "Lost tag books no gain and no loss (K39)"
    },
    "B9": {
     "points": 0,
     "max": 1,
     "status": "inferred",
     "evidence": "With crypto-to-crypto gains off, a crypto-to-NFT trade is untaxed too (K27)"
    },
    "C1": {
     "points": 0,
     "max": 5,
     "status": "documented",
     "evidence": "No E1kv report (A7, A14)"
    },
    "C2": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "No KESt or KZ 899 output"
    },
    "C3": {
     "points": 0,
     "max": 2,
     "status": "inferred",
     "evidence": "Per-disposal CSVs without a running average or old/new tag (K7)"
    },
    "C4": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "English Austria guide that routes crypto to “other income” on the E1 (A14)"
    },
    "D1": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Gift tag: no gain for the giver (K38)"
    },
    "D2": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Futures results kept in “Other gains” unless merged by a setting (K36)"
    },
    "D3": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "No move-abroad entry"
    }
   },
   "pricing": {
    "model": "per_year",
    "currency_note": "EUR prices as shown to a euro session (€49 / €99 / €199 / €299); the currency follows the session and is never labelled",
    "tiers_eur": [
     [
      100,
      49
     ],
     [
      1000,
      99
     ],
     [
      3000,
      199
     ],
     [
      100000,
      299
     ]
    ],
    "free_rule": "free import and preview of the gains; every report download needs a plan",
    "profile_prices_eur": {
     "casual": 49,
     "active": 99,
     "trader": 266
    },
    "profile_scores": {
     "casual": 7.35,
     "active": 6.73,
     "trader": 7.11
    },
    "weighted_unrounded": 7.08
   },
   "flags": {
    "subscription": false,
    "site_operator": false,
    "partly_vendor_claimed": true
   },
   "integrations_list": {
    "imported": true,
    "entries": 986,
    "complete": false,
    "source": "https://koinly.io/integrations/"
   }
  },
  {
   "id": "kryptos",
   "name": "Kryptos",
   "domain": "kryptos.io",
   "scores": {
    "platforms_25": 15,
    "import_10": 5,
    "at_tax_rules_50": 24,
    "ease_5": 3,
    "pricing_10": 10
   },
   "total_100": 57,
   "status": "documentation only, no tests (Youri 1 Nov 2026); measured rows credited from documentation or by inference",
   "platform_detail": {
    "integration_count_10": 10,
    "local_exchanges_15": {
     "bitpanda": true,
     "coinfinity": false,
     "21bitcoin": false
    },
    "local_points": 5
   },
   "local_blocks": {
    "A": 9,
    "B": 13,
    "C": 2,
    "D": 0
   },
   "local_rows": {
    "A1": {
     "points": 5,
     "max": 5,
     "status": "documented",
     "evidence": "Vendor blog (11 Aug 2026): keeps the gleitender Durchschnittspreis “per wallet per asset” (research/austria/competitors/kryptos.md KR-6)"
    },
    "A2": {
     "points": 1,
     "max": 2,
     "status": "inferred",
     "evidence": "German website and an E1kv output; the app’s language is not stated (KR-1)"
    },
    "A3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "German page and blog say swaps are tax-neutral with the cost carried over; an English FAQ on its Austria software page says swaps are taxable (KR-1, KR-6, KR-3)"
    },
    "B1": {
     "points": 2,
     "max": 5,
     "status": "inferred",
     "evidence": "Claims to offset withheld KESt against the real gain; no separate listing, Bitpanda KESt import or flat-rate flag documented (KR-1)"
    },
    "B2": {
     "points": 4,
     "max": 4,
     "status": "inferred",
     "evidence": "Austria page states coins bought before 1 March 2021 are permanently tax-free; exclusion from the average not stated (KR-1)"
    },
    "B3": {
     "points": 0,
     "max": 3,
     "status": "inferred",
     "evidence": "Its Austria software page applies income rules to staking and airdrops (KR-3)"
    },
    "B4": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Mining and lending as income at receipt (KR-3, KR-4)"
    },
    "B5": {
     "points": 0,
     "max": 3,
     "status": "unmeasured",
     "evidence": "Fees not documented"
    },
    "B6": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "“carries basis correctly on internal transfers” (KR-6)"
    },
    "B7": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "E1kv figures in euro calculated per sale imply euro values at each transaction (KR-1)"
    },
    "B8": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "Not documented"
    },
    "B9": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "Not documented"
    },
    "C1": {
     "points": 2,
     "max": 5,
     "status": "inferred",
     "evidence": "E1kv output claimed, but no sample report and no Kennzahlen on the product pages; the KESt column split needs KESt data it does not document importing (KR-1, KR-3)"
    },
    "C2": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "No KZ 899 output documented"
    },
    "C3": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "Not documented"
    },
    "C4": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "German page names the E1kv and the deadline but no Kennzahlen, and says to upload the E1kv into FinanzOnline; Kennzahlen only in an English guide (KR-1, KR-4)"
    },
    "D1": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "Guide text only"
    },
    "D2": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "Guide calls derivatives a grey area"
    },
    "D3": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "No move-abroad entry"
    }
   },
   "pricing": {
    "model": "per_year",
    "currency_note": "USD per tax year ($39 / $89 / $139 / $259 / $459 / $689 / $989, kryptos.io/pricing, 1 Nov 2026) converted at 0.92 EUR/USD; optional Pro Membership $6.99/month not counted",
    "tiers_eur": [
     [
      300,
      36
     ],
     [
      1000,
      82
     ],
     [
      3000,
      128
     ],
     [
      10000,
      238
     ],
     [
      30000,
      422
     ],
     [
      50000,
      634
     ],
     [
      100000,
      910
     ]
    ],
    "free_rule": "free up to 100 transactions every tax year (priced on its first paid tier in the formula)",
    "profile_prices_eur": {
     "casual": 36,
     "active": 67,
     "trader": 201
    },
    "profile_scores": {
     "casual": 10,
     "active": 10,
     "trader": 9.39
    },
    "weighted_unrounded": 9.94
   },
   "flags": {
    "subscription": false,
    "site_operator": false,
    "partly_vendor_claimed": true
   },
   "integrations_list": {
    "imported": false,
    "entries": 351,
    "complete": false,
    "source": "https://kryptos.io/sitemap.xml",
    "note": "5,500+ claimed; 351 English integration pages in the sitemap (1 Nov 2026); not in catalog.json"
   }
  },
  {
   "id": "summ",
   "name": "Summ",
   "domain": "summ.com",
   "scores": {
    "platforms_25": 15,
    "import_10": 10,
    "at_tax_rules_50": 16,
    "ease_5": 5,
    "pricing_10": 7
   },
   "total_100": 53,
   "status": "documentation only, no tests (Youri 1 Nov 2026); measured rows credited from documentation or by inference",
   "platform_detail": {
    "integration_count_10": 10,
    "local_exchanges_15": {
     "bitpanda": true,
     "coinfinity": false,
     "21bitcoin": false
    },
    "local_points": 5
   },
   "local_blocks": {
    "A": 5,
    "B": 7,
    "C": 0,
    "D": 4
   },
   "local_rows": {
    "A1": {
     "points": 0,
     "max": 5,
     "status": "unmeasured",
     "evidence": "Average Cost exists as a method; the Austria default and any per-wallet pool are not published (research/austria/competitors/summ.md)"
    },
    "A2": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "German app and /at locale, EUR fixed by country; report language not stated"
    },
    "A3": {
     "points": 3,
     "max": 3,
     "status": "documented",
     "evidence": "Austria guide: the crypto-to-crypto setting is turned on automatically for Austria (SA-1)"
    },
    "B1": {
     "points": 0,
     "max": 5,
     "status": "unmeasured",
     "evidence": "Nothing on KESt"
    },
    "B2": {
     "points": 0,
     "max": 4,
     "status": "unmeasured",
     "evidence": "No pre-2021 logic documented"
    },
    "B3": {
     "points": 3,
     "max": 3,
     "status": "inferred",
     "evidence": "Income setting off gives staking a cost of 0; its Austria guide describes staking that way (SA-1)"
    },
    "B4": {
     "points": 2,
     "max": 3,
     "status": "inferred",
     "evidence": "Interest stays income; mining shares the setting with staking"
    },
    "B5": {
     "points": 0,
     "max": 3,
     "status": "unmeasured",
     "evidence": "Fees not documented"
    },
    "B6": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "No pre-2021 status to keep; transfers not documented for Austria"
    },
    "B7": {
     "points": 2,
     "max": 2,
     "status": "documented",
     "evidence": "Local currency fixed to EUR, values at each transaction"
    },
    "B8": {
     "points": 0,
     "max": 1,
     "status": "documented",
     "evidence": "Lost and stolen coins create a capital loss at sale price zero"
    },
    "B9": {
     "points": 0,
     "max": 1,
     "status": "inferred",
     "evidence": "With swaps non-taxable, a crypto-to-NFT trade is likely untaxed"
    },
    "C1": {
     "points": 0,
     "max": 5,
     "status": "documented",
     "evidence": "No E1kv report; generic reports only (A19)"
    },
    "C2": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "None"
    },
    "C3": {
     "points": 0,
     "max": 2,
     "status": "unmeasured",
     "evidence": "No running average or old/new tag"
    },
    "C4": {
     "points": 0,
     "max": 2,
     "status": "documented",
     "evidence": "2023 Austria guide without the E1kv or Kennzahlen (SA-1)"
    },
    "D1": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Outgoing gift settable as a non-taxable disposal"
    },
    "D2": {
     "points": 2,
     "max": 2,
     "status": "inferred",
     "evidence": "Separate derivatives report"
    },
    "D3": {
     "points": 0,
     "max": 1,
     "status": "unmeasured",
     "evidence": "No move-abroad entry"
    }
   },
   "pricing": {
    "model": "subscription",
    "currency_note": "EUR annual subscription (€49 / €99 / €249 / €499); auto-renews; the transaction cap counts every year together",
    "tiers_eur": [
     [
      100,
      49
     ],
     [
      1000,
      99
     ],
     [
      10000,
      249
     ],
     [
      100000,
      499
     ]
    ],
    "free_rule": "free plan: sample reports only",
    "profile_prices_eur": {
     "casual": 49,
     "active": 99,
     "trader": 249
    },
    "profile_scores": {
     "casual": 7.35,
     "active": 6.73,
     "trader": 7.59
    },
    "weighted_unrounded": 7.13
   },
   "flags": {
    "subscription": true,
    "site_operator": false,
    "partly_vendor_claimed": true
   },
   "integrations_list": {
    "imported": true,
    "entries": 3512,
    "complete": true,
    "source": "https://summ.com/se/integrations"
   }
  }
 ],
 "reviewed_not_ranked": [
  {
   "id": "divly",
   "name": "Divly",
   "domain": "divly.com",
   "total_100": 39,
   "scores": {
    "platforms_25": 20,
    "import_10": 10,
    "at_tax_rules_50": 4,
    "ease_5": 5,
    "pricing_10": null
   },
   "reason": "4/50 on Austrian rules (floor 10): Austria is “Available soon” on divly.com; German app and euro values only, no Austrian method, report or guide",
   "source": "research/austria/competitors/divly.md (checked 2026-11-01)"
  },
  {
   "id": "waltio",
   "name": "Waltio",
   "domain": "waltio.com",
   "total_100": 35,
   "scores": {
    "platforms_25": 15,
    "import_10": 10,
    "at_tax_rules_50": 6,
    "ease_5": 4,
    "pricing_10": null
   },
   "reason": "6/50 on Austrian rules (floor 10): swaps taxed by default and untaxed only per swap by hand; no Austrian report, no pre-2021 or KESt handling",
   "source": "research/austria/competitors/waltio.md (checked 2026-11-01)"
  },
  {
   "id": "coinpanda",
   "name": "Coinpanda",
   "domain": "coinpanda.io",
   "total_100": 33,
   "scores": {
    "platforms_25": 15,
    "import_10": 5,
    "at_tax_rules_50": 8,
    "ease_5": 5,
    "pricing_10": null
   },
   "reason": "8/50 on Austrian rules (floor 10): FIFO, swaps and staking taxed by default; no Austrian report, guide or pre-2021 handling",
   "source": "research/austria/competitors/coinpanda.md (checked 2026-11-01)"
  },
  {
   "id": "awaken",
   "name": "Awaken",
   "domain": "awaken.tax",
   "total_100": 20,
   "scores": {
    "platforms_25": 10,
    "import_10": 5,
    "at_tax_rules_50": 3,
    "ease_5": 2,
    "pricing_10": null
   },
   "reason": "3/50 on Austrian rules (floor 10): swaps left untaxed for Austria, but FIFO/LIFO/HIFO only, English only, no Austrian report",
   "source": "research/austria/competitors/awaken.md (checked 2026-11-01)"
  }
 ],
 "reviewed_not_ranked_note": "Divly has no Austrian report yet; Waltio and Coinpanda tax swaps by default and Awaken uses FIFO, and none of the three has an Austrian report. Totals are platforms + import + ease + Austrian rules; price is not compared.",
 "personalization": "GET params on /at/ and /at/en/: tx, years, wallets, nosub=1, platforms=comma,separated,slugs (slugs in catalog.json; prefix x: for untracked free-text)"
}