XML 54 R43.htm IDEA: XBRL DOCUMENT
v3.19.2

Revenue (Narratives) (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended |
--- | --- | --- | ---
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | Dec. 31, 2018
Revenue from Contract with Customer [Abstract] |  |  |  |  |
Revenue remaining performance obligation | $ 209,324 |  | $ 209,324 |  |
Disaggregation of Revenue |  |  |  |  |
Total net sales | 200,933 | $ 172,890 | 351,402 | $ 295,344 |
Contract with customer, assets | 37,457 |  | 37,457 |  | $ 26,692
Contract with customer, liability | 2,162 |  | 2,162 |  | $ 1,505
Contract assets transferred to receivables |  |  | 19,764 |  |
Cash proceeds from liability contract |  |  | 2,016 |  |
Revenue recognized from contract liability | $ 318 | $ 339 | $ 1,266 | $ 740 |
Over time |  |  |  |  |
Disaggregation of Revenue |  |  |  |  |
Customer revenue transferred over-time (percentage) | 24.20% | 23.40% | 25.70% | 24.30% |
Total net sales | $ 48,595 | $ 40,476 | $ 90,343 | $ 71,698 |
Over time | Performance Based |  |  |  |  |
Disaggregation of Revenue |  |  |  |  |
Total net sales | 34,984 | 29,583 | 66,821 | 54,144 |
Over time | Delivery Based |  |  |  |  |
Disaggregation of Revenue |  |  |  |  |
Total net sales | $ 13,611 | $ 10,893 | $ 23,522 | $ 17,554 |
Point in time |  |  |  |  |
Disaggregation of Revenue |  |  |  |  |
Customer revenue transferred over-time (percentage) | 75.80% | 76.60% | 74.30% | 75.70% |
Total net sales | $ 152,338 | $ 132,414 | $ 261,059 | $ 223,646 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-07-01 |  |  |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction |  |  |  |  |
Revenue remaining performance obligation (percentage) | 11.20% |  | 11.20% |  |
Performance obligations expected to be satisfied, expected timing | 12 months |  | 12 months |  |

X
- References No definition available. + Details
Name: | fstr_ContractwithCustomerLiabilityIncreasefromCashReceipts
Namespace Prefix: | fstr_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | fstr_RevenueFromContractWithCustomerPercentage
Namespace Prefix: | fstr_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=82913815&loc=SL49130531-203044 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 3 -URI http://asc.fasb.org/extlink&oid=82913815&loc=SL49130533-203044 + Details
Name: | us-gaap_ContractWithCustomerAssetNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130551-203045 + Details
Name: | us-gaap_ContractWithCustomerAssetReclassifiedToReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=82913815&loc=SL49130531-203044 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=82913815&loc=SL49130532-203044 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiability
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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

X
- Definition Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 5 -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fstr_RevenueRecognitionBasisAxis=fstr_PerformanceBasedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | fstr_RevenueRecognitionBasisAxis=fstr_DeliveryBasedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2019-07-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |