XML 36 R44.htm IDEA: XBRL DOCUMENT
v3.20.1

Revenue from Contracts with Customers - Additional Information (Details) - USD ($) | 3 Months Ended | 12 Months Ended
--- | --- | ---
Mar. 31, 2020 | Mar. 31, 2019 | Dec. 31, 2019
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |
Percentage of revenue recognized over time | 91.00% |  | 89.00%
Contract with customer, liability, noncurrent | $ 5,320,000 |  | $ 5,560,000
Contract with customer, asset, reclassified to receivable | 152,612,000 | $ 90,895,000 |
Contract with customer, asset, revenue recognized | 137,596,000 | 90,344,000 |
Contract with customer, liability, revenue recognized | 19,552,000 | 24,095,000 |
Contract with customer, liability, billings | 15,651,000 | 18,929,000 |
Revenue, remaining performance obligation | $ 2,181,643,000 |  |
Revenue, remaining performance obligation, percentage | 26.00% |  |
Capitalized contract cost, gross | $ 1,735,000 |  | 1,735,000
Capitalized project development costs, noncurrent | 697,000 |  | 217,000
Capitalized contract cost, project development costs | 1,635,000 |  | $ 2,777,000
Capitalized contract cost, impairment loss | $ 0 | $ 0 |
Minimum |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |
Contract receivable retainage percentage | 5.00% |  |
Maximum |  |  |
Revenue, Initial Application Period Cumulative Effect Transition [Line Items] |  |  |
Contract receivable retainage percentage | 10.00% |  |

X
- Definition Capitalized Contract Cost, Project Development Costs + References No definition available. + Details
Name: | amrc_CapitalizedContractCostProjectDevelopmentCosts
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Capitalized Project Development Costs, Noncurrent + References No definition available. + Details
Name: | amrc_CapitalizedProjectDevelopmentCostsNoncurrent
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Contract Receivable Retainage Percentage + References No definition available. + Details
Name: | amrc_ContractReceivableRetainagePercentage
Namespace Prefix: | amrc_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Contract With Customer, Asset, Revenue Recognized + References No definition available. + Details
Name: | amrc_ContractWithCustomerAssetRevenueRecognized
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Contract With Customer, Liability, Billings + References No definition available. + Details
Name: | amrc_ContractWithCustomerLiabilityBillings
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Revenues, Percentage Of Revenue Recognized Over Time + References No definition available. + Details
Name: | amrc_RevenuesPercentageOfRevenueRecognizedOverTime
Namespace Prefix: | amrc_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=118956577&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, classified as noncurrent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045 + Details
Name: | us-gaap_ContractWithCustomerLiabilityNoncurrent
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://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 8 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=118956577&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_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
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=118956577&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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=118956577&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: | srt_RangeAxis=srt_MinimumMember
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: |