Segment Reporting - Revenue and EBITDA from Continuing Operations (Details) - USD ($) $ in Thousands |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Sep. 30, 2026 |
Sep. 30, 2025 |
Sep. 30, 2026 |
Sep. 30, 2025 |
|
| Segment Reporting | ||||
| Revenue | $ 158,357 | $ 137,966 | $ 454,646 | $ 390,480 |
| Cost of goods sold | 108,105 | 96,973 | 311,784 | 268,671 |
| Gross profit | 50,252 | 40,993 | 142,862 | 121,809 |
| Selling, general and administrative expenses | 34,597 | 27,975 | 104,349 | 85,264 |
| Income (loss) from operations | 15,655 | 13,018 | 38,513 | 36,545 |
| EBITDA by segment: | ||||
| Income (loss) from operations | 15,655 | 13,018 | 38,513 | 36,545 |
| Depreciation and amortization | 6,746 | 6,115 | 19,492 | 15,877 |
| Other income (expense), net | (1,316) | (529) | (1,722) | (524) |
| EBITDA | $ 21,085 | $ 18,604 | $ 56,283 | $ 51,898 |
| Segment reporting information, additional information | ||||
| Gross profit margin | 31.70% | 29.70% | 31.40% | 31.20% |
| EBITDA margin | 13.30% | 13.50% | 12.40% | 13.30% |
| Operating Segments | ||||
| Segment Reporting | ||||
| Revenue | $ 162,210 | $ 141,987 | $ 467,145 | $ 402,816 |
| Cost of goods sold | 111,958 | 100,994 | 324,283 | 281,007 |
| Gross profit | 50,252 | 40,993 | 142,862 | 121,809 |
| Selling, general and administrative expenses | 16,359 | 13,833 | 48,165 | 37,723 |
| Income (loss) from operations | 33,893 | 27,160 | 94,697 | 84,086 |
| EBITDA by segment: | ||||
| Income (loss) from operations | 33,893 | 27,160 | 94,697 | 84,086 |
| Depreciation and amortization | 6,059 | 5,247 | 17,446 | 13,288 |
| Other income (expense), net | (55) | (239) | (456) | (273) |
| EBITDA | $ 39,897 | $ 32,168 | $ 111,687 | $ 97,101 |
| Segment reporting information, additional information | ||||
| Gross profit margin | 31.00% | 28.90% | 30.60% | 30.20% |
| EBITDA margin | 24.60% | 22.70% | 23.90% | 24.10% |
| Operating Segments | Secure Card Solutions | ||||
| Segment Reporting | ||||
| Revenue | $ 111,900 | $ 99,154 | $ 332,618 | $ 275,469 |
| Cost of goods sold | 83,642 | 76,226 | 245,789 | 207,804 |
| Gross profit | 28,258 | 22,928 | 86,829 | 67,665 |
| Selling, general and administrative expenses | 9,202 | 9,879 | 29,485 | 24,670 |
| Income (loss) from operations | 19,056 | 13,049 | 57,344 | 42,995 |
| EBITDA by segment: | ||||
| Income (loss) from operations | 19,056 | 13,049 | 57,344 | 42,995 |
| Depreciation and amortization | 4,362 | 4,080 | 12,966 | 9,817 |
| Other income (expense), net | 0 | (238) | 3 | (278) |
| EBITDA | $ 23,418 | $ 16,891 | $ 70,313 | $ 52,534 |
| Segment reporting information, additional information | ||||
| Gross profit margin | 25.30% | 23.10% | 26.10% | 24.60% |
| EBITDA margin | 20.90% | 17.00% | 21.10% | 19.10% |
| Operating Segments | Prepaid Solutions | ||||
| Segment Reporting | ||||
| Revenue | $ 26,859 | $ 23,335 | $ 71,553 | $ 69,270 |
| Cost of goods sold | 17,835 | 16,286 | 50,444 | 47,308 |
| Gross profit | 9,024 | 7,049 | 21,109 | 21,962 |
| Selling, general and administrative expenses | 1,415 | 1,166 | 4,425 | 3,909 |
| Income (loss) from operations | 7,609 | 5,883 | 16,684 | 18,053 |
| EBITDA by segment: | ||||
| Income (loss) from operations | 7,609 | 5,883 | 16,684 | 18,053 |
| Depreciation and amortization | 1,261 | 1,134 | 3,776 | 3,376 |
| Other income (expense), net | (55) | (1) | (459) | 5 |
| EBITDA | $ 8,815 | $ 7,016 | $ 20,001 | $ 21,434 |
| Segment reporting information, additional information | ||||
| Gross profit margin | 33.60% | 30.20% | 29.50% | 31.70% |
| EBITDA margin | 32.80% | 30.10% | 28.00% | 30.90% |
| Operating Segments | Integrated Paytech | ||||
| Segment Reporting | ||||
| Revenue | $ 23,451 | $ 19,498 | $ 62,974 | $ 58,077 |
| Cost of goods sold | 10,481 | 8,482 | 28,050 | 25,895 |
| Gross profit | 12,970 | 11,016 | 34,924 | 32,182 |
| Selling, general and administrative expenses | 5,742 | 2,788 | 14,255 | 9,144 |
| Income (loss) from operations | 7,228 | 8,228 | 20,669 | 23,038 |
| EBITDA by segment: | ||||
| Income (loss) from operations | 7,228 | 8,228 | 20,669 | 23,038 |
| Depreciation and amortization | 436 | 33 | 704 | 95 |
| Other income (expense), net | 0 | 0 | 0 | 0 |
| EBITDA | $ 7,664 | $ 8,261 | $ 21,373 | $ 23,133 |
| Segment reporting information, additional information | ||||
| Gross profit margin | 55.30% | 56.50% | 55.50% | 55.40% |
| EBITDA margin | 32.70% | 42.40% | 33.90% | 39.80% |
| Intersegment Eliminations | ||||
| Segment Reporting | ||||
| Revenue | $ (3,853) | $ (4,021) | $ (12,499) | $ (12,336) |
| Cost of goods sold | (3,853) | (4,021) | (12,499) | (12,336) |
| Corporate | ||||
| Segment Reporting | ||||
| Selling, general and administrative expenses | 18,238 | 14,142 | 56,184 | 47,541 |
| Income (loss) from operations | (18,238) | (14,142) | (56,184) | (47,541) |
| EBITDA by segment: | ||||
| Income (loss) from operations | (18,238) | (14,142) | (56,184) | (47,541) |
| Depreciation and amortization | 687 | 868 | 2,046 | 2,589 |
| Other income (expense), net | (1,261) | (290) | (1,266) | (251) |
| EBITDA | $ (18,812) | $ (13,564) | $ (55,404) | $ (45,203) |