2023 Q3 Form 10-Q Financial Statement
#000114036123038366 Filed on August 07, 2023
Income Statement
Concept | 2023 Q3 | 2023 Q2 | 2022 Q2 |
---|---|---|---|
Revenue | $587.6M | $574.2M | $458.4M |
YoY Change | 19.02% | 25.27% | 10.01% |
Cost Of Revenue | $443.2M | $431.9M | $344.8M |
YoY Change | 22.99% | 25.25% | 10.83% |
Gross Profit | $144.4M | $142.3M | $113.5M |
YoY Change | 8.3% | 25.33% | 7.59% |
Gross Profit Margin | 24.57% | 24.78% | 24.77% |
Selling, General & Admin | $92.65M | $90.30M | $76.77M |
YoY Change | 9.38% | 17.63% | 11.62% |
% of Gross Profit | 64.18% | 63.47% | 67.62% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $6.500M | $5.755M | $4.472M |
YoY Change | 28.28% | 28.69% | -26.47% |
% of Gross Profit | 4.5% | 4.05% | 3.94% |
Operating Expenses | $99.50M | $95.94M | $80.34M |
YoY Change | 11.55% | 19.42% | 9.96% |
Operating Profit | $44.86M | $46.33M | $33.18M |
YoY Change | 1.71% | 39.63% | 2.25% |
Interest Expense | $1.220M | $851.0K | $363.0K |
YoY Change | 31.89% | 134.44% | 1.11% |
% of Operating Profit | 2.72% | 1.84% | 1.09% |
Other Income/Expense, Net | $117.0K | $190.0K | -$2.153M |
YoY Change | -103.03% | -108.82% | -1850.41% |
Pretax Income | $44.98M | $46.52M | $31.03M |
YoY Change | 11.78% | 49.93% | -4.74% |
Income Tax | $12.30M | $12.70M | $8.700M |
% Of Pretax Income | 27.35% | 27.3% | 28.04% |
Net Earnings | $32.66M | $33.85M | $22.34M |
YoY Change | 14.74% | 51.52% | -5.01% |
Net Earnings / Revenue | 5.56% | 5.89% | 4.87% |
Basic Earnings Per Share | $1.23 | $1.27 | $0.84 |
Diluted Earnings Per Share | $1.22 | $1.27 | $0.84 |
COMMON SHARES | |||
Basic Shares Outstanding | 26.94M | 26.83M | 26.51M |
Diluted Shares Outstanding | 26.68M | 26.65M | 26.69M |
Balance Sheet
Concept | 2023 Q3 | 2023 Q2 | 2022 Q2 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $82.50M | $101.6M | $83.49M |
YoY Change | -17.11% | 21.66% | -11.03% |
Cash & Equivalents | $82.50M | $101.6M | $83.49M |
Short-Term Investments | |||
Other Short-Term Assets | $60.78M | $47.08M | $15.96M |
YoY Change | 143.39% | 194.99% | -60.22% |
Inventory | $222.1M | $244.3M | $246.9M |
Prepaid Expenses | |||
Receivables | $650.0M | $678.0M | $482.2M |
Other Receivables | $209.6M | $159.7M | $122.8M |
Total Short-Term Assets | $1.269B | $1.276B | $985.3M |
YoY Change | 18.63% | 29.51% | 27.27% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $51.31M | ||
YoY Change | 55.79% | ||
Goodwill | $158.2M | $158.3M | $126.4M |
YoY Change | 16.41% | 25.26% | -0.22% |
Intangibles | $46.94M | $51.25M | |
YoY Change | 54.74% | ||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $72.15M | $70.79M | $45.89M |
YoY Change | 31.11% | 54.28% | 66.48% |
Total Long-Term Assets | $349.6M | $404.7M | $270.8M |
YoY Change | 15.97% | 49.43% | -10.69% |
TOTAL ASSETS | |||
Total Short-Term Assets | $1.269B | $1.276B | $985.3M |
Total Long-Term Assets | $349.6M | $404.7M | $270.8M |
Total Assets | $1.619B | $1.681B | $1.256B |
YoY Change | 18.04% | 33.81% | 16.59% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $295.9M | $351.4M | $165.8M |
YoY Change | 53.68% | 111.94% | -42.68% |
Accrued Expenses | $38.60M | $41.14M | $32.49M |
YoY Change | 12.52% | 26.64% | -33.64% |
Deferred Revenue | $118.9M | $119.0M | |
YoY Change | 10.1% | ||
Short-Term Debt | $2.000M | $58.12M | $47.53M |
YoY Change | -97.84% | 22.27% | 692.55% |
Long-Term Debt Due | $41.80M | $17.74M | $19.87M |
YoY Change | 304.02% | -10.72% | 56.48% |
Total Short-Term Liabilities | $700.4M | $800.8M | $534.0M |
YoY Change | 15.32% | 49.97% | 19.62% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $9.700M | $5.005M | $10.45M |
YoY Change | -21.73% | -52.09% | -23.2% |
Other Long-Term Liabilities | $62.28M | $61.01M | $35.44M |
YoY Change | 35.43% | 72.13% | 4.9% |
Total Long-Term Liabilities | $62.28M | $61.01M | $35.44M |
YoY Change | 35.43% | 72.13% | -25.21% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $700.4M | $800.8M | $534.0M |
Total Long-Term Liabilities | $62.28M | $61.01M | $35.44M |
Total Liabilities | $773.1M | $867.5M | $579.9M |
YoY Change | 16.13% | 49.61% | 17.43% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $693.7M | $661.0M | $530.2M |
YoY Change | 24.18% | 24.68% | |
Common Stock | $274.0K | $274.0K | $271.0K |
YoY Change | 0.74% | 1.11% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $22.38M | $21.45M | $13.96M |
YoY Change | 60.3% | 53.68% | |
Treasury Stock Shares | $258.0K | ||
Shareholders Equity | $845.7M | $813.3M | $676.3M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $1.619B | $1.681B | $1.256B |
YoY Change | 18.04% | 33.81% | 16.59% |
Cashflow Statement
Concept | 2023 Q3 | 2023 Q2 | 2022 Q2 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $32.66M | $33.85M | $22.34M |
YoY Change | 14.74% | 51.52% | -5.01% |
Depreciation, Depletion And Amortization | $6.500M | $5.755M | $4.472M |
YoY Change | 28.28% | 28.69% | -26.47% |
Cash From Operating Activities | $31.20M | -$20.90M | -$102.9M |
YoY Change | -286.51% | -79.7% | 58.04% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $1.900M | $3.698M | -$1.777M |
YoY Change | -400.16% | -308.1% | -74.59% |
Acquisitions | $59.60M | $0.00 | |
YoY Change | |||
Other Investing Activities | $11.20M | -$59.40M | $85.00K |
YoY Change | -212.35% | -69981.18% | -89.92% |
Cash From Investing Activities | $9.300M | -$63.10M | -$1.692M |
YoY Change | -187.72% | 3629.14% | -72.49% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $7.224M | ||
YoY Change | 89.76% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -60.00M | 82.61M | 31.11M |
YoY Change | -249.14% | 165.52% | -12.35% |
NET CHANGE | |||
Cash From Operating Activities | 31.20M | -20.90M | -102.9M |
Cash From Investing Activities | 9.300M | -63.10M | -1.692M |
Cash From Financing Activities | -60.00M | 82.61M | 31.11M |
Net Change In Cash | -19.50M | -1.519M | -71.89M |
YoY Change | -251.15% | -97.89% | 101.25% |
FREE CASH FLOW | |||
Cash From Operating Activities | $31.20M | -$20.90M | -$102.9M |
Capital Expenditures | $1.900M | $3.698M | -$1.777M |
Free Cash Flow | $29.30M | -$24.60M | -$101.2M |
YoY Change | -282.04% | -75.69% | 74.0% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2023Q2 | us-gaap |
Interest Expense
InterestExpense
|
851000 | |
CY2022Q2 | us-gaap |
Interest Expense
InterestExpense
|
363000 | |
CY2023Q2 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2023Q2 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--03-31 | |
CY2023Q2 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2024 | |
CY2023Q2 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
Q1 | |
CY2023Q2 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0001022408 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
||
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P9M | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2023Q2 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2023Q1 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2023Q2 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
4 | |
CY2023Q2 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
58500000 | |
CY2023Q1 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
70400000 | |
CY2023Q2 | plus |
Contract With Customer Liability Current Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityCurrentExcludingDeferredRevenueOnOperatingLeases
|
118646000 | |
CY2023Q1 | plus |
Contract With Customer Liability Current Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityCurrentExcludingDeferredRevenueOnOperatingLeases
|
113713000 | |
CY2023Q2 | plus |
Contract With Customer Liability Noncurrent Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityNoncurrentExcludingDeferredRevenueOnOperatingLeases
|
48390000 | |
CY2023Q1 | plus |
Contract With Customer Liability Noncurrent Excluding Deferred Revenue On Operating Leases
ContractWithCustomerLiabilityNoncurrentExcludingDeferredRevenueOnOperatingLeases
|
47217000 | |
CY2023Q2 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
30900000 | |
CY2022Q2 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
24900000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
55368000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
34042000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
16872000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
5298000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
2357000 | |
CY2023Q2 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
113937000 | |
CY2023Q2 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
7623000 | |
CY2022Q2 | us-gaap |
Sales Type Lease Revenue
SalesTypeLeaseRevenue
|
4983000 | |
CY2023Q2 | us-gaap |
Cost Of Goods Sold Sales Type Lease
CostOfGoodsSoldSalesTypeLease
|
7391000 | |
CY2022Q2 | us-gaap |
Cost Of Goods Sold Sales Type Lease
CostOfGoodsSoldSalesTypeLease
|
4067000 | |
CY2023Q2 | us-gaap |
Sales Type Lease Selling Profit Loss
SalesTypeLeaseSellingProfitLoss
|
232000 | |
CY2022Q2 | us-gaap |
Sales Type Lease Selling Profit Loss
SalesTypeLeaseSellingProfitLoss
|
916000 | |
CY2023Q2 | us-gaap |
Sales Type Lease Interest Income
SalesTypeLeaseInterestIncome
|
1362000 | |
CY2022Q2 | us-gaap |
Sales Type Lease Interest Income
SalesTypeLeaseInterestIncome
|
861000 | |
CY2023Q2 | us-gaap |
Operating Lease Lease Income Lease Payments
OperatingLeaseLeaseIncomeLeasePayments
|
2808000 | |
CY2022Q2 | us-gaap |
Operating Lease Lease Income Lease Payments
OperatingLeaseLeaseIncomeLeasePayments
|
4582000 | |
CY2023Q2 | us-gaap |
Direct Financing Lease Unguaranteed Residual Asset
DirectFinancingLeaseUnguaranteedResidualAsset
|
4488000 | |
CY2023Q1 | us-gaap |
Direct Financing Lease Unguaranteed Residual Asset
DirectFinancingLeaseUnguaranteedResidualAsset
|
4222000 | |
CY2023Q2 | us-gaap |
Property Subject To Or Available For Operating Lease Gross
PropertySubjectToOrAvailableForOperatingLeaseGross
|
16091000 | |
CY2023Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Gross
PropertySubjectToOrAvailableForOperatingLeaseGross
|
15301000 | |
CY2023Q2 | us-gaap |
Property Subject To Or Available For Operating Lease Accumulated Depreciation
PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation
|
10825000 | |
CY2023Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Accumulated Depreciation
PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation
|
10599000 | |
CY2023Q2 | us-gaap |
Property Subject To Or Available For Operating Lease Net
PropertySubjectToOrAvailableForOperatingLeaseNet
|
5266000 | |
CY2023Q1 | us-gaap |
Property Subject To Or Available For Operating Lease Net
PropertySubjectToOrAvailableForOperatingLeaseNet
|
4702000 | |
CY2023Q2 | plus |
Unguaranteed Estimated Residual Value Of Operating Lease Equipment
UnguaranteedEstimatedResidualValueOfOperatingLeaseEquipment
|
1873000 | |
CY2023Q1 | plus |
Unguaranteed Estimated Residual Value Of Operating Lease Equipment
UnguaranteedEstimatedResidualValueOfOperatingLeaseEquipment
|
1717000 | |
CY2023Q2 | us-gaap |
Gain Loss On Sale Of Loans And Leases
GainLossOnSaleOfLoansAndLeases
|
1300000 | |
CY2022Q2 | us-gaap |
Gain Loss On Sale Of Loans And Leases
GainLossOnSaleOfLoansAndLeases
|
1800000 | |
CY2023Q2 | us-gaap |
Proceeds From Sale Of Finance Receivables
ProceedsFromSaleOfFinanceReceivables
|
61400000 | |
CY2022Q2 | us-gaap |
Proceeds From Sale Of Finance Receivables
ProceedsFromSaleOfFinanceReceivables
|
52500000 | |
CY2023Q2 | us-gaap |
Deferred Revenue
DeferredRevenue
|
400000 | |
CY2023Q1 | us-gaap |
Deferred Revenue
DeferredRevenue
|
500000 | |
CY2023Q2 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
1500000 | |
CY2022Q2 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
1300000 | |
CY2023Q1 | us-gaap |
Goodwill Gross
GoodwillGross
|
144778000 | |
CY2023Q1 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2023Q1 | us-gaap |
Goodwill
Goodwill
|
136105000 | |
CY2023Q2 | us-gaap |
Goodwill Other Increase Decrease
GoodwillOtherIncreaseDecrease
|
0 | |
CY2023Q2 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
22128000 | |
CY2023Q2 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2023Q2 | us-gaap |
Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
|
47000 | |
CY2023Q2 | us-gaap |
Goodwill Gross
GoodwillGross
|
166953000 | |
CY2023Q2 | us-gaap |
Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
|
8673000 | |
CY2023Q2 | us-gaap |
Goodwill
Goodwill
|
158280000 | |
CY2023Q2 | us-gaap |
Goodwill
Goodwill
|
158300000 | |
CY2023Q1 | us-gaap |
Goodwill
Goodwill
|
136100000 | |
CY2023Q2 | us-gaap |
Goodwill Period Increase Decrease
GoodwillPeriodIncreaseDecrease
|
22200000 | |
CY2023Q2 | us-gaap |
Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
|
22100000 | |
CY2023Q2 | plus |
Percentage Change In The Fair Value
PercentageChangeInTheFairValue
|
0.10 | |
CY2023Q2 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
125979000 | |
CY2023Q2 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
74726000 | |
CY2023Q2 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
51253000 | |
CY2023Q1 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
95965000 | |
CY2023Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
70920000 | |
CY2023Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
25045000 | |
CY2023Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
4354000 | |
CY2023Q2 | us-gaap |
Provision For Loan Losses Expensed
ProvisionForLoanLossesExpensed
|
478000 | |
CY2023Q2 | us-gaap |
Financing Receivable Allowance For Credit Loss Writeoff After Recovery
FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
|
12000 | |
CY2023Q2 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
4820000 | |
CY2022Q1 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
3800000 | |
CY2022Q2 | us-gaap |
Provision For Loan Losses Expensed
ProvisionForLoanLossesExpensed
|
698000 | |
CY2022Q2 | us-gaap |
Financing Receivable Allowance For Credit Loss Writeoff After Recovery
FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
|
65000 | |
CY2022Q2 | us-gaap |
Financing Receivable Allowance For Credit Losses
FinancingReceivableAllowanceForCreditLosses
|
4433000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated In Current Fiscal Year
FinancingReceivableOriginatedInCurrentFiscalYear
|
86303000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated In Fiscal Year Before Latest Fiscal Year
FinancingReceivableOriginatedInFiscalYearBeforeLatestFiscalYear
|
79078000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated Two Years Before Latest Fiscal Year
FinancingReceivableOriginatedTwoYearsBeforeLatestFiscalYear
|
21546000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated Three Years Before Latest Fiscal Year
FinancingReceivableOriginatedThreeYearsBeforeLatestFiscalYear
|
5871000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated Four Years Before Latest Fiscal Year
FinancingReceivableOriginatedFourYearsBeforeLatestFiscalYear
|
695000 | |
CY2023Q2 | us-gaap |
Financing Receivable Originated Five Or More Years Before Latest Fiscal Year
FinancingReceivableOriginatedFiveOrMoreYearsBeforeLatestFiscalYear
|
160000 | |
CY2023Q2 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
193653000 | |
CY2023Q2 | plus |
Financing Receivable Transfers
FinancingReceivableTransfers
|
22401000 | |
CY2023Q2 | plus |
Finance Receivable Net Credit Exposure
FinanceReceivableNetCreditExposure
|
171252000 | |
CY2023Q2 | plus |
Net Investment In Direct Financing And Sale Type Leases Unguaranteed Residual Values Of Leased Property
NetInvestmentInDirectFinancingAndSaleTypeLeasesUnguaranteedResidualValuesOfLeasedProperty
|
4488000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated In Current Fiscal Year
FinancingReceivableOriginatedInCurrentFiscalYear
|
130373000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated In Fiscal Year Before Latest Fiscal Year
FinancingReceivableOriginatedInFiscalYearBeforeLatestFiscalYear
|
21325000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated Two Years Before Latest Fiscal Year
FinancingReceivableOriginatedTwoYearsBeforeLatestFiscalYear
|
14166000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated Three Years Before Latest Fiscal Year
FinancingReceivableOriginatedThreeYearsBeforeLatestFiscalYear
|
1085000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated Four Years Before Latest Fiscal Year
FinancingReceivableOriginatedFourYearsBeforeLatestFiscalYear
|
145000 | |
CY2023Q1 | us-gaap |
Financing Receivable Originated Five Or More Years Before Latest Fiscal Year
FinancingReceivableOriginatedFiveOrMoreYearsBeforeLatestFiscalYear
|
10000 | |
CY2022Q2 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
172000 | |
CY2023Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
26648000 | |
CY2022Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
26685000 | |
CY2023Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.27 | |
CY2022Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.84 | |
CY2023Q1 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
167104000 | |
CY2023Q1 | plus |
Financing Receivable Transfers
FinancingReceivableTransfers
|
32578000 | |
CY2023Q1 | plus |
Finance Receivable Net Credit Exposure
FinanceReceivableNetCreditExposure
|
134526000 | |
CY2023Q1 | plus |
Net Investment In Direct Financing And Sale Type Leases Unguaranteed Residual Values Of Leased Property
NetInvestmentInDirectFinancingAndSaleTypeLeasesUnguaranteedResidualValuesOfLeasedProperty
|
4222000 | |
CY2023Q2 | us-gaap |
Billed Contract Receivables
BilledContractReceivables
|
14994000 | |
CY2023Q2 | us-gaap |
Unbilled Contracts Receivable
UnbilledContractsReceivable
|
178659000 | |
CY2023Q2 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
193653000 | |
CY2023Q1 | us-gaap |
Billed Contract Receivables
BilledContractReceivables
|
17866000 | |
CY2023Q1 | us-gaap |
Unbilled Contracts Receivable
UnbilledContractsReceivable
|
149238000 | |
CY2023Q1 | us-gaap |
Notes Receivable Gross
NotesReceivableGross
|
167104000 | |
CY2023Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
33847000 | |
CY2022Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
22339000 | |
CY2023Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
26552000 | |
CY2022Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
26513000 | |
CY2023Q2 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
96000 | |
CY2023Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.27 | |
CY2022Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.84 | |
CY2023Q1 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
1000000 | |
CY2022Q1 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
1000000 | |
CY2023Q2 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
93541 | |
CY2023Q2 | us-gaap |
Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
|
4400000 | |
CY2023Q2 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
53945 | |
CY2023Q2 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
3000000 | |
CY2022Q2 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
70473 | |
CY2022Q2 | us-gaap |
Stock Repurchased During Period Value
StockRepurchasedDuringPeriodValue
|
3900000 | |
CY2022Q2 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
58080 | |
CY2022Q2 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
3300000 | |
CY2023Q2 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2205000 | |
CY2022Q2 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1773000 | |
CY2023Q2 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
600000 | |
CY2022Q2 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
496000 | |
CY2023Q2 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
1400000 | |
CY2022Q2 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
1100000 | |
CY2022Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-2153000 | |
CY2023Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
12700000 | |
CY2022Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8700000 | |
CY2023Q2 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.272 | |
CY2022Q2 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.28 | |
CY2022Q2 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | |
CY2023Q2 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | |
CY2023Q2 | us-gaap |
Money Market Funds At Carrying Value
MoneyMarketFundsAtCarryingValue
|
22225000 | |
CY2023Q1 | us-gaap |
Money Market Funds At Carrying Value
MoneyMarketFundsAtCarryingValue
|
8880000 | |
CY2023 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
2 | |
CY2023Q2 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
4 | |
CY2023Q2 | us-gaap |
Revenues
Revenues
|
574175000 | |
CY2022Q2 | us-gaap |
Revenues
Revenues
|
458359000 | |
CY2023Q2 | us-gaap |
Gross Profit
GrossProfit
|
142273000 | |
CY2022Q2 | us-gaap |
Gross Profit
GrossProfit
|
113523000 | |
CY2023Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
46332000 | |
CY2022Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
33183000 | |
CY2023Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
190000 | |
CY2023Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
46522000 | |
CY2022Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
31030000 | |
CY2023Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
4792000 | |
CY2022Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
3210000 | |
CY2023Q2 | us-gaap |
Interest Expense
InterestExpense
|
851000 | |
CY2022Q2 | us-gaap |
Interest Expense
InterestExpense
|
363000 | |
CY2023Q2 | plus |
Purchases Of Property Equipment And Operating Lease Equipment And Assets To Be Leased Or Financed
PurchasesOfPropertyEquipmentAndOperatingLeaseEquipmentAndAssetsToBeLeasedOrFinanced
|
3698000 | |
CY2022Q2 | plus |
Purchases Of Property Equipment And Operating Lease Equipment And Assets To Be Leased Or Financed
PurchasesOfPropertyEquipmentAndOperatingLeaseEquipmentAndAssetsToBeLeasedOrFinanced
|
1777000 | |
CY2023Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
559352000 | |
CY2023Q2 | plus |
Financing And Other
FinancingAndOther
|
14823000 | |
CY2023Q2 | us-gaap |
Revenues
Revenues
|
574175000 | |
CY2023Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
559352000 | |
CY2022Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
444747000 | |
CY2022Q2 | plus |
Financing And Other
FinancingAndOther
|
13612000 | |
CY2022Q2 | us-gaap |
Revenues
Revenues
|
458359000 | |
CY2022Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
444747000 | |
CY2023Q2 | ecd |
Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
|
false | |
CY2023Q2 | ecd |
Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
|
false | |
CY2023Q2 | ecd |
Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
|
false | |
CY2023Q2 | ecd |
Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
|
false |