Quarterly report pursuant to Section 13 or 15(d)

Revenue - Additional Information (Details)

v3.19.3
Revenue - Additional Information (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2019
USD ($)
Sep. 30, 2019
USD ($)
Revenue Recognition [Abstract]    
Payment term on product sales   30 days
Payment term on installation services   30 days
Payment term on contractually determined milestones   30 days
Payment term on energy production contract invoices   30 days
Revenue recognized that was in unbilled revenue at beginning of period $ 3,000  
Revenue billed this period that had been recognized in previous periods 2,300  
Deferred revenue recognized 2,200  
Cash payments received in advance of satisfying performance obligations 230  
Remaining performance obligations $ 25,100 $ 25,100
Performance obligation revenue expected to be recognized over the next 24 months (percent) 94.00% 94.00%
Performance obligation revenue to be recognized in first 12 months (percent) 41.00% 41.00%
Performance obligation revenue to be recognized over the subsequent 12 months (percent) 53.00% 53.00%