{
  "cik": 1092699,
  "cik_padded": "0001092699",
  "entityName": "SPS COMMERCE INC",
  "fiscal_years": [
    {
      "accn": "0001092699-26-000012",
      "filed": "2026-02-19",
      "fiscal_year": 2025,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 114277000.0,
        "capex": 26524000.0,
        "cash": 151355000.0,
        "cost_of_revenue": 231629000.0,
        "eps_diluted": 2.46,
        "free_cash_flow": 152266000.0,
        "gross_profit": 519876000.0,
        "net_income": 93339000.0,
        "operating_cash_flow": 178790000.0,
        "operating_income": 118303000.0,
        "revenue": 751505000.0,
        "stockholders_equity": 973893000.0,
        "total_assets": 1169859000.0,
        "total_liabilities": 195966000.0
      },
      "period_end": "2025-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6917798284775217,
        "leverage": 0.20121923044934095,
        "net_margin": 0.12420276644865968,
        "operating_margin": 0.15742144097510993,
        "revenue_growth_yoy": 0.1783415521391108,
        "roa_avg2y": 0.08481165459461203,
        "roa_period_end": 0.07978653837770193,
        "roe_avg2y": 0.10208888521877323,
        "roe_period_end": 0.09584112423027992
      }
    },
    {
      "accn": "0001092699-26-000012",
      "filed": "2026-02-19",
      "fiscal_year": 2024,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 37567000.0,
        "capex": 20046000.0,
        "cash": 241017000.0,
        "cost_of_revenue": 210714000.0,
        "eps_diluted": 2.04,
        "free_cash_flow": 137352000.0,
        "gross_profit": 427051000.0,
        "net_income": 77054000.0,
        "operating_cash_flow": 157398000.0,
        "operating_income": 88883000.0,
        "revenue": 637765000.0,
        "stockholders_equity": 854690000.0,
        "total_assets": 1031230000.0,
        "total_liabilities": 176540000.0
      },
      "period_end": "2024-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6696055757214648,
        "leverage": 0.20655442324117515,
        "net_margin": 0.12081879689227223,
        "operating_margin": 0.13936638103376636,
        "revenue_growth_yoy": 0.187843400197426,
        "roa_avg2y": 0.08307377495453011,
        "roa_period_end": 0.07472047942747981,
        "roe_avg2y": 0.10124263795317853,
        "roe_period_end": 0.09015432495992699
      }
    },
    {
      "accn": "0001092699-26-000012",
      "filed": "2026-02-19",
      "fiscal_year": 2023,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 0.0,
        "capex": 19761000.0,
        "cash": 219081000.0,
        "cost_of_revenue": 182069000.0,
        "eps_diluted": 1.76,
        "free_cash_flow": 112537000.0,
        "gross_profit": 354841000.0,
        "net_income": 65824000.0,
        "operating_cash_flow": 132298000.0,
        "operating_income": 77248000.0,
        "revenue": 536910000.0,
        "stockholders_equity": 667475000.0,
        "total_assets": 823844000.0,
        "total_liabilities": 156369000.0
      },
      "period_end": "2023-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6608947495855916,
        "leverage": 0.23426944829394358,
        "net_margin": 0.1225978283138701,
        "operating_margin": 0.14387513736007898,
        "revenue_growth_yoy": 0.19081785417244249,
        "roa_avg2y": 0.08795543434543193,
        "roa_period_end": 0.07989862158369788,
        "roe_avg2y": 0.10929244828765645,
        "roe_period_end": 0.09861642758155736
      }
    },
    {
      "accn": "0001092699-26-000012",
      "filed": "2026-02-19",
      "fiscal_year": 2022,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 43215000.0,
        "capex": 19880000.0,
        "cash": 162893000.0,
        "cost_of_revenue": 153065000.0,
        "eps_diluted": 1.49,
        "free_cash_flow": 80172000.0,
        "gross_profit": 297810000.0,
        "net_income": 55134000.0,
        "operating_cash_flow": 100052000.0,
        "operating_income": 71182000.0,
        "revenue": 450875000.0,
        "stockholders_equity": 537073000.0,
        "total_assets": 672914000.0,
        "total_liabilities": 135841000.0
      },
      "period_end": "2022-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6605156639866926,
        "leverage": 0.2529283728655136,
        "net_margin": 0.12228222899916828,
        "operating_margin": 0.1578752425838647,
        "revenue_growth_yoy": 0.17026495291687,
        "roa_avg2y": 0.08556131475216487,
        "roa_period_end": 0.08193320394582368,
        "roe_avg2y": 0.10796489290455993,
        "roe_period_end": 0.10265643590349915
      }
    },
    {
      "accn": "0001092699-25-000011",
      "filed": "2025-02-19",
      "fiscal_year": 2021,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 20430000.0,
        "capex": 19588000.0,
        "cash": 207552000.0,
        "cost_of_revenue": 131678000.0,
        "eps_diluted": 1.21,
        "free_cash_flow": 93305000.0,
        "gross_profit": 253598000.0,
        "net_income": 44597000.0,
        "operating_cash_flow": 112893000.0,
        "operating_income": 55085000.0,
        "revenue": 385276000.0,
        "stockholders_equity": 484259000.0,
        "total_assets": 615846000.0,
        "total_liabilities": 131587000.0
      },
      "period_end": "2021-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6582242340555862,
        "leverage": 0.27172855847800453,
        "net_margin": 0.1157533819910921,
        "operating_margin": 0.14297542540931696,
        "revenue_growth_yoy": 0.23237053385791512,
        "roa_avg2y": 0.07808254195030395,
        "roa_period_end": 0.07241583123053491,
        "roe_avg2y": 0.09855908417865589,
        "roe_period_end": 0.09209328066179462
      }
    },
    {
      "accn": "0001564590-22-005952",
      "filed": "2024-02-21",
      "fiscal_year": 2020,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 18950000.0,
        "capex": 16467000.0,
        "cash": 149692000.0,
        "cost_of_revenue": 99836000.0,
        "eps_diluted": 1.26,
        "free_cash_flow": 72095000.0,
        "gross_profit": 212794000.0,
        "net_income": 45586000.0,
        "operating_cash_flow": 88562000.0,
        "operating_income": 50158000.0,
        "revenue": 312630000.0,
        "stockholders_equity": 420721000.0,
        "total_assets": 526458000.0,
        "total_liabilities": 105737000.0
      },
      "period_end": "2020-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6806576464190897,
        "leverage": 0.25132332353269743,
        "net_margin": 0.14581454115088124,
        "operating_margin": 0.16043885743530692,
        "revenue_growth_yoy": 0.12003983892463564,
        "roa_avg2y": 0.09361555316881234,
        "roa_period_end": 0.08659000338108643,
        "roe_avg2y": 0.11755073833447009,
        "roe_period_end": 0.1083520908155286
      }
    },
    {
      "accn": "0001564590-22-005952",
      "filed": "2023-02-21",
      "fiscal_year": 2019,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 20618000.0,
        "capex": 13585000.0,
        "cash": 179252000.0,
        "cost_of_revenue": 92239000.0,
        "eps_diluted": 0.94,
        "free_cash_flow": 58209000.0,
        "gross_profit": 186885000.0,
        "net_income": 33712000.0,
        "operating_cash_flow": 71794000.0,
        "operating_income": 38406000.0,
        "revenue": 279124000.0,
        "stockholders_equity": 354876000.0,
        "total_assets": 447440000.0,
        "total_liabilities": 92564000.0
      },
      "period_end": "2019-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6695411358392686,
        "leverage": 0.26083477045503217,
        "net_margin": 0.12077786216878521,
        "operating_margin": 0.13759476075149396,
        "revenue_growth_yoy": 0.12441185949081535,
        "roa_avg2y": 0.08088650767848381,
        "roa_period_end": 0.0753441802252816,
        "roe_avg2y": 0.10005787638198411,
        "roe_period_end": 0.09499656217946552
      }
    },
    {
      "accn": "0001564590-22-005952",
      "filed": "2022-02-22",
      "fiscal_year": 2018,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 19864000.0,
        "capex": 13750000.0,
        "cash": 133859000.0,
        "cost_of_revenue": 81748000.0,
        "eps_diluted": 0.68,
        "free_cash_flow": 41265000.0,
        "gross_profit": 166492000.0,
        "net_income": 23872000.0,
        "operating_cash_flow": 55015000.0,
        "operating_income": 26731000.0,
        "revenue": 248240000.0,
        "stockholders_equity": 318974000.0,
        "total_assets": 386123000.0,
        "total_liabilities": 67149000.0
      },
      "period_end": "2018-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6706896551724137,
        "leverage": 0.21051559061240102,
        "net_margin": 0.09616500161134386,
        "operating_margin": 0.10768208185626812,
        "revenue_growth_yoy": 0.12792784605947702,
        "roa_avg2y": 0.06577567881453887,
        "roa_period_end": 0.06182485891801317,
        "roe_avg2y": 0.07864467084510406,
        "roe_period_end": 0.07483995560766708
      }
    },
    {
      "accn": "0001564590-21-007614",
      "filed": "2021-02-23",
      "fiscal_year": 2017,
      "form": "10-K",
      "fundamental_units": {
        "buybacks": "USD",
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "buybacks": 5815000.0,
        "capex": 7271000.0,
        "cash": 123127000.0,
        "cost_of_revenue": 73625000.0,
        "eps_diluted": 0.01,
        "free_cash_flow": 23779000.0,
        "gross_profit": 146460000.0,
        "net_income": 351000.0,
        "operating_cash_flow": 31050000.0,
        "operating_income": 9981000.0,
        "revenue": 220085000.0,
        "stockholders_equity": 288111000.0,
        "total_assets": 339738000.0,
        "total_liabilities": 51627000.0
      },
      "period_end": "2017-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "revenue_growth_yoy": "ratio",
        "roa_avg2y": "ratio",
        "roa_period_end": "ratio",
        "roe_avg2y": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.6654701592566509,
        "leverage": 0.17919135333256975,
        "net_margin": 0.0015948383579071723,
        "operating_margin": 0.045350659972283436,
        "revenue_growth_yoy": 0.1394335060806718,
        "roa_avg2y": 0.0011001358714815633,
        "roa_period_end": 0.0010331490736979673,
        "roe_avg2y": 0.0012860016340647544,
        "roe_period_end": 0.0012182804544081968
      }
    },
    {
      "accn": "0001564590-20-006450",
      "filed": "2020-02-25",
      "fiscal_year": 2016,
      "form": "10-K",
      "fundamental_units": {
        "capex": "USD",
        "cash": "USD",
        "cost_of_revenue": "USD",
        "eps_diluted": "USD/shares",
        "free_cash_flow": "USD",
        "gross_profit": "USD",
        "net_income": "USD",
        "operating_cash_flow": "USD",
        "operating_income": "USD",
        "revenue": "USD",
        "stockholders_equity": "USD",
        "total_assets": "USD",
        "total_liabilities": "USD"
      },
      "fundamentals": {
        "capex": 8008000.0,
        "cash": 115877000.0,
        "cost_of_revenue": 64346000.0,
        "eps_diluted": 0.29,
        "free_cash_flow": 10757000.0,
        "gross_profit": 128807000.0,
        "net_income": 4963000.0,
        "operating_cash_flow": 18765000.0,
        "operating_income": 6385000.0,
        "revenue": 193153000.0,
        "stockholders_equity": 257767000.0,
        "total_assets": 298365000.0,
        "total_liabilities": 49098000.0
      },
      "period_end": "2016-12-31",
      "ratio_units": {
        "gross_margin": "ratio",
        "leverage": "ratio",
        "net_margin": "ratio",
        "operating_margin": "ratio",
        "roa_period_end": "ratio",
        "roe_period_end": "ratio"
      },
      "ratios": {
        "gross_margin": 0.666865127644924,
        "leverage": 0.190474343108311,
        "net_margin": 0.025694656567591494,
        "operating_margin": 0.03305669598711902,
        "roa_period_end": 0.016633988571045533,
        "roe_period_end": 0.019253822250326846
      }
    }
  ],
  "latest_filing": {
    "accn": "0001092699-26-000012",
    "filed": "2026-02-19",
    "form": "10-K"
  },
  "note": "Static grepcent export of verified SEC companyfacts-derived values. Monetary values are raw reported units from grepcent's resolved facts; no scaling and no FX conversion. Capex, dividends, and buybacks are reported as positive outflow magnitudes. ROE/ROA include both period-end basis (site-consistent) and average-of-two-years basis where the prior-year denominator exists.",
  "schema_version": "1",
  "sic": "7372",
  "sic_description": "Services-Prepackaged Software",
  "source_urls": {
    "sec_companyfacts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0001092699.json",
    "sec_submissions": "https://data.sec.gov/submissions/CIK0001092699.json"
  },
  "ticker": "SPSC"
}
