2020 Q4 Form 10-Q Financial Statement
#000143774920022785 Filed on November 05, 2020
Income Statement
Concept | 2020 Q4 | 2020 Q3 | 2019 Q3 |
---|---|---|---|
Revenue | $69.38M | $77.63M | $75.23M |
YoY Change | -3.96% | 3.2% | 43.41% |
Cost Of Revenue | $57.00M | $62.01M | $59.75M |
YoY Change | 3.07% | 3.79% | 26.45% |
Gross Profit | $12.36M | $15.62M | $15.48M |
YoY Change | -26.93% | 0.93% | 197.42% |
Gross Profit Margin | 17.82% | 20.12% | 20.57% |
Selling, General & Admin | $5.800M | $5.656M | $4.900M |
YoY Change | 26.09% | 15.43% | -8.1% |
% of Gross Profit | 46.91% | 36.21% | 31.66% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $3.610M | $3.670M | $3.560M |
YoY Change | 12.11% | 3.09% | 35.88% |
% of Gross Profit | 29.2% | 23.5% | 23.0% |
Operating Expenses | $5.800M | $5.656M | $4.900M |
YoY Change | 23.4% | 15.43% | -8.1% |
Operating Profit | $6.563M | $9.963M | $10.58M |
YoY Change | -46.54% | -5.79% | 323.51% |
Interest Expense | -$200.0K | $238.0K | $114.0K |
YoY Change | 100.0% | 108.77% | -11.63% |
% of Operating Profit | -3.05% | 2.39% | 1.08% |
Other Income/Expense, Net | $100.0K | $157.0K | $2.792M |
YoY Change | -92.86% | -94.38% | 4632.2% |
Pretax Income | $6.500M | $9.898M | $13.28M |
YoY Change | -52.21% | -25.44% | -45.47% |
Income Tax | $1.300M | $2.631M | $2.529M |
% Of Pretax Income | 20.0% | 26.58% | 19.05% |
Net Earnings | $5.221M | $7.267M | $10.75M |
YoY Change | -56.55% | -32.38% | -61.34% |
Net Earnings / Revenue | 7.53% | 9.36% | 14.29% |
Basic Earnings Per Share | $0.54 | $0.74 | $1.10 |
Diluted Earnings Per Share | $0.53 | $0.73 | $1.10 |
COMMON SHARES | |||
Basic Shares Outstanding | 9.805M | 9.802M | 9.745M |
Diluted Shares Outstanding | 9.861M | 9.785M |
Balance Sheet
Concept | 2020 Q4 | 2020 Q3 | 2019 Q3 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $37.90M | $30.40M | $11.70M |
YoY Change | 22.26% | 159.83% | 680.0% |
Cash & Equivalents | $37.93M | $30.36M | $11.74M |
Short-Term Investments | |||
Other Short-Term Assets | $5.200M | $3.400M | $3.200M |
YoY Change | 23.81% | 6.25% | -40.74% |
Inventory | $29.18M | $31.95M | $27.29M |
Prepaid Expenses | |||
Receivables | $119.7M | $119.9M | $127.4M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $192.0M | $185.6M | $169.6M |
YoY Change | -1.58% | 9.4% | 21.41% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $110.2M | $109.2M | $99.44M |
YoY Change | 10.59% | 9.79% | -7.85% |
Goodwill | $22.99M | $22.99M | |
YoY Change | |||
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $6.552M | $6.432M | $16.23M |
YoY Change | -1.64% | -60.37% | 69.21% |
Total Long-Term Assets | $181.1M | $181.2M | $115.7M |
YoY Change | 57.16% | 56.69% | -1.56% |
TOTAL ASSETS | |||
Total Short-Term Assets | $192.0M | $185.6M | $169.6M |
Total Long-Term Assets | $181.1M | $181.2M | $115.7M |
Total Assets | $373.0M | $366.8M | $285.3M |
YoY Change | 20.23% | 28.57% | 10.92% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $12.99M | $13.70M | $7.626M |
YoY Change | -16.14% | 79.67% | -60.47% |
Accrued Expenses | $16.81M | $14.05M | $12.17M |
YoY Change | 38.39% | 15.38% | 100.79% |
Deferred Revenue | $6.189M | $4.540M | $10.86M |
YoY Change | -49.61% | -58.2% | 1254.36% |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $7.701M | $3.132M | $300.0K |
YoY Change | 944.0% | -25.0% | |
Total Short-Term Liabilities | $45.90M | $37.72M | $30.66M |
YoY Change | 10.43% | 23.03% | 15.33% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $5.888M | $11.24M | $600.0K |
YoY Change | 1774.0% | -45.45% | |
Other Long-Term Liabilities | $11.21M | $11.11M | $18.90M |
YoY Change | 11.98% | -41.23% | 74.75% |
Total Long-Term Liabilities | $17.10M | $22.35M | $18.90M |
YoY Change | 70.81% | 18.27% | 74.75% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $45.90M | $37.72M | $30.66M |
Total Long-Term Liabilities | $17.10M | $22.35M | $18.90M |
Total Liabilities | $103.4M | $103.1M | $49.56M |
YoY Change | 66.52% | 108.1% | 28.43% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $148.4M | $143.2M | $117.3M |
YoY Change | 14.73% | 22.03% | 16.1% |
Common Stock | $123.1M | $122.3M | $120.1M |
YoY Change | 2.05% | 1.82% | 1.02% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $269.6M | $263.7M | $235.8M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $373.0M | $366.8M | $285.3M |
YoY Change | 20.23% | 28.57% | 10.92% |
Cashflow Statement
Concept | 2020 Q4 | 2020 Q3 | 2019 Q3 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $5.221M | $7.267M | $10.75M |
YoY Change | -56.55% | -32.38% | -61.34% |
Depreciation, Depletion And Amortization | $3.610M | $3.670M | $3.560M |
YoY Change | 12.11% | 3.09% | 35.88% |
Cash From Operating Activities | $12.70M | $14.60M | $4.070M |
YoY Change | -40.99% | 258.72% | -151.85% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$4.230M | -$3.620M | -$3.280M |
YoY Change | 59.02% | 10.37% | 126.21% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | $1.080M | $1.020M |
YoY Change | -100.0% | 5.88% | -103.26% |
Cash From Investing Activities | -$4.220M | -$2.540M | -$2.270M |
YoY Change | 120.94% | 11.89% | -93.06% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -900.0K | -910.0K | -110.0K |
YoY Change | 164.71% | 727.27% | -147.83% |
NET CHANGE | |||
Cash From Operating Activities | 12.70M | 14.60M | 4.070M |
Cash From Investing Activities | -4.220M | -2.540M | -2.270M |
Cash From Financing Activities | -900.0K | -910.0K | -110.0K |
Net Change In Cash | 7.580M | 11.15M | 1.690M |
YoY Change | -60.66% | 559.76% | -104.19% |
FREE CASH FLOW | |||
Cash From Operating Activities | $12.70M | $14.60M | $4.070M |
Capital Expenditures | -$4.230M | -$3.620M | -$3.280M |
Free Cash Flow | $16.93M | $18.22M | $7.350M |
YoY Change | -29.98% | 147.89% | -214.84% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
us-gaap |
Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
|
23000 | USD | |
us-gaap |
Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
|
0 | USD | |
us-gaap |
Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
|
9000 | USD | |
nwpx |
Number Of Active Stock Incentive Plans
NumberOfActiveStockIncentivePlans
|
1 | pure | |
CY2020Q3 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P0Y3M | |
CY2020Q3 | us-gaap |
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
|
P1Y | |
CY2020Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
77632000 | USD |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
75226000 | USD |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
216526000 | USD | |
CY2020Q4 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
9805437 | |
CY2020Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
719000 | USD |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
801000 | USD |
CY2020Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
94857000 | USD |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
86244000 | USD |
CY2020Q3 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2019Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2019Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
10000000 | |
CY2020Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2019Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
15000000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
15000000 | |
CY2020Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9805437 | |
CY2020Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9805437 | |
CY2019Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9746979 | |
CY2019Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9746979 | |
CY2020Q3 | us-gaap |
Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
|
0 | USD |
CY2020Q3 | us-gaap |
Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
|
6000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
|
0 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
|
1000 | USD |
us-gaap |
Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
|
0 | USD | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
207072000 | USD | |
CY2020Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
62013000 | USD |
CY2019Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
59751000 | USD |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
178370000 | USD | |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
176808000 | USD | |
CY2020Q3 | us-gaap |
Gross Profit
GrossProfit
|
15619000 | USD |
CY2019Q3 | us-gaap |
Gross Profit
GrossProfit
|
15475000 | USD |
us-gaap |
Gross Profit
GrossProfit
|
38156000 | USD | |
us-gaap |
Gross Profit
GrossProfit
|
30264000 | USD | |
CY2020Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
5656000 | USD |
CY2019Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4900000 | USD |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
19185000 | USD | |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
13852000 | USD | |
CY2020Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
9963000 | USD |
CY2019Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
10575000 | USD |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
18971000 | USD | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9851000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9762000 | ||
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
7267000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
10747000 | USD |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
16412000 | USD | |
CY2020Q3 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
157000 | USD |
CY2019Q3 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
2792000 | USD |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
815000 | USD | |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
2976000 | USD | |
CY2020Q3 | us-gaap |
Other Interest And Dividend Income
OtherInterestAndDividendIncome
|
16000 | USD |
CY2019Q3 | us-gaap |
Other Interest And Dividend Income
OtherInterestAndDividendIncome
|
23000 | USD |
us-gaap |
Other Interest And Dividend Income
OtherInterestAndDividendIncome
|
49000 | USD | |
us-gaap |
Other Interest And Dividend Income
OtherInterestAndDividendIncome
|
30000 | USD | |
CY2020Q3 | us-gaap |
Interest Expense
InterestExpense
|
238000 | USD |
CY2019Q3 | us-gaap |
Interest Expense
InterestExpense
|
114000 | USD |
us-gaap |
Interest Expense
InterestExpense
|
719000 | USD | |
us-gaap |
Interest Expense
InterestExpense
|
365000 | USD | |
CY2020Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
9898000 | USD |
CY2019Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
13276000 | USD |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
19116000 | USD | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
19053000 | USD | |
CY2020Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2631000 | USD |
CY2019Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2529000 | USD |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
5287000 | USD | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
3167000 | USD | |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
7267000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
10747000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
13829000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15886000 | USD | |
CY2020Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.74 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.10 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.41 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.63 | ||
CY2020Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.73 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.10 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.40 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.63 | ||
CY2020Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9802000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9745000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9782000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9739000 | ||
CY2020Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9861000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9785000 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
13829000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15886000 | USD | |
CY2020Q3 | us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-25000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-25000 | USD |
us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-74000 | USD | |
us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-78000 | USD | |
CY2020Q3 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax Parent
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent
|
19000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax Parent
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent
|
-2000 | USD |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax Parent
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent
|
-57000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax Parent
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent
|
-17000 | USD | |
CY2020Q3 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
44000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
23000 | USD |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
17000 | USD | |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
61000 | USD | |
CY2020Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
7311000 | USD |
CY2019Q3 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
10770000 | USD |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
13846000 | USD | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
15947000 | USD | |
CY2020Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
30363000 | USD |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
31014000 | USD |
CY2020Q3 | us-gaap |
Receivables Net Current
ReceivablesNetCurrent
|
43624000 | USD |
CY2019Q4 | us-gaap |
Receivables Net Current
ReceivablesNetCurrent
|
38026000 | USD |
CY2020Q3 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
76276000 | USD |
CY2019Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
91186000 | USD |
CY2020Q3 | us-gaap |
Inventory Net
InventoryNet
|
31945000 | USD |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
30654000 | USD |
CY2020Q3 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
3374000 | USD |
CY2019Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
4159000 | USD |
CY2020Q3 | us-gaap |
Assets Current
AssetsCurrent
|
185582000 | USD |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
195039000 | USD |
CY2020Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
109172000 | USD |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
99631000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
31538000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
7683000 | USD |
CY2020Q3 | us-gaap |
Goodwill
Goodwill
|
22985000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
0 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
11116000 | USD |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
1231000 | USD |
CY2020Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
6432000 | USD |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
6661000 | USD |
CY2020Q3 | us-gaap |
Assets
Assets
|
366825000 | USD |
CY2019Q4 | us-gaap |
Assets
Assets
|
310245000 | USD |
CY2020Q3 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
3132000 | USD |
CY2019Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
0 | USD |
CY2020Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
13702000 | USD |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
15493000 | USD |
CY2020Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
14046000 | USD |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
12150000 | USD |
CY2020Q3 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
4540000 | USD |
CY2019Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
12281000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
2303000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
1642000 | USD |
CY2020Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
37723000 | USD |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
41566000 | USD |
CY2020Q3 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
11244000 | USD |
CY2019Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
0 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
28448000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
6247000 | USD |
CY2020Q3 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
14611000 | USD |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
4265000 | USD |
CY2020Q3 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
11107000 | USD |
CY2019Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
10009000 | USD |
CY2020Q3 | us-gaap |
Liabilities
Liabilities
|
103133000 | USD |
CY2019Q4 | us-gaap |
Liabilities
Liabilities
|
62087000 | USD |
CY2020Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2019Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2020Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
98000 | USD |
CY2019Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
97000 | USD |
CY2020Q3 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
122231000 | USD |
CY2019Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
120544000 | USD |
CY2020Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
143160000 | USD |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
129331000 | USD |
CY2020Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1797000 | USD |
CY2019Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1814000 | USD |
CY2020Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
263692000 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
248158000 | USD |
CY2020Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
366825000 | USD |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
310245000 | USD |
CY2020Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
255508000 | USD |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
7267000 | USD |
CY2020Q3 | us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-25000 | USD |
CY2020Q3 | us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
19000 | USD |
CY2020Q3 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
-0 | USD |
CY2020Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
873000 | USD |
CY2020Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
263692000 | USD |
CY2019Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
224442000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
10747000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-25000 | USD |
CY2019Q3 | us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
-2000 | USD |
CY2019Q3 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
-0 | USD |
CY2019Q3 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
541000 | USD |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
235753000 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
248158000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
13829000 | USD | |
us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-74000 | USD | |
us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
-57000 | USD | |
us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
618000 | USD | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
2306000 | USD | |
CY2020Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
263692000 | USD |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
218590000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15886000 | USD | |
us-gaap |
Other Comprehensive Income Defined Benefit Plans Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
|
-78000 | USD | |
us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
-17000 | USD | |
us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
-0 | USD | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1216000 | USD | |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
235753000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
13829000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15886000 | USD | |
nwpx |
Depreciation And Finance Lease Right Of Use Asset Amortization
DepreciationAndFinanceLeaseRightOfUseAssetAmortization
|
9332000 | USD | |
nwpx |
Depreciation And Finance Lease Right Of Use Asset Amortization
DepreciationAndFinanceLeaseRightOfUseAssetAmortization
|
9215000 | USD | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
1607000 | USD | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
269000 | USD | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
5025000 | USD | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
2718000 | USD | |
nwpx |
Gain On Insurance Proceeds
GainOnInsuranceProceeds
|
1147000 | USD | |
nwpx |
Gain On Insurance Proceeds
GainOnInsuranceProceeds
|
431000 | USD | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2306000 | USD | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1216000 | USD | |
us-gaap |
Other Noncash Income Expense
OtherNoncashIncomeExpense
|
-869000 | USD | |
us-gaap |
Other Noncash Income Expense
OtherNoncashIncomeExpense
|
-157000 | USD | |
us-gaap |
Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
|
354000 | USD | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-651000 | USD | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
5067000 | USD | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
31014000 | USD |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
6677000 | USD |
CY2020Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
30363000 | USD |
CY2019Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
11744000 | USD |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
876000 | USD | |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
515000 | USD | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
4471000 | USD | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1238000 | USD | |
us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure | |
CY2020Q1 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | pure |
us-gaap |
Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
|
4263000 | USD | |
us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
-8298000 | USD | |
us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
7373000 | USD | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-4382000 | USD | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-12016000 | USD | |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-3787000 | USD | |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-2507000 | USD | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-3343000 | USD | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-12337000 | USD | |
us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
-1201000 | USD | |
us-gaap |
Increase Decrease In Accrued Liabilities And Other Operating Liabilities
IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
|
1786000 | USD | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
43390000 | USD | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
21366000 | USD | |
us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
48728000 | USD | |
us-gaap |
Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
|
-0 | USD | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
9787000 | USD | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
5925000 | USD | |
us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
327000 | USD | |
us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
-0 | USD | |
us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
0 | USD | |
us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
15000 | USD | |
us-gaap |
Proceeds From Insurance Settlement Investing Activities
ProceedsFromInsuranceSettlementInvestingActivities
|
1637000 | USD | |
us-gaap |
Proceeds From Insurance Settlement Investing Activities
ProceedsFromInsuranceSettlementInvestingActivities
|
1400000 | USD | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-57205000 | USD | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-4510000 | USD | |
us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
41377000 | USD | |
us-gaap |
Proceeds From Lines Of Credit
ProceedsFromLinesOfCredit
|
41744000 | USD | |
us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
41377000 | USD | |
us-gaap |
Repayments Of Lines Of Credit
RepaymentsOfLinesOfCredit
|
53208000 | USD | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
15879000 | USD | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
0 | USD | |
us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
1323000 | USD | |
us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
-0 | USD | |
us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
461000 | USD | |
us-gaap |
Payments Of Debt Issuance Costs
PaymentsOfDebtIssuanceCosts
|
-0 | USD | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
313000 | USD | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
325000 | USD | |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
618000 | USD | |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
-0 | USD | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
13164000 | USD | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-11789000 | USD | |
CY2020Q3 | us-gaap |
Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
|
77632000 | USD |
CY2019Q3 | us-gaap |
Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
|
88053000 | USD |
us-gaap |
Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
|
220115000 | USD | |
us-gaap |
Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
|
241477000 | USD | |
CY2020Q3 | us-gaap |
Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
|
7589000 | USD |
CY2019Q3 | us-gaap |
Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
|
11282000 | USD |
us-gaap |
Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
|
16344000 | USD | |
us-gaap |
Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
|
17153000 | USD | |
CY2020Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
23960000 | USD |
CY2019Q4 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
26772000 | USD |
CY2020Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
1215000 | USD |
CY2019Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
1579000 | USD |
CY2020Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
5197000 | USD |
CY2019Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
683000 | USD |
CY2020Q3 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
1573000 | USD |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
30654000 | USD |
CY2019Q4 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
1620000 | USD |
CY2020Q3 | us-gaap |
Inventory Net
InventoryNet
|
31945000 | USD |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
0 | USD |
CY2020Q3 | us-gaap |
Goodwill
Goodwill
|
22985000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
14002000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
2886000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
11116000 | USD |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
2510000 | USD |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
1279000 | USD |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
1231000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year
FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
|
599000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
1262000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
1262000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
1171000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
1015000 | USD |
CY2020Q3 | nwpx |
Finitelived Intangible Asset Expected Amortization After Year Four
FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour
|
5807000 | USD |
CY2020Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
11116000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
31538000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
7683000 | USD |
CY2020Q3 | nwpx |
Lease Right Of Use Asset
LeaseRightOfUseAsset
|
32424000 | USD |
CY2019Q4 | nwpx |
Lease Right Of Use Asset
LeaseRightOfUseAsset
|
8886000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability
FinanceLeaseLiability
|
1328000 | USD |
CY2019Q4 | us-gaap |
Finance Lease Liability
FinanceLeaseLiability
|
1641000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
30751000 | USD |
CY2019Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
7889000 | USD |
CY2020Q3 | nwpx |
Lease Liability
LeaseLiability
|
32079000 | USD |
CY2019Q4 | nwpx |
Lease Liability
LeaseLiability
|
9530000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Right Of Use Asset Accumulated Amortization
FinanceLeaseRightOfUseAssetAccumulatedAmortization
|
1200000 | USD |
CY2019Q4 | us-gaap |
Finance Lease Right Of Use Asset Accumulated Amortization
FinanceLeaseRightOfUseAssetAccumulatedAmortization
|
900000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
105000 | USD |
CY2019Q3 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
109000 | USD |
us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
316000 | USD | |
us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
328000 | USD | |
CY2020Q3 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
19000 | USD |
CY2019Q3 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
13000 | USD |
us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
61000 | USD | |
us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
42000 | USD | |
CY2020Q3 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
957000 | USD |
CY2019Q3 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
514000 | USD |
us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
2709000 | USD | |
us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1419000 | USD | |
CY2020Q3 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
113000 | USD |
CY2019Q3 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
383000 | USD |
us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
520000 | USD | |
us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
958000 | USD | |
CY2020Q3 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
80000 | USD |
CY2019Q3 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
33000 | USD |
us-gaap |
Variable Lease Cost
VariableLeaseCost
|
162000 | USD | |
us-gaap |
Variable Lease Cost
VariableLeaseCost
|
108000 | USD | |
CY2020Q3 | us-gaap |
Lease Cost
LeaseCost
|
1274000 | USD |
CY2019Q3 | us-gaap |
Lease Cost
LeaseCost
|
1052000 | USD |
us-gaap |
Lease Cost
LeaseCost
|
3768000 | USD | |
us-gaap |
Lease Cost
LeaseCost
|
2855000 | USD | |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Remainder Of Fiscal Year
FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
|
125000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
892000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Due Next Twelve Months
FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
|
382000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
3178000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Due Year Two
FinanceLeaseLiabilityPaymentsDueYearTwo
|
361000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
2820000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Due Year Three
FinanceLeaseLiabilityPaymentsDueYearThree
|
158000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
2561000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Due Year Four
FinanceLeaseLiabilityPaymentsDueYearFour
|
471000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
2416000 | USD |
CY2020Q3 | nwpx |
Finance Lease Liability To Be Paid After Year Four
FinanceLeaseLiabilityToBePaidAfterYearFour
|
0 | USD |
CY2020Q3 | nwpx |
Lessee Operating Lease Liability To Be Paid After Year Four
LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
|
29871000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Payments Due
FinanceLeaseLiabilityPaymentsDue
|
1497000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
41738000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Undiscounted Excess Amount
FinanceLeaseLiabilityUndiscountedExcessAmount
|
169000 | USD |
CY2020Q3 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
10987000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability
FinanceLeaseLiability
|
1328000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
30751000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
|
352000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
2303000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
|
976000 | USD |
CY2020Q3 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
28448000 | USD |
CY2020Q3 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y3M7D | |
CY2019Q4 | us-gaap |
Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
|
P3Y9M14D | |
CY2020Q3 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P18Y2M23D | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P8Y3M21D | |
CY2020Q3 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.0548 | pure |
CY2019Q4 | us-gaap |
Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
|
0.0540 | pure |
CY2020Q3 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0337 | pure |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0450 | pure |
us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
61000 | USD | |
us-gaap |
Finance Lease Interest Payment On Liability
FinanceLeaseInterestPaymentOnLiability
|
42000 | USD | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
2588000 | USD | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1396000 | USD | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
313000 | USD | |
us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
325000 | USD | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
4471000 | USD | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1238000 | USD | |
CY2020Q3 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
4801000 | USD |
CY2020Q3 | us-gaap |
Derivative Assets
DerivativeAssets
|
2000 | USD |
CY2020Q3 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
4803000 | USD |
CY2020Q3 | us-gaap |
Derivative Liabilities
DerivativeLiabilities
|
529000 | USD |
CY2019Q4 | us-gaap |
Deferred Compensation Plan Assets
DeferredCompensationPlanAssets
|
5150000 | USD |
CY2019Q4 | us-gaap |
Derivative Liabilities
DerivativeLiabilities
|
138000 | USD |
CY2020Q3 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
873000 | USD |
CY2019Q3 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
541000 | USD |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2306000 | USD | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1216000 | USD | |
CY2020Q3 | us-gaap |
Letters Of Credit Outstanding Amount
LettersOfCreditOutstandingAmount
|
1600000 | USD |
CY2020Q3 | nwpx |
Increase Decrease In Revenue From Contract With Customers Including Assessed Tax
IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax
|
900000 | USD |
nwpx |
Increase Decrease In Revenue From Contract With Customers Including Assessed Tax
IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax
|
1100000 | USD | |
CY2019Q3 | nwpx |
Increase Decrease In Revenue From Contract With Customers Including Assessed Tax
IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax
|
400000 | USD |
nwpx |
Increase Decrease In Revenue From Contract With Customers Including Assessed Tax
IncreaseDecreaseInRevenueFromContractWithCustomersIncludingAssessedTax
|
-1100000 | USD | |
CY2020Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
77632000 | USD |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
75226000 | USD |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
216526000 | USD | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
207072000 | USD | |
CY2020Q3 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
3900000 | USD |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
11200000 | USD | |
CY2019Q3 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
6500000 | USD |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
3300000 | USD | |
CY2020Q3 | us-gaap |
Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
|
143000000 | USD |
CY2020Q3 | us-gaap |
Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
|
0.41 | pure |
CY2020Q3 | us-gaap |
Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
|
0.50 | pure |
CY2020Q3 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.266 | pure |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.277 | pure | |
CY2019Q3 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.190 | pure |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.166 | pure | |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
7267000 | USD |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
10747000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
13829000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
15886000 | USD | |
CY2020Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9802000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9745000 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9782000 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9739000 | ||
CY2020Q3 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
59000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
40000 | |
us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
69000 | ||
us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
23000 | ||
CY2020Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9861000 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9785000 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9851000 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9762000 | ||
CY2020Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.74 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.10 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.41 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.63 | ||
CY2020Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.73 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.10 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.40 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.63 |