REVENUE (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Revenue from Contract with Customer [Abstract] |
|
| Schedule of Transactions Within Contract Liabilities |
The following table summarizes transactions within contract liabilities for the three and six months ended June 30, 2026 (in thousands): | | | | | | | Balance, December 31, 2025 | $ | 4,795 | | | Revenue recognized and payments made related to amounts included in the December 31, 2025 balance | (4,604) | | | Payments received for which performance obligations have not been satisfied | 8,296 | | | Effect of foreign currency translation | (11) | | | Balance, March 31, 2026 | $ | 8,476 | | | Revenue recognized and payments made related to amounts included in the March 31, 2026 balance | (8,043) | | | Payments received for which performance obligations have not been satisfied | 8,623 | | | Effect of foreign currency translation | 16 | | | Balance, June 30, 2026 | $ | 9,072 | | | | | | | | | | | |
|
| Schedule of Disaggregation of Revenue |
The table below sets forth the disaggregation of revenue by product category for the periods indicated below (in thousands): | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | | | | | 2026 | | 2025 | | 2026 | | 2025 | | | | | | | | Product Revenue | | | | | | | | | | | | | | | Paint protection film | $ | 74,822 | | | $ | 62,666 | | | $ | 136,486 | | | $ | 119,106 | | | | | | | | | Window film | 32,459 | | | 27,959 | | | 55,716 | | | 46,594 | | | | | | | | | Other | 4,393 | | | 4,170 | | | 8,186 | | | 7,807 | | | | | | | | Total | $ | 111,674 | | | $ | 94,795 | | | $ | 200,388 | | | $ | 173,507 | | | | | | | | | | | | | | | | | | | | | | | Service Revenue | | | | | | | | | | | | | | | Software | $ | 2,258 | | | $ | 2,180 | | | $ | 4,484 | | | $ | 4,299 | | | | | | | | | Cutbank credits | 1,918 | | | 4,523 | | | 4,013 | | | 8,195 | | | | | | | | | Installation labor | 25,328 | | | 22,448 | | | 48,433 | | | 41,098 | | | | | | | | | Other | 1,875 | | | 767 | | | 3,089 | | | 1,419 | | | | | | | | | Total | $ | 31,379 | | | $ | 29,918 | | | $ | 60,019 | | | $ | 55,011 | | | | | | | | | | | | | | | | | | | | | | | Total | $ | 143,053 | | | $ | 124,713 | | | $ | 260,407 | | | $ | 228,518 | | | | | | | |
|
| Schedule of Revenue Estimate by Geographic Areas |
The following table represents our estimate of sales by geographic regions based on our understanding of ultimate product destination based on customer interactions, customer locations and other factors for the periods set forth below (in thousands): | | | | | | | | | | | | | | | | | | | | | | | | | Three Months Ended June 30, | | Six Months Ended June 30, | | 2026 | | 2025 | | 2026 | | 2025 | | United States | $ | 78,586 | | | $ | 70,380 | | | $ | 142,429 | | | $ | 128,453 | | | Canada | 15,795 | | | 14,254 | | | 24,194 | | | 23,680 | | | North America | 94,381 | | | 84,634 | | | 166,623 | | | 152,133 | | | China | 15,924 | | | 7,705 | | | 27,633 | | | 15,811 | | | Asia Other | 6,178 | | | 5,428 | | | 11,871 | | | 9,986 | | | Asia Pacific | 22,102 | | | 13,133 | | | 39,504 | | | 25,797 | | | EU, UK, and Africa | 16,961 | | | 17,360 | | | 34,818 | | | 32,362 | | | India and Middle East | 6,410 | | | 6,746 | | | 13,177 | | | 12,824 | | | Latin America | 3,199 | | | 2,840 | | | 6,285 | | | 5,402 | | | Total | $ | 143,053 | | | $ | 124,713 | | | $ | 260,407 | | | $ | 228,518 | |
|