BBSI · XBRL financial data
Barrett Business Services 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 (BBSI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Cost of goods and services sold | 697,917 | 750,658 | 819,481 | 826,775 | 891,280 | 979,385 |
| Gross profit | 182,907 | 204,508 | 234,845 | 242,532 | 253,251 | 260,913 |
| Selling, general and administrative | 141,916 | 155,259 | 169,642 | 174,772 | 185,869 | 190,494 |
| Operating income (loss) | 36,147 | 43,923 | 58,975 | 60,650 | 59,781 | 62,163 |
| Interest income | — | — | 6,800 | 9,100 | 10,900 | 8,700 |
| Interest expense | 1,244 | 372 | 141 | 166 | 178 | 171 |
| Other income (expense) | (284) | (105) | (7) | (139) | 89 | 148 |
| Income tax expense (benefit) | 8,831 | 12,582 | 18,035 | 18,376 | 17,829 | 16,951 |
| Net income (loss) | 33,765 | 38,079 | 47,268 | 50,612 | 52,993 | 54,448 |
| Earnings per share, basic‡ USD per share | 1.12 | 1.26 | 1.66 | 1.88 | 2.03 | 2.13 |
| Earnings per share, diluted‡ USD per share | 1.10 | 1.25 | 1.64 | 1.85 | 1.98 | 2.08 |
| Weighted average shares, basic‡ thousands of shares | 30,308 | 30,160 | 28,520 | 26,924 | 26,076 | 25,613 |
| Weighted average shares, diluted‡ thousands of shares | 30,752 | 30,484 | 28,904 | 27,396 | 26,708 | 26,141 |
- ‡ Per-share figures and share counts are adjusted for the 4-for-1 stock split (March 2025); filings made before it reported them unadjusted.
Balance sheet
CSVFiscal years (BBSI's year ends in late December)
- ‡ Per-share figures and share counts are adjusted for the 4-for-1 stock split (March 2025); filings made before it reported them unadjusted.
Cash flows
CSVFiscal years (BBSI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 33,765 | 38,079 | 47,268 | 50,612 | 52,993 | 54,448 |
| Stock-based compensation | 3,436 | 5,366 | 7,390 | 8,465 | 8,840 | 10,360 |
| Net cash from operating activities | (27,915) | (15,459) | 27,778 | 67,222 | 10,087 | 65,955 |
| Net cash from investing activities | 4,141 | (112,863) | 61,154 | (55,187) | 38,785 | 30,761 |
| Share repurchases | 8,056 | 17,287 | 47,168 | 34,192 | 29,133 | 41,958 |
| Dividends paid | 9,121 | 9,069 | 8,524 | 8,089 | 8,086 | 8,182 |
| Repayments of long-term debt | 220 | 221 | 3,510 | — | — | — |
| Net cash from financing activities | (15,730) | (26,886) | (60,183) | (44,572) | (41,125) | (52,970) |
| Net change in cash | (39,504) | (155,208) | 28,749 | (32,537) | 7,747 | 43,746 |
Compare with peers
SIC 7363 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 7363 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.
- Runway shows only for companies burning cash with under $10B of public float.
- * 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 ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| Barrett Business Services | 27,037 | not reported | (55,876)* | 24.2M | 1.2 quarters | 10-QJun 30, 2026 |
| Heidrick & Struggles International | 454,640 | 327,896 | 134,679* | 20.8M | — | 10-QSep 30, 2025 |
| Amn Healthcare Services | 361,836 | 673,237 | (189,930)* | 38.7M | 1.9 quarters | 10-QJun 30, 2026 |
| Kforce | 250 | 357,755 | 9,529* | 17.9M | — | 10-QSep 30, 2026 |
| ManpowerGroup | 233,100 | 4,840,000 | (8,000)* | 46.5M | 4.3 quarters | 10-QSep 30, 2026 |
| Everforth | 147,500 | 1,031,400 | 58,700* | 41.1M | — | 10-QSep 30, 2026 |
| Insperity | 599,000 | 1,651,000 | (4,000)* | 38.1M | 41.5 quarters | 10-QSep 30, 2026 |
| Cross Country Healthcare | 105,584 | 241,057 | 4,767 | 32.3M | — | 10-QMar 31, 2026 |
| Kelly Services | 24,200 | 1,038,200 | 49,200* | not reported | — | 10-QJun 28, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.
