XML 38 R28.htm IDEA: XBRL DOCUMENT
v3.22.1

Revenue (Tables) | 3 Months Ended
--- | ---
Mar. 31, 2022
Revenue |
Schedule of contract assets | Contract assets consist of the following (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | March 31, | ​ | December 31,
​ |  | 2022 |  | 2021
Unbilled revenue | ​ | $ | 317,880 | ​ | $ | 283,767
Retention receivable | ​ | ​ | 134,189 | ​ | ​ | 124,990
Contract materials (not yet installed) | ​ |  | 17,849 | ​ |  | 14,902
​ | ​ | $ | 469,918 | ​ | $ | 423,659
Schedule of contract liabilities | Contract liabilities consist of the following (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | March 31, | ​ | December 31,
​ |  | 2022 |  | 2021
Deferred revenue | ​ | $ | 281,826 | ​ | $ | 234,352
Accrued loss provision | ​ |  | 10,595 | ​ |  | 6,060
​ | ​ | $ | 292,421 | ​ | $ | 240,412
Schedule of revenue disaggregation by various categories | The following tables present our revenue disaggregated into various categories. ​ MSA and Non-MSA revenue was as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the three months ended March 31, 2022
Segment |  | MSA |  | Non-MSA |  | Total
Utilities | ​ | $ | 290,366 | ​ | $ | 68,362 | ​ | $ | 358,728
Energy/Renewables | ​ | ​ | 45,234 | ​ | ​ | 313,816 | ​ | ​ | 359,050
Pipeline | ​ |  | 13,695 | ​ | ​ | 52,911 | ​ | ​ | 66,606
Total | ​ | $ | 349,295 |  | $ | 435,089 |  | $ | 784,384
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the three months ended March 31, 2021
Segment | ​ | MSA |  | Non-MSA |  | Total
Utilities | ​ | $ | 277,967 |  | $ | 57,045 |  |  | 335,012
Energy/Renewables | ​ | ​ | 42,586 | ​ | ​ | 310,278 | ​ | ​ | 352,864
Pipeline | ​ |  | 17,710 |  |  | 112,743 | ​ |  | 130,453
Total | ​ | $ | 338,263 |  | $ | 480,066 |  | $ | 818,329
​ Revenue by contract type was as follows (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the three months ended March 31, 2022
Segment | ​ | Fixed-price | ​ | Unit-price | ​ | Cost reimbursable (1) | ​ | Total
Utilities | ​ | $ | 31,517 | ​ | $ | 242,309 | ​ | $ | 84,902 | ​ | $ | 358,728
Energy/Renewables | ​ | ​ | 219,021 | ​ | ​ | 82,572 | ​ | ​ | 57,457 | ​ | ​ | 359,050
Pipeline | ​ |  | 55,152 | ​ | ​ | 665 | ​ | ​ | 10,789 | ​ | ​ | 66,606
Total | ​ | $ | 305,690 |  | $ | 325,546 |  | $ | 153,148 |  | $ | 784,384
(1) | Includes time and material and cost reimbursable plus fee contracts.
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | For the three months ended March 31, 2021
Segment | ​ | Fixed-price |  | Unit-price |  | Cost reimbursable (1) |  | Total
Utilities | ​ | $ | 27,516 |  | $ | 229,743 |  | $ | 77,753 |  | $ | 335,012
Energy/Renewables | ​ | ​ | 188,234 | ​ | ​ | 78,743 | ​ | ​ | 85,887 | ​ | ​ | 352,864
Pipeline | ​ |  | 113,157 |  |  | 665 |  |  | 16,631 |  |  | 130,453
Total | ​ | $ | 328,907 |  | $ | 309,151 |  | $ | 180,271 |  | $ | 818,329
(1)Includes time and material and cost reimbursable plus fee contracts.

X
- Definition Tabular disclosure of contract assets balances and changes in contract assets balances. + References No definition available. + Details
Name: | prim_ContractWithCustomerAssetTableTextBlock
Namespace Prefix: | prim_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of contract liabilities balances and changes in contract liabilities balances. + References No definition available. + Details
Name: | prim_ContractWithCustomerLiabilityTableTextBlock
Namespace Prefix: | prim_
Data Type: | dtr-types: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=123351226&loc=SL49130545-203045 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
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