Quarterly
Annual
| Unit: USD | 2025-06-28 | 2025-03-29 | 2024-12-28 | 2024-09-28 | 2024-06-29 | 2024-03-30 | 2023-12-30 | 2023-09-30 | 2023-07-01 | 2023-04-01 | 2022-12-31 | 2022-10-01 | 2022-07-02 | 2022-04-02 | 2022-01-01 | 2021-10-02 | 2021-07-03 | 2021-04-03 | 2021-01-02 | 2020-10-03 | 2020-06-27 | 2020-03-28 | 2019-12-28 | 2019-09-28 | 2019-06-29 | 2019-03-30 | 2018-12-29 | 2018-09-29 | 2018-06-30 | 2018-03-31 | 2017-07-01 | 2017-04-01 | 2016-09-30 | 2013-09-30 | 2013-06-30 | 2013-03-31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cash flows from operating activities: | ||||||||||||||||||||||||||||||||||||
net income | 11,688,000 | 428,000 | 5,430,000 | 14,234,000 | 7,907,000 | 408,000 | 9,937,000 | 13,316,000 | 15,413,000 | 5,947,000 | 8,000,000 | 16,063,000 | 17,268,000 | 8,642,000 | 15,456,000 | 12,573,000 | 13,638,000 | 5,480,000 | 4,573,000 | 7,754,000 | 4,503,000 | 4,188,000 | 3,576,000 | 5,843,000 | 8,794,000 | 5,543,000 | 7,659,000 | 7,285,000 | 7,620,000 | 4,292,000 | 4,319,000 | 2,270,000 | 3,404,000 | 931,000 | 737,000 | 556,000 |
adjustments to reconcile net income to net cash from operating activities: | ||||||||||||||||||||||||||||||||||||
depreciation and amortization | 16,782,000 | 17,377,000 | 17,322,000 | 15,654,000 | 17,592,000 | 16,043,000 | 15,522,000 | 15,293,000 | 14,903,000 | 12,302,000 | 10,972,000 | 11,033,000 | 10,891,000 | 11,167,000 | 11,574,000 | 11,461,000 | 11,394,000 | 10,542,000 | 10,808,000 | 11,403,000 | 12,237,000 | 11,040,000 | 6,908,000 | 6,551,000 | 6,244,000 | 6,113,000 | 5,724,000 | 4,057,000 | 3,807,000 | 3,796,000 | 3,253,000 | 2,501,000 | 1,604,000 | 403,000 | 372,000 | 351,000 |
non-cash lease expense | 3,185,000 | 3,183,000 | 3,095,000 | 3,115,000 | 3,108,000 | 3,293,000 | 3,216,000 | 3,562,000 | 3,498,000 | 3,286,000 | 3,404,000 | 3,144,000 | 3,173,000 | 3,092,000 | 2,250,000 | 3,057,000 | 2,723,000 | 2,161,000 | 2,738,000 | 2,424,000 | 2,603,000 | 1,704,000 | 2,640,000 | 2,519,000 | 2,242,000 | 2,009,000 | ||||||||||
benefit from doubtful accounts | 419,000 | 111,000 | 674,000 | 349,000 | 232,000 | 491,000 | 321,000 | 333,000 | 367,000 | 240,000 | -1,312,000 | 658,000 | -84,000 | 678,000 | 166,000 | 494,000 | 1,119,000 | -536,000 | 1,184,000 | 1,437,000 | 1,475,000 | 215,000 | -486,000 | 269,000 | 1,250,000 | 206,000 | -46,000 | 12,000 | 507,000 | 324,000 | 51,000 | 138,000 | 34,000 | -27,000 | 18,000 | 31,000 |
stock-based compensation | 7,270,000 | 6,770,000 | 6,038,000 | 5,955,000 | 7,322,000 | 6,666,000 | 5,875,000 | 5,776,000 | 4,902,000 | 5,826,000 | 4,077,000 | 5,634,000 | 4,826,000 | 4,789,000 | 4,214,000 | 4,297,000 | 4,094,000 | 3,696,000 | 4,055,000 | 4,020,000 | ||||||||||||||||
change in fair value of contingent consideration | 43,000 | -417,000 | -1,762,000 | -4,000 | -6,655,000 | -859,000 | 3,515,000 | -25,000 | 2,400,000 | -302,000 | 26,000 | 209,000 | -265,000 | 0 | 0 | 49,000 | 157,000 | 160,000 | 21,000 | 21,000 | 1,000 | |||||||||||||||
gain on disposals of property and equipment | -10,000 | -157,000 | -287,000 | -9,000 | -641,000 | -3,000 | -61,000 | -225,000 | -385,000 | -23,000 | -228,000 | -39,000 | -7,000 | -54,000 | -478,000 | -51,000 | -530,000 | -44,000 | 0 | -49,000 | 1,000 | |||||||||||||||
other | -86,000 | 33,000 | -159,000 | 92,000 | 271,000 | -67,000 | ||||||||||||||||||||||||||||||
deferred income taxes | -3,880,000 | -5,091,000 | -7,226,000 | -6,326,000 | -2,537,000 | -5,175,000 | -262,000 | -17,774,000 | -2,070,000 | -5,603,000 | -14,204,000 | -1,274,000 | -1,111,000 | -1,903,000 | -2,689,000 | -1,330,000 | -706,000 | -2,282,000 | -7,159,000 | -5,036,000 | 745,000 | -1,614,000 | -2,795,000 | -4,316,000 | 940,000 | -463,000 | -4,149,000 | 43,000 | 501,000 | 20,000 | 145,000 | 141,000 | 36,000 | 59,000 | -54,000 | -69,000 |
amortization of debt issuance costs | 185,000 | 185,000 | 185,000 | 186,000 | 185,000 | 185,000 | 185,000 | 208,000 | 171,000 | 194,000 | 168,000 | 186,000 | 185,000 | 185,000 | 186,000 | 570,000 | 227,000 | 227,000 | 227,000 | 227,000 | 222,000 | 220,000 | ||||||||||||||
changes in operating assets and liabilities, net of impact of acquisitions: | ||||||||||||||||||||||||||||||||||||
billed receivables | -5,955,000 | 9,422,000 | -32,070,000 | -4,573,000 | -11,957,000 | 7,283,000 | 13,948,000 | -17,246,000 | 1,322,000 | 9,560,000 | -3,069,000 | -1,871,000 | -8,059,000 | 23,211,000 | -14,051,000 | -19,999,000 | 690,000 | 36,037,000 | -21,681,000 | 9,223,000 | -7,187,000 | 6,053,000 | 4,632,000 | -5,003,000 | -3,484,000 | 8,995,000 | -2,266,000 | 1,438,000 | -3,480,000 | -4,354,000 | ||||||
unbilled receivables | 3,077,000 | 12,445,000 | 2,019,000 | -3,888,000 | -19,315,000 | -5,727,000 | 8,776,000 | -14,600,000 | 4,157,000 | -13,999,000 | 5,330,000 | -4,832,000 | -5,843,000 | 2,042,000 | -2,549,000 | -2,786,000 | -9,270,000 | 2,032,000 | 9,501,000 | -5,219,000 | 5,478,000 | -7,764,000 | -7,317,000 | 698,000 | -8,538,000 | 3,350,000 | 946,000 | -1,963,000 | -4,205,000 | 2,409,000 | ||||||
prepaid expenses and other assets | -3,768,000 | -2,244,000 | -1,217,000 | 4,648,000 | -3,115,000 | 1,496,000 | -4,236,000 | 6,635,000 | -9,548,000 | 4,857,000 | 6,980,000 | -7,594,000 | -3,741,000 | 3,230,000 | -632,000 | 48,000 | -3,094,000 | -1,114,000 | 2,509,000 | 54,000 | 155,000 | 1,962,000 | 1,680,000 | 4,134,000 | -8,082,000 | -1,331,000 | -928,000 | 566,000 | 469,000 | -216,000 | 432,000 | -787,000 | 342,000 | -21,000 | 565,000 | -553,000 |
accounts payable | 9,628,000 | -14,939,000 | 8,400,000 | 10,644,000 | 8,139,000 | -3,584,000 | -12,316,000 | 12,010,000 | 7,720,000 | -15,884,000 | 6,264,000 | -3,588,000 | 3,505,000 | -7,854,000 | 6,815,000 | 3,812,000 | 3,886,000 | -6,332,000 | 6,147,000 | -2,918,000 | 94,000 | 44,000 | 2,587,000 | 1,763,000 | -576,000 | -3,240,000 | 1,077,000 | -1,836,000 | 1,756,000 | -599,000 | 3,857,000 | -3,862,000 | -838,000 | 463,000 | 467,000 | 89,000 |
accrued liabilities and other long-term liabilities | -17,586,000 | 9,122,000 | -3,077,000 | 5,444,000 | -12,182,000 | 675,000 | -21,091,000 | 6,941,000 | -8,073,000 | 2,375,000 | ||||||||||||||||||||||||||
billings in excess of costs and estimated earnings on uncompleted contracts | -9,049,000 | 2,020,000 | 754,000 | 2,946,000 | -5,868,000 | -1,516,000 | -1,130,000 | 5,493,000 | -11,512,000 | 3,906,000 | 2,606,000 | 3,965,000 | -1,763,000 | -5,104,000 | 12,238,000 | -75,000 | -917,000 | -7,241,000 | 15,953,000 | 465,000 | 4,037,000 | 1,204,000 | 1,650,000 | -589,000 | -2,013,000 | -3,370,000 | 3,479,000 | -117,000 | 261,000 | 341,000 | 1,012,000 | 380,000 | 57,000 | -78,000 | 161,000 | -120,000 |
contingent consideration | 0 | -7,000 | -11,000 | 0 | -640,000 | -815,000 | 0 | 0 | -507,000 | -800,000 | ||||||||||||||||||||||||||
other current liabilities | -179,000 | 131,000 | -255,000 | 398,000 | 187,000 | -99,000 | -25,000 | 215,000 | 517,000 | -43,000 | 179,000 | -28,000 | 13,000 | -289,000 | ||||||||||||||||||||||
net cash from operating activities | 11,764,000 | 38,372,000 | 209,000 | 48,869,000 | -11,312,000 | 19,554,000 | 16,772,000 | 19,933,000 | 14,220,000 | 11,282,000 | 13,589,000 | 26,133,000 | 7,742,000 | 46,516,000 | 23,371,000 | 15,843,000 | 14,073,000 | 48,155,000 | 23,590,000 | 21,674,000 | 37,142,000 | 13,603,000 | 18,343,000 | 4,123,000 | 1,121,000 | 16,313,000 | 17,429,000 | 6,733,000 | 7,220,000 | 3,617,000 | 4,277,000 | 209,000 | 3,992,000 | 2,015,000 | 1,271,000 | -979,000 |
capex | -4,764,000 | -11,036,000 | -3,511,000 | -4,505,000 | -5,232,000 | -3,673,000 | -2,909,000 | -4,018,000 | -4,129,000 | -6,110,000 | -815,000 | -4,495,000 | -4,335,000 | -6,044,000 | -7,189,000 | -2,686,000 | -2,558,000 | -1,470,000 | -1,513,000 | -2,197,000 | -1,620,000 | -4,525,000 | -815,000 | -184,000 | -936,000 | -690,000 | -621,000 | -120,000 | -337,000 | -1,125,000 | -603,000 | -388,000 | -138,000 | -66,000 | -65,000 | -276,000 |
free cash flows | 7,000,000 | 27,336,000 | -3,302,000 | 44,364,000 | -16,544,000 | 15,881,000 | 13,863,000 | 15,915,000 | 10,091,000 | 5,172,000 | 12,774,000 | 21,638,000 | 3,407,000 | 40,472,000 | 16,182,000 | 13,157,000 | 11,515,000 | 46,685,000 | 22,077,000 | 19,477,000 | 35,522,000 | 9,078,000 | 17,528,000 | 3,939,000 | 185,000 | 15,623,000 | 16,808,000 | 6,613,000 | 6,883,000 | 2,492,000 | 3,674,000 | -179,000 | 3,854,000 | 1,949,000 | 1,206,000 | -1,255,000 |
cash flows from investing activities: | ||||||||||||||||||||||||||||||||||||
cash paid for acquisitions | -3,705,000 | -4,440,000 | -9,572,000 | -400,000 | -8,613,000 | -45,334,000 | -236,000 | -2,867,000 | -68,655,000 | -117,587,000 | -888,000 | -350,000 | -4,344,000 | -326,000 | -44,426,000 | -1,917,000 | -6,645,000 | -15,007,000 | 0 | -319,010,000 | -15,205,000 | -6,160,000 | -8,000,000 | -29,695,000 | -24,987,000 | -176,000 | -3,297,000 | -303,000 | ||||||||
proceeds from sale of assets | 148,000 | 268,000 | 414,000 | 21,000 | 227,000 | 22,000 | 425,000 | 0 | 0 | 39,000 | 796,000 | 383,000 | 0 | 460,000 | 617,000 | 616,000 | 12,000 | 425,000 | ||||||||||||||||||
purchase of property and equipment | -4,764,000 | -11,036,000 | -3,511,000 | -4,505,000 | -5,232,000 | -3,673,000 | -2,909,000 | -4,018,000 | -4,129,000 | -6,110,000 | -815,000 | -4,495,000 | -4,335,000 | -6,044,000 | -7,189,000 | -2,686,000 | -2,558,000 | -1,470,000 | -1,513,000 | -2,197,000 | -1,620,000 | -4,525,000 | -815,000 | -184,000 | -936,000 | -690,000 | -621,000 | -120,000 | -337,000 | -1,125,000 | -603,000 | -388,000 | -138,000 | -66,000 | -65,000 | -276,000 |
net cash from investing activities | -8,321,000 | -15,208,000 | -12,669,000 | -4,884,000 | -13,618,000 | -48,985,000 | -2,720,000 | -6,885,000 | -72,489,000 | -123,697,000 | -1,703,000 | -4,806,000 | -8,631,000 | -6,370,000 | -50,819,000 | -4,220,000 | -9,203,000 | -16,017,000 | -896,000 | -2,463,000 | -1,608,000 | -4,100,000 | -319,825,000 | -15,389,000 | -7,096,000 | -8,690,000 | -30,316,000 | -25,107,000 | -513,000 | -4,422,000 | -61,640,000 | -388,000 | -441,000 | -900,000 | -848,000 | -276,000 |
cash flows from financing activities: | ||||||||||||||||||||||||||||||||||||
borrowings from senior credit facility | 17,500,000 | 8,000,000 | 11,000,000 | 0 | 23,000,000 | 35,000,000 | 0 | 8,000,000 | 70,000,000 | 110,000,000 | 0 | 0 | ||||||||||||||||||||||||
payments on notes payable and other obligations | -2,944,000 | -1,631,000 | -848,000 | -894,000 | -4,380,000 | |||||||||||||||||||||||||||||||
payments of contingent consideration | -125,000 | -143,000 | -139,000 | 0 | -560,000 | -1,025,000 | -200,000 | 0 | -93,000 | -700,000 | 133,000 | 0 | 0 | -1,597,000 | -666,000 | -250,000 | -263,000 | -150,000 | -666,000 | 0 | -263,000 | -650,000 | 11,000 | 0 | -513,000 | -700,000 | 0 | 0 | -513,000 | -215,000 | -500,000 | -62,000 | 0 | |||
payments on borrowings from senior credit facility | -32,000,000 | -26,000,000 | ||||||||||||||||||||||||||||||||||
purchases of common stock tendered by employees to satisfy the required withholding taxes related to stock-based compensation | 0 | -615,000 | 0 | 0 | 0 | 0 | -52,000 | |||||||||||||||||||||||||||||
net cash (used) provided by financing activities | -17,569,000 | -20,389,000 | ||||||||||||||||||||||||||||||||||
effect of exchange rate changes on cash and cash equivalents | 286,000 | 76,000 | -711,000 | 765,000 | -27,000 | -222,000 | 205,000 | -87,000 | ||||||||||||||||||||||||||||
net decrease in cash and cash equivalents | -15,411,000 | -58,000 | -1,167,000 | -1,549,000 | -1,819,000 | |||||||||||||||||||||||||||||||
cash and cash equivalents – beginning of period | 0 | 50,361,000 | 0 | 0 | 0 | 44,824,000 | 0 | 0 | 0 | 38,541,000 | 0 | 0 | 0 | 47,980,000 | 0 | 0 | 0 | 64,909,000 | 0 | 0 | 0 | 31,825,000 | 0 | 0 | 0 | 40,739,000 | 0 | 0 | 0 | 18,751,000 | 0 | 35,666,000 | 0 | |||
cash and cash equivalents – end of period | -13,840,000 | 53,212,000 | -22,896,000 | 43,902,000 | -15,411,000 | 44,766,000 | -1,615,000 | 17,612,000 | -2,514,000 | 31,341,000 | -15,630,000 | 9,749,000 | -37,526,000 | 81,948,000 | -73,417,000 | 8,374,000 | 20,098,000 | 92,925,000 | 887,000 | -1,190,000 | 26,886,000 | 38,326,000 | 400,000 | -13,011,000 | -1,378,000 | 45,814,000 | -15,463,000 | 40,167,000 | -1,167,000 | 17,202,000 | -14,355,000 | 33,847,000 | 2,009,000 | 60,000 | 5,581,000 | 1,130,000 |
net increase in cash and cash equivalents | 2,851,000 | -22,896,000 | -1,615,000 | -7,200,000 | -15,630,000 | 9,749,000 | -37,526,000 | 33,968,000 | -73,417,000 | 8,374,000 | 20,098,000 | 28,016,000 | 887,000 | -1,190,000 | 26,886,000 | 6,501,000 | 400,000 | -13,011,000 | -1,378,000 | 5,075,000 | -15,463,000 | 2,009,000 | 60,000 | |||||||||||||
payments of borrowings from senior credit facility | -20,000,000 | 0 | -11,000,000 | -2,000,000 | -20,000,000 | -10,000,000 | -40,000,000 | -138,750,000 | -1,875,000 | -143,207,000 | -15,875,000 | -18,875,000 | 0 | -34,000,000 | ||||||||||||||||||||||
payments on notes payable | -4,672,000 | -1,268,000 | -1,046,000 | -4,085,000 | -7,649,000 | -1,578,000 | -1,637,000 | -4,581,000 | -5,217,000 | -1,974,000 | -3,656,000 | -1,669,000 | -5,266,000 | -1,526,000 | -6,299,000 | -2,116,000 | -4,910,000 | -1,745,000 | -4,890,000 | -1,848,000 | -2,331,000 | -928,000 | -4,861,000 | -1,621,000 | -3,492,000 | -1,578,000 | -1,445,000 | |||||||||
net cash from financing activities | -9,725,000 | -848,000 | 9,546,000 | 29,595,000 | -15,872,000 | 4,651,000 | 55,861,000 | 105,215,000 | -27,516,000 | -11,578,000 | -36,637,000 | -6,178,000 | -45,969,000 | -3,249,000 | 15,228,000 | -4,122,000 | -21,807,000 | -20,401,000 | -8,648,000 | -3,002,000 | 301,882,000 | -1,745,000 | 4,597,000 | -2,548,000 | -2,576,000 | 58,541,000 | -7,874,000 | -744,000 | 43,008,000 | -1,640,000 | -1,542,000 | -1,055,000 | 5,158,000 | 91,000 | ||
proceeds from common stock offering | 0 | 0 | 22,500,000 | 150,000,000 | ||||||||||||||||||||||||||||||||
payments of common stock offering costs | 0 | -135,000 | -1,478,000 | -9,044,000 | ||||||||||||||||||||||||||||||||
payments of debt issuance costs | -86,000 | 0 | 0 | -211,000 | -236,000 | |||||||||||||||||||||||||||||||
accrued liabilities | 4,701,000 | -10,993,000 | 4,684,000 | -12,910,000 | 4,590,000 | -6,816,000 | 2,629,000 | -5,187,000 | -1,600,000 | 9,983,000 | -8,061,000 | 1,855,000 | -10,138,000 | 5,898,000 | -4,930,000 | 275,000 | -5,959,000 | 4,634,000 | -1,934,000 | 1,324,000 | -3,430,000 | 16,000 | 708,000 | -454,000 | 1,132,000 | |||||||||||
income taxes payable | 3,085,000 | -752,000 | 1,365,000 | 92,000 | -451,000 | -3,859,000 | 1,521,000 | 3,308,000 | 1,156,000 | -6,157,000 | -1,712,000 | -219,000 | -134,000 | 44,000 | 68,000 | -217,000 | -1,736,000 | |||||||||||||||||||
(gain) loss on disposals of property and equipment | -339,000 | |||||||||||||||||||||||||||||||||||
deposits | -89,000 | 215,000 | 92,000 | -10,000 | 97,000 | 59,000 | 7,000 | -55,000 | 21,000 | -15,000 | 62,000 | |||||||||||||||||||||||||
proceeds from exercise of warrant | 1,000 | |||||||||||||||||||||||||||||||||||
stock based compensation | 3,379,000 | 3,441,000 | 2,822,000 | 2,369,000 | 1,798,000 | 2,156,000 | 1,902,000 | 1,503,000 | 1,136,000 | |||||||||||||||||||||||||||
loss on disposals of property and equipment | ||||||||||||||||||||||||||||||||||||
proceeds from borrowings from senior credit facility | ||||||||||||||||||||||||||||||||||||
proceeds from secondary offering | ||||||||||||||||||||||||||||||||||||
proceeds from exercise of unit warrant | 0 | 1,092,000 | 0 | |||||||||||||||||||||||||||||||||
loss on disposal property and equipment | ||||||||||||||||||||||||||||||||||||
excess tax benefit from stock based compensation | 0 | |||||||||||||||||||||||||||||||||||
client deposits | -103,000 | 114,000 | 13,000 | 63,000 | -70,000 | -13,000 | ||||||||||||||||||||||||||||||
stock compensation | 829,000 | 753,000 | 655,000 | 121,000 | 55,000 | 61,000 | ||||||||||||||||||||||||||||||
accounts receivable | -10,703,000 | 2,218,000 | -1,376,000 | -667,000 | -308,000 | -707,000 | ||||||||||||||||||||||||||||||
payments of secondary offering costs | -97,000 | |||||||||||||||||||||||||||||||||||
loss on disposal of leasehold improvements | 0 | |||||||||||||||||||||||||||||||||||
proceeds from secondary offerimg | 0 | |||||||||||||||||||||||||||||||||||
exercise of warrants costs | ||||||||||||||||||||||||||||||||||||
payments on stock repurchase obligation | -292,000 | -157,000 | -163,000 | |||||||||||||||||||||||||||||||||
fair value adjustment to contingent consideration | ||||||||||||||||||||||||||||||||||||
changes in operating assets and liabilities: | ||||||||||||||||||||||||||||||||||||
net change in cash surrender value of officers’ life insurance | -26,000 | -1,000 | -1,000 | |||||||||||||||||||||||||||||||||
proceeds from initial public offering | 0 | |||||||||||||||||||||||||||||||||||
initial public offering costs | 1,000 | |||||||||||||||||||||||||||||||||||
borrowings | 0 | |||||||||||||||||||||||||||||||||||
payments on long-term debt | -764,000 | -2,763,000 | -264,000 | |||||||||||||||||||||||||||||||||
payments made for repurchase of common stock | ||||||||||||||||||||||||||||||||||||
cash paid for acquisition | ||||||||||||||||||||||||||||||||||||
cash and cash equivalents - beginning of period | 0 | 2,294,000 | ||||||||||||||||||||||||||||||||||
borrowings from line of credit | 518,000 | |||||||||||||||||||||||||||||||||||
net (decrease) in cash and cash equivalents | -1,164,000 | |||||||||||||||||||||||||||||||||||
(gain) on disposal of property and equipment | ||||||||||||||||||||||||||||||||||||
changes in operating assets and liabilities, net of effects of acquisitions: | ||||||||||||||||||||||||||||||||||||
prepaid expenses and other current assets | ||||||||||||||||||||||||||||||||||||
cash paid for acquisition of kaco | ||||||||||||||||||||||||||||||||||||
proceeds from disposition or sale of property and equipment | ||||||||||||||||||||||||||||||||||||
payments for non-controlling interest shares | ||||||||||||||||||||||||||||||||||||
payments for direct costs of conversion of non-controlling interest shares | ||||||||||||||||||||||||||||||||||||
cash and cash equivalents - beginning of year | ||||||||||||||||||||||||||||||||||||
cash and cash equivalents – end of year |
The information provided in this report is taken from www.sec.gov and many other data providers. While we have conducted our best efforts to ensure that the parsed data is accurate, we cannot guarantee its accuracy. Please use caution and understand that any consequences of its use are your own responsibility.
