XML 61 R26.htm IDEA: XBRL DOCUMENT
v3.20.1

Note 5 - Revenue Recognition (Tables) | 12 Months Ended
--- | ---
Jan. 31, 2020
Notes Tables |
Disaggregation of Revenue [Table Text Block] |
|  | 2019 |  |  | 2018 |
|  | Sales |  |  | % to Total |  |  | Sales |  |  | % to Total |
Products |  | $ | 15,991 |  |  |  | 12 | % |  | $ | 13,576 |  |  |  | 11 | %
Specialty Piping Systems and Coating |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Revenue recognized under input method |  |  | 48,415 |  |  |  | 38 | % |  |  | 40,525 |  |  |  | 31 | %
Revenue recognized under output method |  |  | 63,257 |  |  |  | 50 | % |  |  | 74,864 |  |  |  | 58 | %
Total |  | $ | 127,663 |  |  |  | 100 | % |  | $ | 128,965 |  |  |  | 100 | %
Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] |
|  | Contract Assets |
Balance January 31, 2018 |  | $ | 1,502 |
Costs and gross profit recognized during the period for uncompleted contracts from the prior period |  |  | (6,458 | )
Costs and deferred gross profit incurred on uncompleted contracts not billed at the end of the current period |  |  | 6,609 |
Balance January 31, 2019 |  | $ | 1,653 |
Costs and gross profit recognized during the period for uncompleted contracts from the prior period |  |  | (6,697 | )
Costs and deferred gross profit incurred on uncompleted contracts not billed at the end of the current period |  |  | 7,210 |
Closing Balance at January 31, 2020 |  | $ | 2,166 |
|  | Contract Liabilities |
Balance January 31, 2018 |  | $ | 1,967 |
Revenue recognized during the period for uncompleted contracts from the prior period |  |  | (3,222 | )
New contracts entered into that are uncompleted at the end of the current period |  |  | 2,824 |
Balance January 31, 2019 |  | $ | 1,569 |
Revenue recognized during the period for uncompleted contracts from the prior period |  |  | (3,276 | )
New contracts entered into that are uncompleted at the end of the current period |  |  | 2,880 |
Closing Balance at January 31, 2020 |  | $ | 1,173 |
Schedule of Assumptions for Long-Duration Contracts by Product and Guarantee [Table Text Block] |
(In thousands) |  | 2019 |  |  | 2018 |
Costs incurred on uncompleted contracts |  | $ | 15,553 |  |  | $ | 12,348 |
Estimated earnings |  |  | 8,641 |  |  |  | 7,430 |
Earned revenue |  |  | 24,194 |  |  |  | 19,778 |
Less billings to date |  |  | 23,201 |  |  |  | 19,694 |
Costs in excess of billings, net |  | $ | 993 |  |  | $ | 84 |
Balance sheet classification |  |  |  |  |  |  |  |
Contract assets: Costs and estimated earnings in excess of billings on uncompleted contracts |  | $ | 2,166 |  |  | $ | 1,653 |
Contract liabilities: Billings in excess of costs and estimated earnings on uncompleted contracts |  |  | (1,173 | ) |  |  | (1,569 | )
Costs in excess of billings, net |  | $ | 993 |  |  | $ | 84 |

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -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 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the underlying assumptions and percentages or rates used in determining the fair value of guarantee obligations for each type of long-duration contract. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 80 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=121641442&loc=d3e19393-158473 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 40 -Section 50 -Paragraph 8 -URI http://asc.fasb.org/extlink&oid=121643868&loc=d3e14944-158439 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 40 -Section 50 -Paragraph 6 -URI http://asc.fasb.org/extlink&oid=121643868&loc=d3e14931-158439 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 40 -Section 50 -Paragraph 7 -URI http://asc.fasb.org/extlink&oid=121643868&loc=d3e14937-158439 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 30 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=121638524&loc=d3e11318-158416 Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 20 -Section 55 -Paragraph 15 -URI http://asc.fasb.org/extlink&oid=121639652&loc=d3e7104-158389 + Details
Name: | us-gaap_ScheduleOfAssumptionsForLongDurationContractsByProductAndGuaranteeTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

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