XML 30 R19.htm IDEA: XBRL DOCUMENT
v3.20.2

Note 11 - Revenue | 9 Months Ended
--- | ---
Sep. 30, 2020
Notes to Financial Statements |
Revenue from Contract with Customer [Text Block] |
11. | Revenue
The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies, as well as precast and reinforced concrete products. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not separately identifiable from other promises in the contract and, therefore, is not distinct. Revenue for water infrastructure steel pipe products is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no alternative use to the Company. Revenue is measured by the costs incurred to date relative to the estimated total direct costs to fulfill each contract (cost-to-cost method). Contract costs include all material, labor, and other direct costs incurred in satisfying the performance obligations. The cost of steel material is recognized as a contract cost when the steel is introduced into the manufacturing process. Changes in job performance, job conditions, and estimated profitability, including those arising from contract change orders, contract penalty provisions, foreign currency exchange rate movements, changes in raw materials costs, and final contract settlements may result in revisions to estimates of revenue, costs, and income, and are recognized in the period in which the revisions are determined. Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated. Revisions in contract estimates resulted in an increase (decrease) in revenue of $0.9 million and $1.1 million for the three and nine months ended September 30, 2020, respectively and $0.4 million and $(1.1) million for the three and nine months ended September 30, 2019, respectively. Revenue for water infrastructure precast concrete products is recognized at the time control is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for the products. All variable consideration that may affect the total transaction price, including contractual discounts, returns, and credits, is included in Net sales. Estimates for variable consideration are based on historical experience, anticipated performance, and management's judgment. The Company's contracts do not contain significant financing. The Company does not recognize revenue on a contract until the contract has approval and commitment from both parties, the contract rights and payment terms can be identified, the contract has commercial substance, and its collectability is probable. Disaggregation of Revenue The following table disaggregates revenue by recognition over time or at a point in time, as the Company believes it best depicts how the nature, amount, timing, and uncertainty of its revenue and cash flows are affected by economic factors (in thousands):
|  | Three Months Ended September 30, |  |  | Nine Months Ended September 30, |
|  | 2020 |  |  | 2019 |  |  | 2020 |  |  | 2019 |
Over time |  | $ | 65,077 |  |  | $ | 75,226 |  |  | $ | 183,604 |  |  | $ | 207,072 |
Point in time |  |  | 12,555 |  |  |  | - |  |  |  | 32,922 |  |  |  | - |
Net sales |  | $ | 77,632 |  |  | $ | 75,226 |  |  | $ | 216,526 |  |  | $ | 207,072 |
Contract Assets and Liabilities Contract assets primarily represent revenue earned over time but not yet billable based on the terms of the contracts. These amounts will be billed based on the terms of the contracts, which can include certain milestones, partial shipments, or completion of the contracts. Payment terms of amounts billed vary based on the customer, but are typically due within 30 days of invoicing. Contract liabilities represent advance billings on contracts, typically for steel. The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $3.9 million and $11.2 million during the three and nine months ended September 30, 2020, respectively, and $6.5 million and $3.3 million during the three and nine months ended September 30, 2019, respectively. Backlog Backlog represents the balance of remaining performance obligations under signed contracts for water infrastructure steel pipe products. As of September 30, 2020, backlog was approximately $143 million. The Company expects to recognize approximately 41% of the remaining performance obligations in 2020, 50% in 2021, and the balance thereafter.

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI http://asc.fasb.org/topic&trid=49130388 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(2) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 9 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 15 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration