Skip to main content

Head-to-head · Tax Software

Koinly vs Divly Koinly leads by 3 points.

Koinly scores 3 points above Divly, led by cost-basis method, complex transactions, and record portability. Koinly ranks #1 and Divly #4 of 11 published tax software. Every term of the gap is on the ledger below; the inputs are on the audit receipt.

Koinly81
Divly78
Scores are out of 100; published scores fall within 41–99 · ranks #1 and #4 of 11
Methodology v2026.10.18Ranking snapshot Evidence verified through 4 published criteria5 score dimensions Receipt #cc-VS-KOINLY-VS-DIVLY-bbdb0eb5
Published verdictRanking snapshot 3 November 2026

Koinly leads by 3 points

Koinly scores 3 points above Divly, led by cost-basis method, complex transactions, and record portability.

Koinly #1 of 1181
Divly #4 of 1178
Scores are out of 100; published scores fall within 41–99; a bar is empty at 41 and full at 99.
Why, term by termKoinly leads on 3 of 4 published criteria; Divly on 1. The terms sum to the gap.
TermKoinlyDivlyWeightPoints
Your tax form8/109/107.7−2.0for Divly−1.0 of 32
Cost-basis method8/107/106.2+1.6for Koinly+0.8 of 32
Complex transactions8/107/105.3+1.4for Koinly+0.7 of 32
Record portability8/106/104.8+2.5for Koinly+1.3 of 32
Net of the terms+3.5
Criteria roundingThe criteria block is rounded to whole points before it is spread−0.1
Reproduced gap+3.4
Published gapAfter score rounding and bounds — see the note below8178+3.0

Weight is in points of the 86-point weighted total. Points are score points of the gap between the two.

  • Koinly's lead rests on lighter criteria: Divly is ahead on your tax form, which carries more weight (32) than any criterion Koinly leads on (26).
Quick facts

At a glance

2 of 3 rows read the same for both.
FactKoinlyDivly
Entry planSnapshothttps://koinly.io/pricing/ — fetched 29 September 2026; plain curl returns HTTP 403 (Cloudflare interstitial), the page was rendered in headless Chrome (HTTP 200). Header "Simple pricing". Four columns as rendered: FREE "Essential features" "$ 0" "free forever"; NEWBIE "Just getting started" "$ 49" "per tax year"; HODLER "Taking it easy" "$ 99" "per tax year"; TRADER "Hustling like a pro" "$ 199" "per tax year". USAGE row "Transactions": Free "10,000", Newbie "100", Hodler "1000", Trader "3000", with a "10,000+" selector; "Wallets & exchange accounts" "Unlimited" on all four. Under TAX REPORTS the rows "Form 8949, Schedule D", "International tax reports", "Comprehensive audit report" and "Export to TurboTax, TaxACT" are marked "-" on Free. FAQ: "You only need to purchase a plan to download your tax reports." | "You can generate and download unlimited number of reports for the tax year that your plan is valid for." | "If you exceed the limits of our top plan you can purchase additional transactions in the app. Koinly supports up to 100,000 transactions on regular accounts." No fifth price renders. The help article https://support.koinly.io/en/articles/9856841-tax-plans (rendered 29 September 2026, "June 23, 2026") names a fourth paid tier the pricing page does not price — "Pro" "Up to 10.000 transactions" — and the unpriced add-ons "Extra transactions", "Dual Nationality", "Daily Sync" and "Expert Review". Contract (https://koinly.io/legal/terms/, "Revised on Jan 2, 2026", rendered 29 September 2026): "Refunds are not possible once you have downloaded any reports and must be made within 7 days of purchase." Prices unchanged since 19 August 2026.https://divly.com/en/pricing — fetched 29 September 2026, HTTP 200, plain curl. Header "Fair and flexible pricing options" — "No subscription or lock-in, only pay for the years you need to declare. Try Divly for free before you commit." The page shows one price column at a time behind a transaction selector ("Up to 100", "Up to 1,000", "Up to 10,000", "Up to 100,000"); the default (Up to 100) cards render Free "No credit card required. Start for free.", Essential "39 EUR", Peace of Mind "99 EUR" and Full Service "599 EUR". The full ladder is in the page's inline script, quoted as served: "0: [0, 39, 99, 599]", "1: [0, 99, 199, 699]", "2: [0, 199, 399, 799]", "3: [0, 399, 699, 999]" (Free, Essential, Peace of Mind, Full Service, in euros, for up to 100 / 1,000 / 10,000 / 100,000 transactions in the tax year). FAQ: "Only transactions for the latest tax year are included in the calculation." | "No, by purchasing a Divly tax report you are not signing up to a recurring subscription. The payment is one-off." | "Businesses can only purchase the Full Service package." The help article https://help.divly.com/en/articles/8233252-how-does-pricing-work-on-divly-for-individuals ("February 3, 2026", fetched 29 September 2026) adds: "Once you purchase a tax report, you will retain lifetime access for that tax year." and "Yes, each tax year requires its own purchase. The exception is the bundle that includes 2011-2021 for the price of one tax year." Prices unchanged since 19 August 2026.
Asset coverageEditorial——
Region fitSnapshotglobalglobal
From the published criteria

