XML 65 R52.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Summary of Significant Accounting Policies - Accounts Receivable (Details) - USD ($) | 3 Months Ended | 12 Months Ended
--- | --- | ---
Mar. 31, 2016 | Dec. 31, 2018 | Dec. 31, 2017 | Dec. 31, 2016
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Allowance for doubtful accounts, beginning of period | $ 3,729,000 | $ 3,315,000 | $ 7,836,000 | $ 3,729,000
Charges to costs and expenses |  | 610,000 | 81,000 | 4,332,000
Account write-offs and other |  | (1,160,000) | (4,602,000) | (225,000)
Allowance for doubtful accounts, end of period |  | 2,765,000 | 3,315,000 | 7,836,000
Accounts receivable retainage reserve |  | $ 0 | $ 0 |
Minimum |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Accounts receivable retainage |  | 5.00% |  |
Maximum |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Accounts receivable retainage |  | 10.00% |  |
Operating Segments | Canada |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Interest and debt expense |  |  |  | 1,934,000
Accounts receivable |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Allowance for doubtful accounts receivable, period increase |  |  |  | 2,394,000
Interest and debt expense |  |  |  | 1,655,000
Costs in Excess of Billings |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Allowance for doubtful accounts receivable, period increase | 476,000 |  |  |
Construction in Progress, Gross |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Allowance for doubtful accounts receivable, period increase | $ 325,000 |  |  |
Contract Receivable Retainage |  |  |  |
Allowance for Doubtful Accounts Receivable [Roll Forward] |  |  |  |
Interest and debt expense |  |  |  | $ 279,000

X
- Definition Accounts Receivable Retainage + References No definition available. + Details
Name: | amrc_AccountsReceivableRetainage
Namespace Prefix: | amrc_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Allowance for Doubtful Accounts Receivable, Charge-offs and Other + References No definition available. + Details
Name: | amrc_AllowanceForDoubtfulAccountsReceivableChargeOffsAndOther
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Contracts Receivable Retainage Allowances and Reserves + References No definition available. + Details
Name: | amrc_ContractsReceivableRetainageAllowancesandReserves
Namespace Prefix: | amrc_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition For an unclassified balance sheet, a valuation allowance for receivables due a company that are expected to be uncollectible. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=84173941&loc=d3e5074-111524 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.4) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivable
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of increase (decrease) in the allowance for doubtful accounts. + References No definition available. + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period. + References No definition available. + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Interest and debt related expenses associated with nonoperating financing activities of the entity. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 835 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391 + Details
Name: | us-gaap_InterestAndDebtExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of expense related to write-down of receivables to the amount expected to be collected. Includes, but is not limited to, accounts receivable and notes receivable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.5) -URI http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 45 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=82913815&loc=SL49130534-203044 + Details
Name: | us-gaap_ProvisionForDoubtfulAccounts
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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: |

X
- Details
Name: | srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=amrc_ContractwithCustomerAssetNetCurrentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=amrc_ConstructioninProgressGrossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=amrc_ContractReceivableRetainageMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |