2024 Q3 Form 10-Q Financial Statement

#000109269924000060 Filed on July 25, 2024

View on sec.gov

Income Statement

Concept 2024 Q3 2024 Q2
Revenue $163.7M $153.6M
YoY Change 20.66% 17.77%
Cost Of Revenue $51.62M $52.02M
YoY Change 13.41% 16.78%
Gross Profit $112.1M $101.6M
YoY Change 24.32% 18.29%
Gross Profit Margin 68.46% 66.13%
Selling, General & Admin $64.73M $59.21M
YoY Change 24.01% 13.77%
% of Gross Profit 57.76% 58.29%
Research & Development $15.29M $14.37M
YoY Change 12.79% 7.87%
% of Gross Profit 13.65% 14.14%
Depreciation & Amortization $11.10M $9.523M
YoY Change 30.62% 16.96%
% of Gross Profit 9.91% 9.38%
Operating Expenses $86.49M $78.41M
YoY Change 24.37% 13.91%
Operating Profit $25.57M $23.17M
YoY Change 24.14% 36.0%
Interest Expense $3.781M $4.049M
YoY Change 40.04% 112.99%
% of Operating Profit 14.79% 17.48%
Other Income/Expense, Net $3.778M $4.056M
YoY Change 121.97% -21447.37%
Pretax Income $29.35M $27.22M
YoY Change 31.6% 43.91%
Income Tax $5.889M $9.189M
% Of Pretax Income 20.07% 33.76%
Net Earnings $23.46M $18.03M
YoY Change 39.29% 22.82%
Net Earnings / Revenue 14.33% 11.74%
Basic Earnings Per Share $0.63 $0.49
Diluted Earnings Per Share $0.62 $0.48
COMMON SHARES
Basic Shares Outstanding 37.10M shares 37.03M shares
Diluted Shares Outstanding 38.00M shares 37.68M shares

Balance Sheet

Concept 2024 Q3 2024 Q2
SHORT-TERM ASSETS
Cash & Short-Term Investments $205.8M $271.8M
YoY Change -14.01% 0.6%
Cash & Equivalents $198.8M $240.2M
Short-Term Investments $6.931M $31.55M
Other Short-Term Assets $18.64M $15.44M
YoY Change 18.4% -77.89%
Inventory
Prepaid Expenses
Receivables $55.57M $55.40M
Other Receivables $0.00 $0.00
Total Short-Term Assets $344.6M $406.9M
YoY Change -4.2% 5.7%
LONG-TERM ASSETS
Property, Plant & Equipment $36.15M $35.08M
YoY Change -0.17% -18.76%
Goodwill $423.5M $268.9M
YoY Change 68.03% 32.59%
Intangibles
YoY Change
Long-Term Investments
YoY Change
Other Assets $1.240M $1.076M
YoY Change 5.35% -96.01%
Total Long-Term Assets $658.7M $447.6M
YoY Change 54.01% 27.68%
TOTAL ASSETS
Total Short-Term Assets $344.6M $406.9M
Total Long-Term Assets $658.7M $447.6M
Total Assets $1.003B $854.5M
YoY Change 27.42% 16.18%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $8.107M $5.877M
YoY Change 30.86% -4.64%
Accrued Expenses $8.968M $9.446M
YoY Change 0.76% -76.04%
Deferred Revenue $78.88M $76.39M
YoY Change 9.78% 15.08%
Short-Term Debt $0.00 $0.00
YoY Change
Long-Term Debt Due
YoY Change
Total Short-Term Liabilities $146.3M $128.5M
YoY Change 10.13% 14.81%
LONG-TERM LIABILITIES
Long-Term Debt $0.00 $0.00
YoY Change
Other Long-Term Liabilities $640.0K $680.0K
YoY Change -96.32% -95.95%
Total Long-Term Liabilities $640.0K $680.0K
YoY Change -96.32% -95.95%
TOTAL LIABILITIES
Total Short-Term Liabilities $146.3M $128.5M
Total Long-Term Liabilities $640.0K $680.0K
Total Liabilities $173.9M $151.1M
YoY Change 8.33% 12.29%
SHAREHOLDERS EQUITY
Retained Earnings $318.5M $295.1M
YoY Change 32.71% 32.21%
Common Stock $611.8M $574.9M
YoY Change 17.57% 13.05%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $829.4M $703.4M
YoY Change
Total Liabilities & Shareholders Equity $1.003B $854.5M
YoY Change 27.42% 16.18%

Cashflow Statement

Concept 2024 Q3 2024 Q2
OPERATING ACTIVITIES
Net Income $23.46M $18.03M
YoY Change 39.29% 22.82%
Depreciation, Depletion And Amortization $11.10M $9.523M
YoY Change 30.62% 16.96%
Cash From Operating Activities $53.33M $29.44M
YoY Change 21.76% -13.51%
INVESTING ACTIVITIES
Capital Expenditures $5.240M $5.059M
YoY Change -8.07% 12.22%
Acquisitions
YoY Change
Other Investing Activities -$93.06M -$3.925M
YoY Change 34.09% -57.57%
Cash From Investing Activities -$98.30M -$8.984M
YoY Change 30.89% -34.7%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities 2.253M -15.06M
YoY Change 125.3% -330.64%
NET CHANGE
Cash From Operating Activities 53.33M 29.44M
Cash From Investing Activities -98.30M -8.984M
Cash From Financing Activities 2.253M -15.06M
Net Change In Cash -42.72M 5.397M
YoY Change 40.97% -79.87%
FREE CASH FLOW
Cash From Operating Activities $53.33M $29.44M
Capital Expenditures $5.240M $5.059M
Free Cash Flow $48.09M $24.38M
YoY Change 26.22% -17.43%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
dei Entity Central Index Key
EntityCentralIndexKey
0001092699
dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2024
dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
Q2
dei Amendment Flag
AmendmentFlag
false
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3320000 usd
CY2024Q2 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
55397000 usd
CY2023Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
46840000 usd
CY2024Q2 us-gaap Deferred Costs Current
DeferredCostsCurrent
64318000 usd
CY2023Q4 us-gaap Deferred Costs Current
DeferredCostsCurrent
62403000 usd
CY2024Q2 us-gaap Other Assets Current
OtherAssetsCurrent
15437000 usd
CY2023Q4 us-gaap Other Assets Current
OtherAssetsCurrent
16758000 usd
CY2024Q2 us-gaap Assets Current
AssetsCurrent
406938000 usd
CY2023Q4 us-gaap Assets Current
AssetsCurrent
401441000 usd
CY2024Q2 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
35083000 usd
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
36043000 usd
CY2024Q2 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
7076000 usd
CY2023Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
7862000 usd
CY2024Q2 us-gaap Goodwill
Goodwill
268872000 usd
CY2023Q4 us-gaap Goodwill
Goodwill
249176000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
107519000 usd
CY2023Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
107344000 usd
CY2024Q2 us-gaap Deferred Costs
DeferredCosts
20610000 usd
CY2023Q4 us-gaap Deferred Costs
DeferredCosts
20347000 usd
CY2024Q2 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
7347000 usd
CY2023Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
505000 usd
CY2024Q2 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
1076000 usd
CY2023Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
1126000 usd
CY2024Q2 us-gaap Assets
Assets
854521000 usd
CY2023Q4 us-gaap Assets
Assets
823844000 usd
CY2024Q2 us-gaap Accounts Payable Current
AccountsPayableCurrent
5877000 usd
CY2023Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
7420000 usd
CY2024Q2 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
32236000 usd
CY2023Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
41588000 usd
CY2024Q2 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
9446000 usd
CY2023Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
8014000 usd
CY2024Q2 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
76393000 usd
CY2023Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
69187000 usd
CY2024Q2 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
4594000 usd
CY2023Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
4460000 usd
CY2024Q2 us-gaap Liabilities Current
LiabilitiesCurrent
128546000 usd
CY2023Q4 us-gaap Liabilities Current
LiabilitiesCurrent
130669000 usd
CY2024Q2 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
7111000 usd
CY2023Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
6930000 usd
CY2024Q2 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
7751000 usd
CY2023Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
9569000 usd
CY2024Q2 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
7012000 usd
CY2023Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
8972000 usd
CY2024Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
153596000 usd
CY2023Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
130416000 usd
CY2024Q2 us-gaap Cost Of Revenue
CostOfRevenue
52018000 usd
CY2023Q2 us-gaap Cost Of Revenue
CostOfRevenue
44544000 usd
CY2024Q2 us-gaap Gross Profit
GrossProfit
101578000 usd
CY2023Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
30349000 usd
CY2024Q2 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
14366000 usd
CY2023Q2 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
13318000 usd
CY2024Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
23516000 usd
CY2024Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
4840000 usd
CY2023Q2 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
3479000 usd
CY2024Q2 us-gaap Operating Expenses
OperatingExpenses
78413000 usd
CY2023Q2 us-gaap Operating Expenses
OperatingExpenses
68839000 usd
CY2024Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
23165000 usd
CY2023Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
17033000 usd
CY2024Q2 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
4056000 usd
CY2023Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
4233000 usd
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
18032000 usd
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
14682000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
1615000 usd
CY2024Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
164000 usd
CY2023Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
136000 usd
CY2023Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
408000 usd
CY2024Q2 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax
238000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax
127000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
381000 usd
CY2024Q2 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-1125000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
1642000 usd
CY2023Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
16324000 usd
CY2024Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.49
CY2023Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.40
CY2024Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.48
CY2023Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.39
CY2024Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
37078000 shares
CY2024Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37683000 shares
CY2023Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37426000 shares
us-gaap Net Income Loss
NetIncomeLoss
29971000 usd
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
1520000 usd
us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
806000 usd
us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
757000 usd
CY2023Q2 us-gaap Stockholders Equity
StockholdersEquity
600981000 usd
CY2023Q4 us-gaap Stockholders Equity
StockholdersEquity
667475000 usd
us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
30078000 usd
CY2024Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
11494000 usd
CY2024Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
240232000 usd
CY2023Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
219081000 usd
CY2024Q2 us-gaap Short Term Investments
ShortTermInvestments
31554000 usd
CY2023Q4 us-gaap Short Term Investments
ShortTermInvestments
56359000 usd
CY2024Q2 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
59355000 usd
CY2023Q4 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
50160000 usd
CY2024Q2 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3958000 usd
CY2024Q2 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0 shares
CY2024Q2 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0 shares
CY2023Q2 us-gaap Gross Profit
GrossProfit
85872000 usd
CY2024Q2 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
35691000 usd
CY2023Q2 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
21693000 usd
CY2024Q2 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
16907000 usd
CY2023Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
47766000 usd
CY2023Q4 spsc Finite Lived Intangible Assets Accumulated Foreign Currency Translation Gain Loss
FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationGainLoss
1039000 usd
CY2023Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
107344000 usd
CY2023Q4 us-gaap Finite Lived Intangible Assets Remaining Amortization Period1
FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
P6Y1M6D
CY2023Q2 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
1882000 usd
CY2024Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
27221000 usd
CY2023Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
18915000 usd
CY2024Q2 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
9189000 usd
us-gaap Operating Lease Cost
OperatingLeaseCost
1578000 usd
us-gaap Variable Lease Cost
VariableLeaseCost
1919000 usd
us-gaap Variable Lease Cost
VariableLeaseCost
1878000 usd
CY2023Q2 us-gaap Lease Cost
LeaseCost
1729000 usd
us-gaap Lease Cost
LeaseCost
3531000 usd
us-gaap Lease Cost
LeaseCost
3456000 usd
us-gaap Operating Lease Payments
OperatingLeasePayments
2423000 usd
us-gaap Operating Lease Payments
OperatingLeasePayments
1329000 usd
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
533000 usd
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
268000 usd
CY2024Q2 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P2Y9M18D
CY2023Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P3Y1M6D
CY2024Q2 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.041
CY2023Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.040
CY2024Q2 us-gaap Purchase Obligation Due In Next Twelve Months
PurchaseObligationDueInNextTwelveMonths
14187000 usd
CY2024Q2 us-gaap Purchase Obligation Due In Second Year
PurchaseObligationDueInSecondYear
5244000 usd
CY2023Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
229000 usd
CY2024Q2 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
usd
CY2023Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
usd
CY2024Q2 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.001
CY2023Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.001
CY2024Q2 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
5000000 shares
CY2023Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
5000000 shares
CY2024Q2 us-gaap Preferred Stock Value
PreferredStockValue
0 usd
CY2023Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 usd
CY2023Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2024Q2 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2023Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
110000000 shares
CY2024Q2 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
110000000 shares
CY2024Q2 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
39419726 shares
CY2023Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
38971146 shares
CY2024Q2 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
37086627 shares
CY2023Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
36820048 shares
CY2024Q2 us-gaap Common Stock Value
CommonStockValue
39000 usd
CY2023Q4 us-gaap Common Stock Value
CommonStockValue
39000 usd
CY2024Q2 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
2333099 shares
CY2023Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
2151098 shares
CY2024Q2 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
162187000 usd
CY2023Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
128892000 usd
CY2024Q2 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
574842000 usd
CY2023Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
537061000 usd
CY2024Q2 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
295080000 usd
CY2023Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
259045000 usd
CY2024Q2 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-4353000 usd
CY2023Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
222000 usd
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
703421000 usd
CY2023Q4 us-gaap Stockholders Equity
StockholdersEquity
667475000 usd
CY2024Q2 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
854521000 usd
CY2023Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
823844000 usd
CY2024Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
153596000 usd
CY2023Q2 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
130416000 usd
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
303172000 usd
us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
256284000 usd
spsc Recurring Revenues Timing Of Billings Latest Period
RecurringRevenuesTimingOfBillingsLatestPeriod
P30D
spsc Contract Term Maximum
ContractTermMaximum
P1Y
spsc Set Up Fees Recognized Period
SetUpFeesRecognizedPeriod
P2Y
spsc Maximum Recognition Period For Miscellaneous One Time Fee
MaximumRecognitionPeriodForMiscellaneousOneTimeFee
P1Y
CY2024Q2 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
680000 usd
CY2024Q2 us-gaap Liabilities
Liabilities
151100000 usd
CY2024Q1 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
84248000 usd
CY2023Q1 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
71809000 usd
CY2023Q4 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
82750000 usd
CY2022Q4 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
70179000 usd
CY2024Q2 spsc Deferred Costs Incurred
DeferredCostsIncurred
23022000 usd
CY2023Q2 spsc Deferred Costs Incurred
DeferredCostsIncurred
19304000 usd
spsc Deferred Costs Incurred
DeferredCostsIncurred
44952000 usd
spsc Deferred Costs Incurred
DeferredCostsIncurred
37538000 usd
CY2024Q2 spsc Deferred Costs Amortized
DeferredCostsAmortized
22342000 usd
CY2023Q2 spsc Deferred Costs Amortized
DeferredCostsAmortized
15858000 usd
spsc Deferred Costs Amortized
DeferredCostsAmortized
42774000 usd
spsc Deferred Costs Amortized
DeferredCostsAmortized
32462000 usd
CY2023Q2 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
75255000 usd
CY2024Q2 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
84928000 usd
CY2023Q2 us-gaap Deferred Costs Current And Noncurrent
DeferredCostsCurrentAndNoncurrent
75255000 usd
CY2024Q2 us-gaap Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
218894000 usd
CY2024Q2 us-gaap Debt Securities Available For Sale Accumulated Gross Unrealized Gain Loss Before Tax
DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax
219000 usd
CY2024Q2 us-gaap Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
219113000 usd
CY2023Q4 us-gaap Available For Sale Debt Securities Amortized Cost Basis
AvailableForSaleDebtSecuritiesAmortizedCostBasis
216898000 usd
CY2023Q4 us-gaap Debt Securities Available For Sale Accumulated Gross Unrealized Gain Loss Before Tax
DebtSecuritiesAvailableForSaleAccumulatedGrossUnrealizedGainLossBeforeTax
694000 usd
CY2023Q4 us-gaap Available For Sale Securities Debt Securities
AvailableForSaleSecuritiesDebtSecurities
217592000 usd
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3320000 usd
CY2022Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3066000 usd
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
3646000 usd
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
2491000 usd
us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
3008000 usd
CY2023Q4 us-gaap Liabilities
Liabilities
156369000 usd
CY2023Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0 shares
CY2023Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36593000 shares
CY2023Q1 us-gaap Stockholders Equity
StockholdersEquity
565889000 usd
CY2023Q2 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
12237000 usd
CY2023Q2 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
2636000 usd
CY2023Q2 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
3895000 usd
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
14682000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
1615000 usd
CY2023Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
408000 usd
CY2023Q2 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
381000 usd
CY2023Q2 us-gaap Stockholders Equity
StockholdersEquity
600981000 usd
CY2024Q1 us-gaap Stockholders Equity
StockholdersEquity
682965000 usd
CY2024Q2 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
10793000 usd
CY2024Q2 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
1054000 usd
CY2024Q2 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
4828000 usd
us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
2457000 usd
CY2024Q2 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3958000 usd
CY2023Q2 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3100000 usd
CY2024Q2 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
126182000 usd
CY2023Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
121151000 usd
CY2024Q2 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
91099000 usd
CY2023Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
85108000 usd
CY2024Q2 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
35083000 usd
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
36043000 usd
CY2023Q4 us-gaap Goodwill
Goodwill
249176000 usd
us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
20564000 usd
us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
-2685000 usd
us-gaap Goodwill Purchase Accounting Adjustments
GoodwillPurchaseAccountingAdjustments
1817000 usd
CY2024Q2 us-gaap Goodwill
Goodwill
268872000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
165941000 usd
CY2024Q2 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
17483000 usd
CY2024Q2 us-gaap Stock Issued During Period Value Treasury Stock Reissued
StockIssuedDuringPeriodValueTreasuryStockReissued
4357000 usd
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
18032000 usd
CY2024Q2 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
-901000 usd
CY2024Q2 us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
491000 usd
CY2024Q2 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
715000 usd
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
703421000 usd
CY2022Q4 us-gaap Stockholders Equity
StockholdersEquity
537073000 usd
us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
23412000 usd
us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
4820000 usd
us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
4136000 usd
us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
2315000 usd
us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
5219000 usd
us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
37483000 usd
us-gaap Stock Issued During Period Value Treasury Stock Reissued
StockIssuedDuringPeriodValueTreasuryStockReissued
4357000 usd
us-gaap Net Income Loss
NetIncomeLoss
36035000 usd
us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
-4218000 usd
us-gaap Other Comprehensive Income Unrealized Holding Gain Loss On Securities Arising During Period Net Of Tax
OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
1004000 usd
us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci For Sale Of Securities Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
1361000 usd
CY2024Q2 us-gaap Stockholders Equity
StockholdersEquity
703421000 usd
us-gaap Net Income Loss
NetIncomeLoss
36035000 usd
us-gaap Net Income Loss
NetIncomeLoss
29971000 usd
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-8172000 usd
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-8654000 usd
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
9377000 usd
us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
9289000 usd
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
9178000 usd
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
7330000 usd
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
3646000 usd
us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
2491000 usd
us-gaap Share Based Compensation
ShareBasedCompensation
31512000 usd
us-gaap Share Based Compensation
ShareBasedCompensation
24661000 usd
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
907000 usd
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-1143000 usd
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
11407000 usd
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
9937000 usd
us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
1996000 usd
us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
5136000 usd
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
-1899000 usd
us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
-3614000 usd
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-1450000 usd
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-4414000 usd
us-gaap Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
-10763000 usd
us-gaap Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
-2910000 usd
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
1489000 usd
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
-728000 usd
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
5965000 usd
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
9909000 usd
spsc Increase Decrease In Operating Leases
IncreaseDecreaseInOperatingLeases
-900000 usd
spsc Increase Decrease In Operating Leases
IncreaseDecreaseInOperatingLeases
-959000 usd
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
63506000 usd
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
55670000 usd
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
8592000 usd
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
9769000 usd
us-gaap Payments To Acquire Other Investments
PaymentsToAcquireOtherInvestments
78994000 usd
us-gaap Payments To Acquire Other Investments
PaymentsToAcquireOtherInvestments
68579000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
57200000 usd
CY2024Q2 spsc Finite Lived Intangible Assets Accumulated Foreign Currency Translation Gain Loss
FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationGainLoss
-1222000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
107519000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Remaining Amortization Period1
FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
P6Y
CY2023Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
154071000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year
FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
9908000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
19689000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
18685000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
18211000 usd
CY2024Q2 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
16873000 usd
CY2024Q2 spsc Finite Lived Intangible Asset Expected Amortization After Year Four
FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
24153000 usd
CY2024Q2 us-gaap Operating Lease Cost
OperatingLeaseCost
798000 usd
CY2023Q2 us-gaap Operating Lease Cost
OperatingLeaseCost
779000 usd
us-gaap Operating Lease Cost
OperatingLeaseCost
1612000 usd
CY2024Q2 us-gaap Variable Lease Cost
VariableLeaseCost
965000 usd
CY2023Q2 us-gaap Variable Lease Cost
VariableLeaseCost
950000 usd
CY2024Q2 us-gaap Lease Cost
LeaseCost
1763000 usd
us-gaap Proceeds From Sale And Maturity Of Available For Sale Securities
ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
105000000 usd
us-gaap Proceeds From Sale And Maturity Of Available For Sale Securities
ProceedsFromSaleAndMaturityOfAvailableForSaleSecurities
60000000 usd
us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
29343000 usd
us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
0 usd
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-11929000 usd
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-18348000 usd
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
37483000 usd
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
0 usd
us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
2314000 usd
us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
4819000 usd
us-gaap Proceeds From Stock Plans
ProceedsFromStockPlans
5219000 usd
us-gaap Proceeds From Stock Plans
ProceedsFromStockPlans
4136000 usd
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-29950000 usd
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
8955000 usd
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
-476000 usd
us-gaap Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
94000 usd
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
21151000 usd
us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
46371000 usd
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
219081000 usd
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
162893000 usd
us-gaap Use Of Estimates
UseOfEstimates
<div style="margin-top:12pt"><span style="color:#1f282c;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:6pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Preparing financial statements in conformity with GAAP requires management to make estimates, judgments, and assumptions that affect the reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods. Actual results could differ from those estimates.</span></div>
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
3047000 usd
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
4307000 usd
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
4082000 usd
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1435000 usd
CY2024Q2 spsc Lessee Operating Lease Liability To Be Paid After Year Three
LesseeOperatingLeaseLiabilityToBePaidAfterYearThree
222000 usd
CY2024Q2 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
13093000 usd
CY2024Q2 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
748000 usd
CY2024Q2 us-gaap Operating Lease Liability
OperatingLeaseLiability
12345000 usd
CY2024Q2 us-gaap Purchase Obligation Future Minimum Payments Remainder Of Fiscal Year
PurchaseObligationFutureMinimumPaymentsRemainderOfFiscalYear
5779000 usd
CY2024Q2 us-gaap Purchase Obligation
PurchaseObligation
25210000 usd
us-gaap Schedule Of Repurchase Agreements
ScheduleOfRepurchaseAgreements
Details of the program and activity thereunder through <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">June 30, 2024 were as follows:</span><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.293%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.142%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.839%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.839%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.839%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.843%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Effective Date</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Share Value Authorized for Repurchase</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Share Value Repurchased</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Unused &amp; Expired Share Repurchase Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Share Value Available for Future Repurchase</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022 Program</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">N/A</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,529 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span style="background-color:#ffffff;color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">share</span><span style="background-color:#ffffff;color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">repurchase activity by period was as follows:</span><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>June 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Six Months Ended<br/>June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">(in thousands, except shares and per share amounts)</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Number of shares repurchased</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95,395 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,875 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total share repurchased cost</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,483 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Average total cost per repurchased share</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183.27 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">182.96 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
12300000 shares
CY2023Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
12881000 usd
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
31512000 usd
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
24661000 usd
CY2024Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
11494000 usd
CY2023Q2 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
12881000 usd
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
31512000 usd
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
24661000 usd
CY2024Q2 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
74800000 usd
us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P2Y7M6D
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
346822 shares
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
80.02
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
33930 shares
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
196.37
us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
48400 shares
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
47.83
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
760 shares
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
167.08
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
331592 shares
CY2024Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
96.43
CY2024Q2 us-gaap Investment Income Net
InvestmentIncomeNet
2794000 usd
CY2023Q2 us-gaap Investment Income Net
InvestmentIncomeNet
1611000 usd
us-gaap Investment Income Net
InvestmentIncomeNet
5673000 usd
us-gaap Investment Income Net
InvestmentIncomeNet
2737000 usd
CY2024Q2 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
1255000 usd
CY2023Q2 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
290000 usd
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
1559000 usd
us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
427000 usd
CY2024Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
7000 usd
CY2023Q2 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-19000 usd
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-44000 usd
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-7000 usd
CY2024Q2 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
4056000 usd
CY2023Q2 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
1882000 usd
us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
7188000 usd
us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
3157000 usd
CY2024Q2 us-gaap Net Income Loss
NetIncomeLoss
18032000 usd
CY2023Q2 us-gaap Net Income Loss
NetIncomeLoss
14682000 usd
us-gaap Net Income Loss
NetIncomeLoss
36035000 usd
us-gaap Net Income Loss
NetIncomeLoss
29971000 usd
CY2024Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
37078000 shares
CY2023Q2 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36593000 shares
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
37063000 shares
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
36511000 shares
CY2024Q2 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
157000 shares
CY2023Q2 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
274000 shares
us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
167000 shares
us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
291000 shares
CY2024Q2 us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
448000 shares
CY2023Q2 us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
559000 shares
us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
460000 shares
us-gaap Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
525000 shares
CY2024Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37683000 shares
CY2023Q2 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37426000 shares
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37690000 shares
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
37327000 shares
CY2024Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.49
CY2023Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.40
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.97
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.82
CY2024Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.48
CY2023Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.39
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.96
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.80
CY2024Q2 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
276000 shares
CY2023Q2 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
37000 shares
us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
227000 shares
us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
63000 shares
CY2024Q2 ecd Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
false
CY2024Q2 ecd Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
false
CY2024Q2 ecd Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
false

Files In Submission

Name View Source Status
0001092699-24-000060-index-headers.html Edgar Link pending
0001092699-24-000060-index.html Edgar Link pending
0001092699-24-000060.txt Edgar Link pending
0001092699-24-000060-xbrl.zip Edgar Link pending
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
q2_2024exhibitex311ceo.htm Edgar Link pending
q2_2024exhibitex312cfo.htm Edgar Link pending
q2_2024exhibitex321ceocfo.htm Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending
spsc-20240630.htm Edgar Link pending
spsc-20240630.xsd Edgar Link pending
spsc-20240630_g1.jpg Edgar Link pending
spsc-20240630_g2.jpg Edgar Link pending
spsc-20240630_cal.xml Edgar Link unprocessable
spsc-20240630_def.xml Edgar Link unprocessable
spsc-20240630_lab.xml Edgar Link unprocessable
spsc-20240630_pre.xml Edgar Link unprocessable
spsc-20240630_htm.xml Edgar Link completed