Which should you pick?

Koinly

81#1 of 11
Leads
Pick it when
Pick Koinly if cost-basis method matters most — it scores 8/10 to Divly's 7/10 there (weight 26).
Strength
Named form output — 8/10
Tradeoff
Two, and the first costs money before it costs time. US buyers: paying does not by itself produce a filled 8949. "USA-specific reports like Schedule D and form 8949 require the 1099-DA flow to be completed. Without the information if you received the 1099-DA form or not, some of the fields cannot be filled." and "If you didn't complete the 1099-DA flow and download reports, some of them will be empty (1kb PDFs)" (https://support.koinly.io/en/articles/13791356-usa-uploading-1099-da-forms-to-koinly, re-loaded 2026-08-19). Now read that against the contract: "Refunds are not possible once you have downloaded any reports and must be made within 7 days of purchase. The refund reason must be related to a bug/issue within Koinly that we are unable to resolve within reasonable time." (https://koinly.io/legal/terms/, reached from https://koinly.io/terms/, loaded 2026-08-19, "Revised on Jan 2, 2026"). Downloading the empty 1kb PDF is itself the act that extinguishes the refund. Second: German and Austrian buyers get NO statutory form. The pricing FAQ names Germany among countries with "specialised tax reports" (https://koinly.io/pricing/), but the help centre's Localized Tax Reports list has no German entry — Germany appears only as a report LANGUAGE, and the countries article routes German filers to the generic artefact ("Our Comprehensive Tax Report is suitable for anyone looking to declare taxes - no matter which country.", https://support.koinly.io/en/articles/9489962-which-countries-does-koinly-calculate-taxes-for). No Anlage SO, no ELSTER handoff, no Austrian E1/E1kv and no FinanzOnline appears on any page loaded. A German filer pays for a Complete Tax Report written in German and transcribes it. And anyone filing in two countries pays the "Dual nationality" add-on again for each extra country, each tax year. THIRD, added in verification: the help centre's "Each yearly plan is valid for 10 years from the date of purchase" has no counterpart in the contract, which reserves the right to terminate "without any prior notice" on grounds including "Any extended periods of inactivity;", to delete "any and all related information, files, and any such content that may be associated with or inside your account, or any part thereof;", and states "If your account is terminated by Us, you will not be entitled to any refund of any monies spent on Koinly." A buyer who pays for a tax year and comes back in year four is relying on a help article, not on a term.

Divly

78#4 of 11
Pick it when
Pick Divly if your tax form matters most — it scores 9/10 to Koinly's 8/10 there (weight 32).
Strength
Named form output — 9/10
Tradeoff
Four one-way doors, none of them on the page you buy from, and two of them invisible without reading Divly's own shipped code. (1) THE PRICE YOU SEE IS THE 100-TRANSACTION PRICE - CONFIRMED AT THE SOURCE. https://divly.com/en/pricing advertises Essential at '39' 'EUR', but that is the first cell of a four-column ladder wired into the page's own inline script. From the served source on 2026-08-19: 'const pricingMatrix = { 0: [0, 39, 99, 599], 1: [0, 99, 199, 699], 2: [0, 199, 399, 799], 3: [0, 399, 699, 999] };'. The mapping is not inferred - the bracket buttons carry it: '<button class="transaction-btn active" data-index="0" onclick="updatePricing(0)">Up to 100</button>', then data-index 1 'Up to 1,000', 2 'Up to 10,000', 3 'Up to 100,000'; the script ends with 'updatePricing(0);' and the server-rendered spans read '<span id="price-essential">39</span>'. EUR 39 buys 'Up to 100' transactions for the year. At 'Up to 1,000' Essential is EUR 99; at 'Up to 10,000' EUR 199; at 'Up to 100,000' EUR 399 - and Full Service starts at EUR 599, not the EUR 499 this repo's catalog row records. Anyone with a routine DCA habit is in the 1,000+ bracket and pays 2.5x the headline. (2) ONCE YOU DOWNLOAD, YOU CANNOT UNBUY, AND THE TERMS AND THE HELP CENTRE DISAGREE. Terms: 'It is not possible to get a refund if you have downloaded a file from the tax report section in the platform.' - flat, unqualified. https://help.divly.com/en/articles/8233489-can-i-request-a-refund ('February 3, 2026') sets three requirements - 'You make the request within 14 days of purchasing the service.' / 'The reason for refund is related to a bug or issue that Divly is unable to resolve within a reasonable time frame.' / 'You have not downloaded any tax reports.' - and then adds a fourth: 'This does not apply if the issue is related to the tax report.' So the help centre carves out the commonest case while the binding contract does not; the Terms govern, and the disagreement is the finding. Either way, dissatisfaction that is not a Divly bug is not a refund reason. Worse, the Terms purport to cancel the EU statutory withdrawal right within the same clause that grants it, under the heading 'Your right to terminate the Agreement pre-maturely': 'If you are a consumer, you have the right to withdraw from this Agreement without giving any reason within 14 days.' ... and, four sentences later, 'Since this is a Service we will not, if you withdraw from this Agreement, refund any payments we received from you.' (3) THE PRICING PAGE IS NOT THE WHOLE PRICE LIST - three charges exist that it never shows, all read from Divly's own app bundle (plugin_v23.js, downloaded 2026-08-19). A per-hour overage on the top tier, stated in the help centre: Full Service 'includes 4 hours of work by the Divly Expert. In most cases this is enough, however if extra hours are required they will be charged at 150 EUR per hour.' A priority-service add-on with a four-figure fallback: 'get_priority_service_price:function(){return this.pricing_info&&this.pricing_info.priority_service_price?this.pricing_info.priority_service_price:1e3}'. And an early-bird tier system fetched at checkout: 'fetch_early_bird_tiers:async function(){try{const e=await(await fetch(Fe+"/client/get_early_bird_tiers")).json();'. (4) A TIER THE PRICING PAGE SELLS IS HARDCODED AS UNBUYABLE. The same bundle contains 'is_sold_out_tier_value:function(t){return typeof t!="string"?!1:t.replace("-EARLY","").toUpperCase().startsWith("SECOND_100000")}' and, in the checkout handler, 'if(t.some(e=>this.is_sold_out_tier_value(e.tier))){alert("Sold out tier cannot be purchased.");return}'. In the same file 'THIRD_' resolves to 'Full Service', so 'SECOND_' is the second paid tier, Peace of Mind - the one https://divly.com/en/pricing still advertises at EUR 699 for the 'Up to 100,000' bracket. Whether the server also refuses the sale is unestablished; what is established is that Divly's own client blocks it. (5) THE 'lifetime access ... forever' PROMISE YOU ARE RELYING ON lives in a help article, not the contract; the contract is stamped 'Updated by Synch: 22 September 2021', never mentions it, and reserves account deletion. (6) IF YOU ARE GERMAN, THE STALE PAGE IS THE MARKETING ONE, NOT THE PRODUCT. https://divly.com/en/guides/crypto-taxes-in-germany ('Jan. 15, 2026') still says 'You have a €600 exemption limit on crypto profits.' while the help article ('July 7, 2026') says 'If you exceed the €1000 exemption limit (€600 for tax years 2023 and earlier), the full amount of gains is taxable.' The app itself renders the correct figure - the German tax widget in plugin_v23.js computes the exemption as 'C(a.year>=2024?1e3:600)'. So the number you FILE is right; the number you'd PLAN with off the guide is two years stale.
Self-identify in 10 seconds

Which one is actually for you?

KoinlyLeads

Choose Koinly if cost-basis method matters most

  • Cost-basis method: 8/10 against 7/10 for Divly (weight 26)
  • Complex transactions: 8/10 against 7/10 for Divly (weight 22)
  • Record portability: 8/10 against 6/10 for Divly (weight 20)
Divly

Choose Divly if your tax form matters most

  • Your tax form: 9/10 against 8/10 for Koinly (weight 32)
Criterion by criterion

Scorecard

Published criteria · weight in points of 868 of 8 cells scored. Strength is read from the evidence file; the weight is the published one. Methodology

Your tax form

by 1 of 10weight 7.7 of 86Divly leads
Koinly8 out of 10
Divly9 out of 10

Cost-basis method

by 1 of 10weight 6.2 of 86Koinly leads
Koinly8 out of 10
Divly7 out of 10

Complex transactions

by 1 of 10weight 5.3 of 86Koinly leads
Koinly8 out of 10
Divly7 out of 10

Record portability

by 2 of 10weight 4.8 of 86Koinly leads
Koinly8 out of 10
Divly6 out of 10

Score dimensions

weights sum to 86

The published score is five dimensions, each weighted for the category. "Published criteria" is the criteria block above; the other four are the engine's own terms — availability, friction, trust record, measured data. Each bar is one side's points out of that dimension's maximum; the weight beside the name is its points of the 86-point weighted total. The published criteria above can fill 24 of the block’s 30. A weight marked “constant here” belongs to a dimension every ranked product in the category holds at the same value: it still counts in the total, and it orders nothing here.

Availabilityweight 20 of 86 · constant here
Koinly14/20Divly14/20
Tie
Published criteriaweight 30 of 86
Koinly19.2/30Divly17.9/30
Koinly leads
Frictionweight 10 of 86 · constant here
Koinly2.7/10Divly2.7/10
Tie
Trust recordweight 8 of 86 · constant here
Koinly3.2/8Divly3.2/8
Tie
Measured dataweight 18 of 86 · constant here
Koinly8.3/18Divly8.3/18
Tie
Decision rulePublished order

Choose Koinly unless the term Divly leads on is the one you are buying.

Pick Divly if your tax form matters most — it scores 9/10 to Koinly's 8/10 there (weight 32).

The published order weighs every criterion the same way for everyone. To weigh them your way, run .

From the published order

Next best action

If this isn't your case

Other matchups worth comparing

How you can lose money here, and what the ranking scores
  • Regulatory failure: no licence where you are, or a forced market exit.
    Scored by Which country's actual tax form comes out at the end — named, and for the year I am filing? · 32% (Koinly 8/10, Divly 9/10)
  • Exit failure: you cannot get out at par, on time, or with what is yours.
    Scored by Can my accountant take this without redoing it — and if I stop paying, does my per-lot basis still leave with me? · 20% (Koinly 8/10, Divly 6/10)
  • Information failure: the number is wrong or bought, or your data leaks.
    Scored by Which lot did it decide I sold, and does that method match what my tax authority actually requires? · 26% (Koinly 8/10, Divly 7/10)
    Scored by My history has DeFi, staking, NFTs, a rug and ten transfers between my own wallets — what does it do with each one? · 22% (Koinly 8/10, Divly 7/10)
Every failure family that applies to this category is scored.
Questions

Frequently asked questions

Koinly scores 3 points above Divly, led by cost-basis method, complex transactions, and record portability. Published scores, out of 100: Koinly 81 (rank 1 of 11 tax software), Divly 78 (rank 4 of 11).

Related pages

Go deeper

Reviewed Next review by Methodology v2026.10.18
How this page is reviewed

Reviewed means both products compared here was read against its sources on or after that date; every ranked category is re-read at least every 45 days. Models research, extract and parse. A deterministic engine ranks. Every quote passes an adversarial refute pass.

Accountable for this review: Mathias Siemonsmeier, Founder.

How we review · Review calendar · Corrections log · How we make money

Free advisorNo signup needed

Skip the comparison — get your best match

Answer a few quick questions and get one clear recommendation based on how you actually plan to use crypto — with rationale, tradeoffs, and a path to monitor the decision.

No signupFree first pass · PrivateNo spam · No account

Not financial advice · Independent · Always do your own research

Not financial advice · For informational purposes only · Always do your own research