{
 "name": "Yearendo Firm Software Price Index",
 "title": "Firm Software Price Index",
 "url": "https://yearendo.com/datasets/firm-software-price-index/",
 "csv": "https://yearendo.com/datasets/firm-software-price-index.csv",
 "markdown": "https://yearendo.com/datasets/firm-software-price-index/index.md",
 "computed_at": "2026-10-19",
 "license": "https://yearendo.com/terms",
 "headline": "The median published figure in the Firm Software Price Index is 38 USD across 4 sources' own pages in USD (range 19 to 74 USD; 7 sources publish a figure), read 12 October 2026.",
 "quotes": [
  "The median published figure in the Firm Software Price Index is 38 USD across 4 sources' own pages in USD (range 19 to 74 USD; 7 sources publish a figure), read 12 October 2026.",
  "7 of the 31 named sources read in full publish a figure; 24 publish none, read 12 October 2026.",
  "Firm Software Price Index, category firm-crm: median 9 EUR across 1 source, read 12 October 2026.",
  "Firm Software Price Index, category firm-crm: median 27 USD across 1 source, read 12 October 2026.",
  "Firm Software Price Index, category practice-management: median 49 USD across 3 sources, read 12 October 2026.",
  "Firm Software Price Index, category practice-management: median 49 EUR across 1 source, read 12 October 2026.",
  "Firm Software Price Index, category practice-management: median 28 GBP across 1 source, read 12 October 2026.",
  "The median is unchanged since 26 September 2026 (was 38 USD across 4)."
 ],
 "citation": "\"Yearendo Firm Software Price Index\", updated 2026-10-19, https://yearendo.com/datasets/firm-software-price-index/.",
 "changed_since": {
  "since": "2026-09-26",
  "previous_median": 38,
  "delta": 0,
  "direction": "unchanged",
  "sentence": "The median is unchanged since 26 September 2026 (was 38 USD across 4)."
 },
 "national": {
  "unit": "USD",
  "n": 4,
  "median": 38,
  "min": 19,
  "max": 74,
  "p25": 21,
  "p75": 67.75,
  "mean": 42.25,
  "units": {
   "EUR": 2,
   "GBP": 1,
   "USD": 4
  },
  "published_sources": 7,
  "named_sources": 31,
  "read_sources": 31,
  "not_published": 24,
  "published_share": 0.226
 },
 "by_axis": {
  "category": {
   "firm-crm": {
    "EUR": {
     "n": 1,
     "median": 9,
     "min": 9,
     "max": 9,
     "p25": 9,
     "p75": 9,
     "mean": 9
    },
    "USD": {
     "n": 1,
     "median": 27,
     "min": 27,
     "max": 27,
     "p25": 27,
     "p75": 27,
     "mean": 27
    }
   },
   "practice-management": {
    "USD": {
     "n": 3,
     "median": 49,
     "min": 19,
     "max": 74,
     "p25": 19,
     "p75": 74,
     "mean": 47.3333
    },
    "EUR": {
     "n": 1,
     "median": 49,
     "min": 49,
     "max": 49,
     "p25": 49,
     "p75": 49,
     "mean": 49
    },
    "GBP": {
     "n": 1,
     "median": 28,
     "min": 28,
     "max": 28,
     "p25": 28,
     "p75": 28,
     "mean": 28
    }
   }
  }
 },
 "rows": [
  {
   "source": "Freshsales pricing",
   "url": "https://www.freshworks.com/crm/pricing/",
   "figure": "€9",
   "value": 9,
   "unit": "EUR",
   "vat": null,
   "axis": {
    "category": "firm-crm"
   },
   "retrieved_at": "2026-10-11",
   "quote": "Annually €9",
   "source_class": "primary-provider-own-site",
   "text_sha256": "62a5e4515925bc4c544c8554ce7f1e16ca66765911e2c55ca33815a3bf1d7813"
  },
  {
   "source": "Method CRM pricing",
   "url": "https://www.method.me/pricing/",
   "figure": "$27",
   "value": 27,
   "unit": "USD",
   "vat": null,
   "axis": {
    "category": "firm-crm"
   },
   "retrieved_at": "2026-10-12",
   "quote": "$27/user/mo",
   "source_class": "primary-provider-own-site",
   "text_sha256": "285f1f5ea31ba71d54f48ae323d33dbab6f5f958a6111bd9dec948448ceaac94"
  },
  {
   "source": "Canopy pricing",
   "url": "https://www.getcanopy.com/pricing",
   "figure": "$74 ",
   "value": 74,
   "unit": "USD",
   "vat": null,
   "axis": {
    "category": "practice-management"
   },
   "retrieved_at": "2026-10-12",
   "quote": "$74 user/month",
   "source_class": "primary-provider-own-site",
   "text_sha256": "3ecb20acfb9bcc716d07566e08858396af3c35c692e7eb221a7445a7500472cf"
  },
  {
   "source": "Financial Cents pricing",
   "url": "https://financial-cents.com/pricing/",
   "figure": "$19",
   "value": 19,
   "unit": "USD",
   "vat": null,
   "axis": {
    "category": "practice-management"
   },
   "retrieved_at": "2026-10-12",
   "quote": "$19/mo",
   "source_class": "primary-provider-own-site",
   "text_sha256": "cb257531f0f572d4d9e2531757400e38faa8648ddb1252a9bdc24080cdf35d6d"
  },
  {
   "source": "Karbon pricing",
   "url": "https://karbonhq.com/pricing/",
   "figure": "€49",
   "value": 49,
   "unit": "EUR",
   "vat": null,
   "axis": {
    "category": "practice-management"
   },
   "retrieved_at": "2026-10-12",
   "quote": "€49/month, per user, paid annually",
   "source_class": "primary-provider-own-site",
   "text_sha256": "506cbf36cffa7e32912321abca8db8f1a8b97642f439b5c1958a05ce6adf3ece"
  },
  {
   "source": "Client Hub pricing",
   "url": "https://www.clienthub.app/pricing",
   "figure": "$49 ",
   "value": 49,
   "unit": "USD",
   "vat": null,
   "axis": {
    "category": "practice-management"
   },
   "retrieved_at": "2026-10-12",
   "quote": "$49 user/mo billed annually",
   "source_class": "primary-provider-own-site",
   "text_sha256": "267ca2c6b0b8aa11951a3519c5da42330b1285dfd2ef09a07c3586a0191d3be2"
  },
  {
   "source": "Senta practice management pricing (GB)",
   "url": "https://www.senta.co/pricing/",
   "figure": "£28.00 ",
   "value": 28,
   "unit": "GBP",
   "vat": null,
   "axis": {
    "category": "practice-management"
   },
   "retrieved_at": "2026-10-12",
   "quote": "(£28.00 / user / month)",
   "source_class": "primary-provider-own-site",
   "text_sha256": "0268245ca0db75585ce0e07845db0977633ec2d54c5af252be71523519e0e63b"
  }
 ],
 "not_published": [
  {
   "source": "Gusto pricing",
   "url": "https://gusto.com/product/pricing",
   "retrieved_at": "2026-10-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "OnPay pricing (accountant partner)",
   "url": "https://onpay.com/pricing/",
   "retrieved_at": "2026-10-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "QuickBooks Payroll pricing",
   "url": "https://quickbooks.intuit.com/payroll/pricing/",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Square Payroll pricing",
   "url": "https://squareup.com/us/en/payroll/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Justworks pricing",
   "url": "https://www.justworks.com/pricing",
   "retrieved_at": "2026-10-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Rippling pricing",
   "url": "https://www.rippling.com/pricing",
   "retrieved_at": "2026-10-11",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "TaxDome pricing",
   "url": "https://taxdome.com/pricing/",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Jetpack Workflow pricing",
   "url": "https://www.jetpackworkflow.com/pricing/",
   "retrieved_at": "2026-09-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Liscio pricing",
   "url": "https://www.liscio.me/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "Aero Workflow pricing",
   "url": "https://www.aeroworkflow.com/pricing",
   "retrieved_at": "2026-09-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "Ignition pricing",
   "url": "https://www.ignitionapp.com/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Mango Practice Management pricing",
   "url": "https://mangopractice.com/pricing/",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Suralink pricing",
   "url": "https://www.suralink.com/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "SmartVault pricing",
   "url": "https://www.smartvault.com/pricing/",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Tallyfor pricing",
   "url": "https://www.tallyfor.com/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Qount pricing",
   "url": "https://www.qount.io/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "Zoho CRM pricing",
   "url": "https://www.zoho.com/crm/pricing.html",
   "retrieved_at": "2026-10-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "HubSpot CRM pricing",
   "url": "https://www.hubspot.com/pricing/crm",
   "retrieved_at": "2026-10-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Pipedrive pricing",
   "url": "https://www.pipedrive.com/en/pricing",
   "retrieved_at": "2026-10-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Keap pricing",
   "url": "https://keap.com/pricing",
   "retrieved_at": "2026-09-11",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "Xero US pricing",
   "url": "https://www.xero.com/us/pricing-plans/",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "BILL pricing",
   "url": "https://www.bill.com/pricing",
   "retrieved_at": "2026-10-12",
   "reason": "every candidate on the page was refused"
  },
  {
   "source": "BrightPay pricing (GB)",
   "url": "https://www.brightpay.co.uk/pricing/",
   "retrieved_at": "2026-09-12",
   "reason": "read in full and no accepted figure on the page"
  },
  {
   "source": "Moneysoft Payroll Manager prices (GB)",
   "url": "https://www.moneysoft.co.uk/payroll-manager/prices/",
   "retrieved_at": "2026-09-12",
   "reason": "every candidate on the page was refused"
  }
 ],
 "sources": [
  {
   "url": "https://gusto.com/product/pricing",
   "label": "Gusto pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://onpay.com/pricing/",
   "label": "OnPay pricing (accountant partner)",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://quickbooks.intuit.com/payroll/pricing/",
   "label": "QuickBooks Payroll pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://squareup.com/us/en/payroll/pricing",
   "label": "Square Payroll pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.justworks.com/pricing",
   "label": "Justworks pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.rippling.com/pricing",
   "label": "Rippling pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://karbonhq.com/pricing/",
   "label": "Karbon pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://taxdome.com/pricing/",
   "label": "TaxDome pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.getcanopy.com/pricing",
   "label": "Canopy pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://financial-cents.com/pricing/",
   "label": "Financial Cents pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.jetpackworkflow.com/pricing/",
   "label": "Jetpack Workflow pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.liscio.me/pricing",
   "label": "Liscio pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.aeroworkflow.com/pricing",
   "label": "Aero Workflow pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.clienthub.app/pricing",
   "label": "Client Hub pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.ignitionapp.com/pricing",
   "label": "Ignition pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://mangopractice.com/pricing/",
   "label": "Mango Practice Management pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.suralink.com/pricing",
   "label": "Suralink pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.smartvault.com/pricing/",
   "label": "SmartVault pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.tallyfor.com/pricing",
   "label": "Tallyfor pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.qount.io/pricing",
   "label": "Qount pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.method.me/pricing/",
   "label": "Method CRM pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.zoho.com/crm/pricing.html",
   "label": "Zoho CRM pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.hubspot.com/pricing/crm",
   "label": "HubSpot CRM pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.pipedrive.com/en/pricing",
   "label": "Pipedrive pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://keap.com/pricing",
   "label": "Keap pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.freshworks.com/crm/pricing/",
   "label": "Freshsales pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.xero.com/us/pricing-plans/",
   "label": "Xero US pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.bill.com/pricing",
   "label": "BILL pricing",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.senta.co/pricing/",
   "label": "Senta practice management pricing (GB)",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.brightpay.co.uk/pricing/",
   "label": "BrightPay pricing (GB)",
   "license": "the publisher's own terms; quoted for reporting and comment"
  },
  {
   "url": "https://www.moneysoft.co.uk/payroll-manager/prices/",
   "label": "Moneysoft Payroll Manager prices (GB)",
   "license": "the publisher's own terms; quoted for reporting and comment"
  }
 ],
 "methodology": "Every row is a verbatim sentence read from the named source's own page through our fetch service on the date shown, hash-pinned to the stored read (the sha of the page's visible text; the raw page is mirrored to R2). 7 of the 31 named sources that could be read published a usable figure; 24 published none and are recorded as not published, never filled in; 0 could not be read (blocked, dead or unreachable) and count nowhere. The headline figures (median, minimum, maximum, quartiles) are over ONE figure per source in USD (a source's median where its page yielded several accepted sentences), so N counts sources, never sentences; 187 candidate sentence(s) were refused by a reviewer with the reason recorded. The fuller derivation this dataset is chartered to grow into (not yet what the figures above are; they are each source's own published figure as read): the published list price per seat per month for every vendor a firm buys, split by category (client payroll, firm CRM, practice management, document/portal, proposal and billing) and by plan tier; the base-fee-plus-per-employee decomposition for payroll (the only honest way to answer 'how much do payroll companies charge': base + per-worker, not a single number); the median, minimum and maximum seat price per category; the share of vendors publishing a price versus quote-only; the accountant-partner discount where a vendor states one; and repriced-since the previous read.",
 "embed": "<figure style=\"margin:0;padding:16px;border:1px solid #d9d9d9;border-radius:8px;background:#ffffff;color:#111111;font-family:system-ui,sans-serif;max-width:480px\"><p style=\"margin:0 0 8px;font-size:28px;font-weight:700;color:#111111;background:#ffffff\">38 USD</p><p style=\"margin:0 0 8px;font-size:14px;color:#111111;background:#ffffff\">median published figure, Firm Software Price Index, across 7 sources, read 12 October 2026</p><figcaption style=\"font-size:12px;color:#444444;background:#ffffff\"><a href=\"https://yearendo.com/datasets/firm-software-price-index/#median\" style=\"color:#1a4fd6;background:#ffffff\">Source: Yearendo Firm Software Price Index</a></figcaption></figure>"
}
