XML 94 R80.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Customer Concentrations (Details) $ in Thousands | 3 Months Ended | 12 Months Ended
--- | --- | ---
Dec. 31, 2018 USD ($) | Sep. 30, 2018 USD ($) | Jun. 30, 2018 USD ($) | Mar. 31, 2018 USD ($) | Dec. 31, 2017 USD ($) | Sep. 30, 2017 USD ($) | Jun. 30, 2017 USD ($) | Mar. 31, 2017 USD ($) | Dec. 31, 2018 USD ($) customer item | Dec. 31, 2017 USD ($) customer | Dec. 31, 2016 USD ($)
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount | $ 877,670 | $ 908,902 | $ 648,787 | $ 504,119 | $ 579,017 | $ 608,311 | $ 631,165 | $ 561,502 | $ 2,939,478 | $ 2,379,995 | $ 1,996,948
Unbilled revenue | 249,577 |  |  |  | $ 160,092 |  |  |  | 249,577 | 160,092 |
Utilities |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | 902,772 | 806,523 | 637,212
Civil |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | 464,972 | 501,777 | 479,152
Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | 590,937 | 465,570 | 401,931
Power |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | 694,048 | 606,125 | 478,653
Utility Company under Chapter 11 |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Unbilled revenue | $ 36,000 |  |  |  |  |  |  |  | 36,000 |  |
Revenues | Customer concentration |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 1,038,378 | $ 912,725 | $ 910,007
Percentage |  |  |  |  |  |  |  |  | 35.30% | 38.40% | 45.60%
Revenues | Customer concentration | Public gas and electric utility | Utilities/Power |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 250,286 | $ 210,747 | $ 184,002
Percentage |  |  |  |  |  |  |  |  | 8.50% | 8.90% | 9.20%
Revenues | Customer concentration | Private gas and electric utility | Utilities |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 232,162 | $ 190,659 | $ 201,443
Percentage |  |  |  |  |  |  |  |  | 7.90% | 8.00% | 10.10%
Revenues | Customer concentration | State DOT | Civil |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 202,452 | $ 222,142 | $ 193,049
Percentage |  |  |  |  |  |  |  |  | 6.90% | 9.30% | 9.70%
Revenues | Customer concentration | Pipeline Operator | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 198,198 |  |
Percentage |  |  |  |  |  |  |  |  | 6.70% |  |
Revenues | Customer concentration | Pipeline Operator | Maximum | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  |  | 5.00% | 5.00%
Revenues | Customer concentration | Pipeline Operator | Pipeline/Power |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  | $ 155,280 |  |
Percentage |  |  |  |  |  |  |  |  | 5.30% |  | 5.00%
Revenues | Customer concentration | Pipeline Operator | Maximum | Pipeline/Power |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  |  | 5.00% |
Revenues | Customer concentration | Chemical/Energy Producer | Power/Civil |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  |  | $ 160,995 | $ 208,458
Percentage |  |  |  |  |  |  |  |  |  | 6.80% | 10.40%
Revenues | Customer concentration | Chemical/Energy Producer | Maximum | Power/Civil |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 5.00% |  |
Revenues | Customer concentration | Pipeline Operator | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  |  | $ 128,182 |
Revenues | Customer concentration | Pipeline Operator | Maximum | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 5.00% | 5.40% | 5.00%
Revenues | Customer concentration | Pipeline Operator | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Amount |  |  |  |  |  |  |  |  |  |  | $ 123,055
Percentage |  |  |  |  |  |  |  |  |  |  | 6.20%
Revenues | Customer concentration | Pipeline Operator | Maximum | Pipeline |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 5.00% | 5.00% |
Revenues | Customer concentration | Utility Company under Chapter 11 |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 8.50% |  |
Revenues | Customer concentration | Top ten customers |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 52.20% | 56.40% | 60.40%
Number of top customers | customer |  |  |  |  |  |  |  |  | 10 |  |
Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item |  |  |  |  |  |  |  |  | 1 |  |
Minimum percentage of revenues generated by top ten customers |  |  |  |  |  |  |  |  | 50.00% |  |
Revenues | Customer concentration | One customer |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 5.30% | 8.90% |
Accounts receivable | Customer concentration | Utility Company under Chapter 11 |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 1.90% |  |
Accounts receivable | Customer concentration | One customer |  |  |  |  |  |  |  |  |  |  |
Customer concentrations |  |  |  |  |  |  |  |  |  |  |
Percentage |  |  |  |  |  |  |  |  | 9.30% | 4.30% |
Number of customers | customer |  |  |  |  |  |  |  |  | 1 | 1 |

X
- Definition Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year. + References No definition available. + Details
Name: | prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers
Namespace Prefix: | prim_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfCustomers
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Represents the number of top customers who typically generate revenue in excess of a specified percentage of total revenues for the entity and consist of a different group of customers in each year. + References No definition available. + Details
Name: | prim_ConcentrationRiskNumberOfTopCustomers
Namespace Prefix: | prim_
Data Type: | xbrli:integerItemType
Balance Type: | na
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_ConcentrationRiskLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 18 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=109250915&loc=d3e13531-108611 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 825 -SubTopic 10 -Section 50 -Paragraph 21 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109250915&loc=d3e13537-108611 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 275 -SubTopic 10 -Section 50 -Paragraph 20 -URI http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592 + Details
Name: | us-gaap_ConcentrationRiskPercentage1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, excluding 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 4 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045 Reference 2: 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 3: 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 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer. + References No definition available. + Details
Name: | us-gaap_UnbilledReceivablesCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_UAndDSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_CivilSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_PAndUSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_PIAndESegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_UtilityCompanyUnderChapterElevenMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueServicesNetMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_GasAndElectricUtilityOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_UtilitiesAndPowerSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_GasAndElectricUtilityTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_TexasDOTMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_PipelineOperatorEnterpriseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_PipelineOperatorBridgeTexMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_PipelineAndPowerSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_ChemicalOrEnergyProducerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=prim_PowerAndCivilSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_PipelineOperatorNumberThreeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_PipelineOperatorNumberFourMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_TopTenCustomersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=prim_OneCustomerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |