2023 Q4 Form 10-Q Financial Statement
#000143774923030219 Filed on November 03, 2023
Income Statement
Concept | 2023 Q4 | 2023 Q3 |
---|---|---|
Revenue | $110.2M | $118.7M |
YoY Change | 3.12% | -3.47% |
Cost Of Revenue | $90.87M | $99.43M |
YoY Change | 6.96% | 1.6% |
Gross Profit | $19.29M | $19.29M |
YoY Change | -11.8% | -23.19% |
Gross Profit Margin | 17.51% | 16.25% |
Selling, General & Admin | $10.57M | $10.24M |
YoY Change | -2.94% | -3.91% |
% of Gross Profit | 54.77% | 53.06% |
Research & Development | ||
YoY Change | ||
% of Gross Profit | ||
Depreciation & Amortization | $4.015M | $4.050M |
YoY Change | -9.02% | -6.29% |
% of Gross Profit | 20.81% | 20.99% |
Operating Expenses | $10.57M | $10.24M |
YoY Change | -2.94% | -3.91% |
Operating Profit | $8.725M | $9.057M |
YoY Change | -20.58% | -37.38% |
Interest Expense | -$1.133M | $1.162M |
YoY Change | -3.57% | 20.54% |
% of Operating Profit | -12.99% | 12.83% |
Other Income/Expense, Net | $500.0K | -$61.00K |
YoY Change | 1119.51% | -654.55% |
Pretax Income | $7.992M | $7.834M |
YoY Change | -18.88% | -42.02% |
Income Tax | $2.548M | $2.016M |
% Of Pretax Income | 31.88% | 25.73% |
Net Earnings | $5.444M | $5.818M |
YoY Change | -31.62% | -41.56% |
Net Earnings / Revenue | 4.94% | 4.9% |
Basic Earnings Per Share | $0.58 | |
Diluted Earnings Per Share | $0.54 | $0.58 |
COMMON SHARES | ||
Basic Shares Outstanding | 10.01M | 10.01M |
Diluted Shares Outstanding | 10.11M |
Balance Sheet
Concept | 2023 Q4 | 2023 Q3 |
---|---|---|
SHORT-TERM ASSETS | ||
Cash & Short-Term Investments | $4.068M | $4.100M |
YoY Change | 10.51% | 10.63% |
Cash & Equivalents | $4.068M | $4.058M |
Short-Term Investments | ||
Other Short-Term Assets | $9.026M | $6.600M |
YoY Change | -15.56% | 52.57% |
Inventory | $91.23M | $83.09M |
Prepaid Expenses | ||
Receivables | $168.2M | $172.4M |
Other Receivables | $0.00 | $0.00 |
Total Short-Term Assets | $272.5M | $266.2M |
YoY Change | -2.24% | -1.71% |
LONG-TERM ASSETS | ||
Property, Plant & Equipment | $144.0M | $139.8M |
YoY Change | 8.1% | 12.54% |
Goodwill | $55.50M | $55.50M |
YoY Change | -0.01% | 0.0% |
Intangibles | ||
YoY Change | ||
Long-Term Investments | ||
YoY Change | ||
Other Assets | $6.709M | $5.844M |
YoY Change | 21.06% | 8.22% |
Total Long-Term Assets | $325.4M | $322.9M |
YoY Change | 0.87% | 2.3% |
TOTAL ASSETS | ||
Total Short-Term Assets | $272.5M | $266.2M |
Total Long-Term Assets | $325.4M | $322.9M |
Total Assets | $597.9M | $589.1M |
YoY Change | -0.58% | 0.45% |
SHORT-TERM LIABILITIES | ||
YoY Change | ||
Accounts Payable | $31.14M | $31.16M |
YoY Change | 15.48% | -22.97% |
Accrued Expenses | $27.91M | $23.79M |
YoY Change | -9.83% | -26.95% |
Deferred Revenue | $21.45M | $17.26M |
YoY Change | 22.88% | 6.29% |
Short-Term Debt | $0.00 | $0.00 |
YoY Change | ||
Long-Term Debt Due | $10.76M | $10.76M |
YoY Change | 0.0% | 205.13% |
Total Short-Term Liabilities | $96.19M | $87.86M |
YoY Change | 5.9% | -9.88% |
LONG-TERM LIABILITIES | ||
Long-Term Debt | $54.49M | $58.10M |
YoY Change | -34.9% | -19.1% |
Other Long-Term Liabilities | $10.62M | $9.845M |
YoY Change | 38.66% | 35.38% |
Total Long-Term Liabilities | $10.62M | $9.845M |
YoY Change | 38.66% | 35.38% |
TOTAL LIABILITIES | ||
Total Short-Term Liabilities | $96.19M | $87.86M |
Total Long-Term Liabilities | $10.62M | $9.845M |
Total Liabilities | $257.5M | $254.0M |
YoY Change | -9.02% | -8.59% |
SHAREHOLDERS EQUITY | ||
Retained Earnings | $212.1M | $206.7M |
YoY Change | 11.03% | 12.88% |
Common Stock | $129.2M | $129.4M |
YoY Change | 0.93% | 2.07% |
Preferred Stock | ||
YoY Change | ||
Treasury Stock (at cost) | ||
YoY Change | ||
Treasury Stock Shares | ||
Shareholders Equity | $340.4M | $335.1M |
YoY Change | ||
Total Liabilities & Shareholders Equity | $597.9M | $589.1M |
YoY Change | -0.58% | 0.45% |
Cashflow Statement
Concept | 2023 Q4 | 2023 Q3 |
---|---|---|
OPERATING ACTIVITIES | ||
Net Income | $5.444M | $5.818M |
YoY Change | -31.62% | -41.56% |
Depreciation, Depletion And Amortization | $4.015M | $4.050M |
YoY Change | -9.02% | -6.29% |
Cash From Operating Activities | $9.046M | $16.93M |
YoY Change | -213.4% | 10.31% |
INVESTING ACTIVITIES | ||
Capital Expenditures | $5.047M | $4.830M |
YoY Change | -55.59% | -244.78% |
Acquisitions | ||
YoY Change | ||
Other Investing Activities | $587.0K | $50.00K |
YoY Change | 48.98% | -115.72% |
Cash From Investing Activities | -$4.460M | -$4.770M |
YoY Change | -59.34% | 30.54% |
FINANCING ACTIVITIES | ||
Cash Dividend Paid | ||
YoY Change | ||
Common Stock Issuance & Retirement, Net | ||
YoY Change | ||
Debt Paid & Issued, Net | ||
YoY Change | ||
Cash From Financing Activities | -4.576M | -12.25M |
YoY Change | -124.18% | 6.24% |
NET CHANGE | ||
Cash From Operating Activities | 9.046M | 16.93M |
Cash From Investing Activities | -4.460M | -4.770M |
Cash From Financing Activities | -4.576M | -12.25M |
Net Change In Cash | 10.00K | -90.00K |
YoY Change | -140.0% | -155.21% |
FREE CASH FLOW | ||
Cash From Operating Activities | $9.046M | $16.93M |
Capital Expenditures | $5.047M | $4.830M |
Free Cash Flow | $3.999M | $12.10M |
YoY Change | -120.68% | -35.24% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
dei |
Amendment Flag
AmendmentFlag
|
false | ||
dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | ||
dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
Q3 | ||
dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2023 | ||
CY2023Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
284000 | usd |
CY2022Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
369000 | usd |
CY2023Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
124175000 | usd |
CY2022Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
117856000 | usd |
CY2023Q3 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
usd | |
CY2022Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
usd | |
CY2023Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2023Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2023Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2022Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2023Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2022Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2023Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
15000000 | |
CY2022Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
15000000 | |
CY2023Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10014196 | |
CY2023Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
10014196 | |
CY2022Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9927360 | |
CY2022Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9927360 | |
nwpx |
Number Of Inactive Stock Incentive Plans
NumberOfInactiveStockIncentivePlans
|
1 | pure | |
us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
-800000 | usd | |
CY2023Q3 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P0Y3M | |
CY2023Q3 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
us-gaap |
Open Tax Year
OpenTaxYear
|
2019 2020 2021 2022 2023 | ||
CY2023Q3 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
CY2022Q3 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | ||
CY2023Q3 | ecd |
Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
|
false | |
CY2023Q3 | ecd |
Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
|
false | |
CY2023Q3 | ecd |
Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
|
false | |
CY2023Q3 | ecd |
Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
|
false | |
dei |
Document Type
DocumentType
|
10-Q | ||
dei |
Document Quarterly Report
DocumentQuarterlyReport
|
true | ||
dei |
Document Period End Date
DocumentPeriodEndDate
|
2023-09-30 | ||
dei |
Document Transition Report
DocumentTransitionReport
|
false | ||
dei |
Entity File Number
EntityFileNumber
|
0-27140 | ||
dei |
Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
|
OR | ||
CY2022Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
3555000 | usd |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
5659000 | usd | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
8310000 | usd | |
CY2023Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
5818000 | usd |
CY2022Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
9956000 | usd |
dei |
Entity Tax Identification Number
EntityTaxIdentificationNumber
|
93-0557988 | ||
dei |
Entity Address Address Line1
EntityAddressAddressLine1
|
201 NE Park Plaza Drive, Suite 100 | ||
dei |
Entity Address City Or Town
EntityAddressCityOrTown
|
Vancouver | ||
dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
WA | ||
dei |
Entity Address Postal Zip Code
EntityAddressPostalZipCode
|
98684 | ||
dei |
City Area Code
CityAreaCode
|
360 | ||
dei |
Local Phone Number
LocalPhoneNumber
|
397‑6250 | ||
dei |
Security12b Title
Security12bTitle
|
Common Stock, par value $0.01 per share | ||
dei |
Trading Symbol
TradingSymbol
|
NWPX | ||
dei |
Security Exchange Name
SecurityExchangeName
|
NASDAQ | ||
dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | ||
dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | ||
dei |
Entity Filer Category
EntityFilerCategory
|
Accelerated Filer | ||
dei |
Entity Small Business
EntitySmallBusiness
|
false | ||
dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | ||
dei |
Entity Shell Company
EntityShellCompany
|
false | ||
CY2023Q4 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
10014196 | |
CY2023Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
118722000 | usd |
CY2022Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
122984000 | usd |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
334191000 | usd | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
350837000 | usd | |
CY2023Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
99428000 | usd |
CY2022Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
97866000 | usd |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
275839000 | usd | |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
286853000 | usd | |
CY2023Q3 | us-gaap |
Gross Profit
GrossProfit
|
19294000 | usd |
CY2022Q3 | us-gaap |
Gross Profit
GrossProfit
|
25118000 | usd |
us-gaap |
Gross Profit
GrossProfit
|
58352000 | usd | |
us-gaap |
Gross Profit
GrossProfit
|
63984000 | usd | |
CY2023Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
10237000 | usd |
CY2022Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
10654000 | usd |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
33119000 | usd | |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
30149000 | usd | |
CY2023Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
9057000 | usd |
CY2022Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
14464000 | usd |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
25233000 | usd | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
33835000 | usd | |
CY2023Q3 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-61000 | usd |
CY2022Q3 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
11000 | usd |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-224000 | usd | |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
56000 | usd | |
CY2023Q3 | us-gaap |
Interest Expense
InterestExpense
|
1162000 | usd |
CY2022Q3 | us-gaap |
Interest Expense
InterestExpense
|
964000 | usd |
us-gaap |
Interest Expense
InterestExpense
|
3722000 | usd | |
us-gaap |
Interest Expense
InterestExpense
|
2393000 | usd | |
CY2023Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7834000 | usd |
CY2022Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
13511000 | usd |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
21287000 | usd | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
31498000 | usd | |
CY2023Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2016000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15628000 | usd | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
23188000 | usd | |
CY2023Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.58 | |
CY2022Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.57 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
2.34 | ||
CY2023Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.58 | |
CY2022Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.99 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.55 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
2.32 | ||
CY2023Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10014000 | |
CY2022Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9927000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9985000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9909000 | ||
CY2023Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10107000 | |
CY2022Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10010000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10088000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9988000 | ||
CY2023Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
5818000 | usd |
CY2022Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
9956000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15628000 | usd | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
23188000 | usd | |
CY2023Q3 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-27000 | usd |
CY2022Q3 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
608000 | usd |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-162000 | usd | |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
482000 | usd | |
CY2023Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
5791000 | usd |
CY2022Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
10564000 | usd |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
15466000 | usd | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
23670000 | usd | |
CY2023Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
4058000 | usd |
CY2022Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
3681000 | usd |
CY2023Q3 | us-gaap |
Receivables Net Current
ReceivablesNetCurrent
|
66997000 | usd |
CY2022Q4 | us-gaap |
Receivables Net Current
ReceivablesNetCurrent
|
71563000 | usd |
CY2023Q3 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
105420000 | usd |
CY2022Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
121778000 | usd |
CY2023Q3 | us-gaap |
Inventory Net
InventoryNet
|
83093000 | usd |
CY2022Q4 | us-gaap |
Inventory Net
InventoryNet
|
71029000 | usd |
CY2023Q3 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
6638000 | usd |
CY2022Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
10689000 | usd |
CY2023Q3 | us-gaap |
Assets Current
AssetsCurrent
|
266206000 | usd |
CY2022Q4 | us-gaap |
Assets Current
AssetsCurrent
|
278740000 | usd |
CY2023Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
139812000 | usd |
CY2022Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
133166000 | usd |
CY2023Q3 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
89605000 | usd |
CY2022Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
93124000 | usd |
CY2023Q3 | us-gaap |
Goodwill
Goodwill
|
55504000 | usd |
CY2022Q4 | us-gaap |
Goodwill
Goodwill
|
55504000 | usd |
CY2023Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
32117000 | usd |
CY2022Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
35264000 | usd |
CY2023Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
5844000 | usd |
CY2022Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
5542000 | usd |
CY2023Q3 | us-gaap |
Assets
Assets
|
589088000 | usd |
CY2022Q4 | us-gaap |
Assets
Assets
|
601340000 | usd |
CY2023Q3 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
10756000 | usd |
CY2022Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
10756000 | usd |
CY2023Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
31156000 | usd |
CY2022Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
26968000 | usd |
CY2023Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
23786000 | usd |
CY2022Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
30957000 | usd |
CY2023Q3 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
17264000 | usd |
CY2022Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
17456000 | usd |
CY2023Q3 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
4899000 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
4702000 | usd |
CY2023Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
87861000 | usd |
CY2022Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
90839000 | usd |
CY2023Q3 | us-gaap |
Long Term Line Of Credit
LongTermLineOfCredit
|
58076000 | usd |
CY2022Q4 | us-gaap |
Long Term Line Of Credit
LongTermLineOfCredit
|
83696000 | usd |
CY2023Q3 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
86529000 | usd |
CY2022Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
89472000 | usd |
CY2023Q3 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
11639000 | usd |
CY2022Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
11402000 | usd |
CY2023Q3 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
9845000 | usd |
CY2022Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
7657000 | usd |
CY2023Q3 | us-gaap |
Liabilities
Liabilities
|
253950000 | usd |
CY2022Q4 | us-gaap |
Liabilities
Liabilities
|
283066000 | usd |
CY2023Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | usd |
CY2022Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | usd |
CY2023Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
100000 | usd |
CY2022Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
99000 | usd |
CY2023Q3 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
129308000 | usd |
CY2022Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
127911000 | usd |
CY2023Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
206681000 | usd |
CY2022Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
191053000 | usd |
CY2023Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-951000 | usd |
CY2022Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-789000 | usd |
CY2023Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
335138000 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
318274000 | usd |
CY2023Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
589088000 | usd |
CY2022Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
601340000 | usd |
CY2023Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
328601000 | usd |
CY2023Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
5818000 | usd |
CY2023Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
746000 | usd |
CY2023Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
335138000 | usd |
CY2022Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
296944000 | usd |
CY2022Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
9956000 | usd |
CY2022Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1169000 | usd |
CY2022Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
308677000 | usd |
CY2022Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
318274000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15628000 | usd | |
us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
1652000 | usd | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
3050000 | usd | |
CY2023Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
335138000 | usd |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
283383000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
23188000 | usd | |
us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
853000 | usd | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
2477000 | usd | |
CY2022Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
308677000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15628000 | usd | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
23188000 | usd | |
nwpx |
Depreciation And Finance Lease Right Of Use Asset Amortization
DepreciationAndFinanceLeaseRightOfUseAssetAmortization
|
8644000 | usd | |
nwpx |
Depreciation And Finance Lease Right Of Use Asset Amortization
DepreciationAndFinanceLeaseRightOfUseAssetAmortization
|
9321000 | usd | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
3147000 | usd | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
3369000 | usd | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
226000 | usd | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-3000 | usd | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
3050000 | usd | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2477000 | usd | |
us-gaap |
Other Noncash Income Expense
OtherNoncashIncomeExpense
|
-1298000 | usd | |
us-gaap |
Other Noncash Income Expense
OtherNoncashIncomeExpense
|
305000 | usd | |
us-gaap |
Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
|
-4401000 | usd | |
us-gaap |
Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
|
21588000 | usd | |
us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
-16165000 | usd | |
us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
-3531000 | usd | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
12064000 | usd | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
11927000 | usd | |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-7417000 | usd | |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-8789000 | usd | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
4974000 | usd | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
8350000 | usd | |
us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
-8477000 | usd | |
us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
315000 | usd | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
44409000 | usd | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
25517000 | usd | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
13244000 | usd | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
11792000 | usd | |
us-gaap |
Other Payments To Acquire Businesses
OtherPaymentsToAcquireBusinesses
|
2731000 | usd | |
us-gaap |
Other Payments To Acquire Businesses
OtherPaymentsToAcquireBusinesses
|
-0 | usd | |
us-gaap |
Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
|
-63000 | usd | |
us-gaap |
Payments For Proceeds From Other Investing Activities
PaymentsForProceedsFromOtherInvestingActivities
|
288000 | usd | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-15912000 | usd | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-12080000 | usd | |
us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
113047000 | usd | |
us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
121103000 | usd | |
us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
138667000 | usd | |
us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
136047000 | usd | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
0 | usd | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
3525000 | usd | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
548000 | usd | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
409000 | usd | |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
1652000 | usd | |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
853000 | usd | |
us-gaap |
Proceeds From Payments For Other Financing Activities
ProceedsFromPaymentsForOtherFinancingActivities
|
-300000 | usd | |
us-gaap |
Proceeds From Payments For Other Financing Activities
ProceedsFromPaymentsForOtherFinancingActivities
|
-47000 | usd | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-28120000 | usd | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-12728000 | usd | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
377000 | usd | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
709000 | usd | |
CY2022Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
3681000 | usd |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
2997000 | usd |
CY2023Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
4058000 | usd |
CY2022Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
3706000 | usd |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
528000 | usd | |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
614000 | usd | |
nwpx |
Noncash Or Part Noncash Acquisition Value Of Consideration Accrued
NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued
|
0 | usd | |
nwpx |
Noncash Or Part Noncash Acquisition Value Of Consideration Accrued
NoncashOrPartNoncashAcquisitionValueOfConsiderationAccrued
|
1820000 | usd | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
952000 | usd | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
26000 | usd | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
3243000 | usd | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
894000 | usd | |
us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
2 | pure | |
nwpx |
Number Of Manufacturing Facilities
NumberOfManufacturingFacilities
|
13 | pure | |
CY2023Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
59408000 | usd |
CY2022Q4 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
47978000 | usd |
CY2023Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
9180000 | usd |
CY2022Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
5114000 | usd |
CY2023Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
12205000 | usd |
CY2022Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
15773000 | usd |
CY2023Q3 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
2300000 | usd |
CY2022Q4 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
2164000 | usd |
CY2023Q3 | us-gaap |
Inventory Net
InventoryNet
|
83093000 | usd |
CY2022Q4 | us-gaap |
Inventory Net
InventoryNet
|
71029000 | usd |
CY2023Q3 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
4280000 | usd |
CY2022Q4 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
5177000 | usd |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
|
700000 | usd | |
nwpx |
Number Of Active Stock Incentive Plans
NumberOfActiveStockIncentivePlans
|
1 | pure | |
CY2023Q3 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
746000 | usd |
CY2022Q3 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1169000 | usd |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
3050000 | usd | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2477000 | usd | |
CY2023Q3 | nwpx |
Other Commitment Amount Paid For Equipment Purchased Yet Not Received
OtherCommitmentAmountPaidForEquipmentPurchasedYetNotReceived
|
1100000 | usd |
CY2023Q3 | us-gaap |
Letters Of Credit Outstanding Amount
LettersOfCreditOutstandingAmount
|
1100000 | usd |
CY2023Q3 | us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
-800000 | usd |
CY2022Q3 | us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
200000 | usd |
us-gaap |
Contract With Customer Liability Cumulative Catch Up Adjustment To Revenue Change In Estimate Of Transaction Price
ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice
|
-200000 | usd | |
CY2023Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
118722000 | usd |
CY2022Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
122984000 | usd |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
334191000 | usd | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
350837000 | usd | |
CY2023Q3 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
13500000 | usd |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
15000000 | usd | |
CY2022Q3 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
2800000 | usd |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
2600000 | usd | |
CY2023Q3 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
253000000 | usd |
CY2023Q3 | us-gaap |
Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
|
0.27 | pure |
CY2023Q3 | us-gaap |
Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
|
0.44 | pure |
CY2023Q3 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.257 | pure |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.266 | pure | |
CY2022Q3 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.263 | pure |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.264 | pure | |
CY2023Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
5818000 | usd |
CY2022Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
9956000 | usd |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15628000 | usd | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
23188000 | usd | |
CY2023Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10014000 | |
CY2022Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9927000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9985000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9909000 | ||
CY2023Q3 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
93000 | |
CY2022Q3 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
83000 | |
us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
103000 | ||
us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
79000 | ||
CY2023Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10107000 | |
CY2022Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10010000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10088000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9988000 | ||
CY2023Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.58 | |
CY2022Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.57 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
2.34 | ||
CY2023Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.58 | |
CY2022Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.99 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.55 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
2.32 | ||
us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | ||
CY2023Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
118722000 | usd |
CY2022Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
122984000 | usd |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
334191000 | usd | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
350837000 | usd | |
CY2023Q3 | us-gaap |
Gross Profit
GrossProfit
|
19294000 | usd |
CY2022Q3 | us-gaap |
Gross Profit
GrossProfit
|
25118000 | usd |
us-gaap |
Gross Profit
GrossProfit
|
58352000 | usd | |
us-gaap |
Gross Profit
GrossProfit
|
63984000 | usd |