SPSC · XBRL financial data
SPS Commerce financial statements, every fiscal year
The same tables from 7 filings, lined up. Matched by XBRL tag: renamed lines keep their history.
How these numbers work
- Every number comes from the company's XBRL financial data filed with the SEC, and each one links to its filing.
- Lines are matched by XBRL tag, so a line renamed between filings keeps its history.
- * marks a quarter worked out from the filing totals: the 10-K year minus the first three quarters, or a year-to-date total minus the earlier one. Fourth-quarter earnings per share is fourth-quarter net income over the fourth-quarter weighted shares.
- 0 means a filing states zero; a dash (—) means no filing states that number.
- “year only” means the 10-K gives the full year but not the quarters needed to work out the fourth. A worked-out quarter of revenue, cost of revenue or operating cash flow more than twice the company's largest quarter of the two years before is shown this way too.
- Gross profit is shown as the company reports it; a worked-out quarter must equal revenue less cost of revenue for that quarter, or it is a dash.
- Operating income can be above gross profit when the company books other operating income between the two, shown on its own line.
- Shares outstanding come from each filing's cover page, as of the date printed there.
- Quarters are fiscal: Q2 FY27 is the second quarter of the company's fiscal 2027.
Income statement
CSVFiscal years (SPSC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 313 | 385 | 451 | 537 | 638 | 752 |
| Cost of revenue | 100 | 132 | 153 | 182 | 211 | 232 |
| Gross profit | 213 | 254 | 298 | 355 | 427 | 520 |
| Research and development | 31 | 39 | 46 | 54 | 63 | 69 |
| General and administrative | 50 | 61 | 67 | 85 | 103 | 127 |
| Total operating expenses | 163 | 199 | 227 | 278 | 338 | 402 |
| Operating income (loss) | 50 | 55 | 71 | 77 | 89 | 118 |
| Other income (expense) | 1 | (0) | (1) | (1) | (0) | 0 |
| Income tax expense (benefit) | 7 | 9 | 16 | 20 | 22 | 30 |
| Net income (loss) | 46 | 45 | 55 | 66 | 77 | 93 |
| Earnings per share, basic USD per share | 1.29 | 1.24 | 1.53 | 1.80 | 2.07 | 2.46 |
| Earnings per share, diluted USD per share | 1.26 | 1.21 | 1.49 | 1.76 | 2.04 | 2.46 |
| Weighted average shares, basic millions of shares | 35 | 36 | 36 | 37 | 37 | 38 |
| Weighted average shares, diluted millions of shares | 36 | 37 | 37 | 37 | 38 | 38 |
Balance sheet
CSVFiscal years (SPSC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Cash and cash equivalents | 150 | 208 | 163 | 219 | 241 | 151 |
| Short-term investments | 38 | 50 | 51 | 56 | 0 | 0 |
| Marketable securities, non-current | 3 | — | — | — | — | — |
| Accounts receivable | 34 | 35 | 39 | 47 | 52 | 68 |
| Total current assets | 271 | 352 | 323 | 401 | 382 | 335 |
| Property and equipment, net | 26 | 32 | 35 | 36 | 38 | 43 |
| Right-of-use asset | 16 | 11 | 9 | 8 | 8 | 5 |
| Goodwill | 135 | 144 | 197 | 249 | 399 | 542 |
| Total assets | 526 | 616 | 673 | 824 | 1,031 | 1,170 |
| Accounts payable | 5 | 8 | 11 | 7 | 9 | 14 |
| Accrued liabilities | 11 | 8 | 7 | 8 | 12 | 13 |
| Total current liabilities | 80 | 103 | 111 | 131 | 147 | 154 |
| Lease liability, non-current | 20 | 16 | 13 | 10 | 8 | 3 |
| Total liabilities | 106 | 132 | 136 | 156 | 177 | 196 |
| Retained earnings | 93 | 138 | 193 | 259 | 336 | 429 |
| Total stockholders' equity | 421 | 484 | 537 | 667 | 855 | 974 |
| Total liabilities and equity | 526 | 616 | 673 | 824 | 1,031 | 1,170 |
| Common shares outstanding (cover page) millions of shares | 36 | 36 | 36 | 37 | 38 | 37 |
Cash flows
CSVFiscal years (SPSC's year ends in late December)
| In millions of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 46 | 45 | 55 | 66 | 77 | 93 |
| Stock-based compensation | 19 | 28 | 33 | 46 | 55 | 54 |
| Depreciation and amortization | 13 | 15 | 16 | 19 | 19 | 21 |
| Net cash from operating activities | 89 | 113 | 100 | 132 | 157 | 179 |
| Purchases of property and equipment | 16 | 20 | 20 | 20 | 20 | 27 |
| Net cash from investing activities | (120) | (47) | (113) | (93) | (110) | (169) |
| Share repurchases | 19 | 20 | 43 | 0 | 38 | 114 |
| Net cash from financing activities | 2 | (8) | (32) | 16 | (23) | (101) |
| Net change in cash | (30) | 58 | (45) | 56 | 22 | (90) |
Compare with peers
SIC 7372 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 7372 and related industry codes with public float (or, where float is missing, quarterly revenue) between 0.2x and 5x the company's.
- Each row is the latest quarter the company has reported, named in the Quarter column; when that filing is a 10-K, it is the fourth quarter, never the full year.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
- A cell reading “not reported” means the filings give no figure for that quarter alone.
| Company | Cash ($M) | Revenue, quarter ($M) | Operating cash flow, quarter ($M) | Shares outstanding | Quarter |
|---|---|---|---|---|---|
| SPS Commerce | 154 | 198 | 64* | 35.4M | 10-QSep 30, 2026 |
| CCC Intelligent Solutions Holdings | 203 | 294 | 100* | 591.0M | 10-QSep 30, 2026 |
| SentinelOne | 201 | 292 | (6.5)* | not reported | 10-QJul 31, 2026 |
| Appian | 121 | 203 | 12* | 71.8M | 10-QJun 30, 2026 |
| Pegasystems | 202 | 393 | 6.1* | 163.7M | 10-QSep 30, 2026 |
| Science Applications International | 126 | 1,880 | 146* | 41.9M | 10-QJul 31, 2026 |
| Varonis Systems | 234 | not reported | 25* | 114.9M | 10-QJun 30, 2026 |
| Life360 | 267 | 159 | 24* | 81.5M | 10-QJun 30, 2026 |
| Jamf Holding | 547 | 183 | 66* | 133.2M | 10-QSep 30, 2025 |
Not investment advice. Not affiliated with the U.S. SEC.