XML 38 R28.htm IDEA: XBRL DOCUMENT v3.21.1
Revenue from Contracts with Customers (Tables)
3 Months Ended
Mar. 31, 2021
Revenue from Contract with Customer [Abstract]  
Summary of Disaggregation of Revenue
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended March 31, 2021:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$71,158 $90,089 $9,001 $4,654 $5,791 $180,693 
O&M revenue4,310 11,440 26 2,637 71 18,484 
Energy assets8,810 664 747 22,931 135 33,287 
Integrated-PV— — — — 9,154 9,154 
Other995 21 1,869 146 7,553 10,584 
Total revenues$85,273 $102,214 $11,643 $30,368 $22,704 $252,202 
The following table presents our revenue disaggregated by line of business and reportable segment for the three months ended March 31, 2020:
U.S. RegionsU.S. FederalCanadaNon-Solar DGAll OtherTotal
Project revenue$71,493 $56,114 $8,864 $2,371 $5,587 $144,429 
O&M revenue4,352 11,626 2,015 60 18,062 
Energy assets8,854 719 663 17,986 — 28,222 
Integrated-PV— — — — 11,469 11,469 
Other1,141 286 1,856 352 6,596 10,231 
Total revenues$85,840 $68,745 $11,392 $22,724 $23,712 $212,413 
For the three months ended March 31, 2021 and 2020, approximately 94% and 91%, respectively, of revenue is recognized over time, and the remainder is for products and services transferred at a point in time.
We attribute revenues to customers based on the location of the customer. The following table presents information related to our revenues by geographic area:
Three Months Ended March 31,
20212020
United States$234,009 $195,939 
Canada10,853 10,553 
Other7,340 5,921 
Total revenues$252,202 $212,413 
Summary of Contract with Customer, Asset and Liability
The following tables provide information about receivables, contract assets and contract liabilities from contracts with customers:
 March 31, 2021December 31, 2020
Accounts receivable, net$113,095 $125,010 
Accounts receivable retainage, net$32,071 $30,189 
Contract Assets:
Costs and estimated earnings in excess of billings $179,474 $185,960 
Contract Liabilities:
Billings in excess of cost and estimated earnings$30,211 $33,984 
Billings in excess of cost and estimated earnings, non-current (1)
6,590 6,631 
Total contract liabilities$36,801 $40,615 

March 31, 2020December 31, 2019
Accounts receivable, net$110,742 $95,863 
Accounts receivable retainage, net$21,265 $16,976 
Contract Assets:
Costs and estimated earnings in excess of billings$189,566 $202,243 
Contract Liabilities:
Billings in excess of cost and estimated earnings$25,350 $26,618 
Billings in excess of cost and estimated earnings, non-current (1)
5,320 5,560 
Total contract liabilities$30,670 $32,178 
(1) Performance obligations are expected to be completed beyond the next twelve months and are included in other liabilities in the condensed consolidated balance sheets.