Revenue from Contracts with Customers |
3 Months Ended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mar. 31, 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Revenue from Contract with Customer [Abstract] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Revenue from Contracts with Customers |
REVENUE FROM CONTRACTS WITH CUSTOMERS
Disaggregation of Revenue
The following table provides information about disaggregated revenue by line of business, reportable segments, and geographical region for the three months ended March 31, 2019 and 2018.
Contract Balances
The following table provides information about receivables, contract assets and contract liabilities from contracts with customers:
Accounts receivable retainage represents amounts due from customers, but where payments are withheld contractually until certain construction milestones are met. Amounts retained typically range from 5% to 10% of the total invoice. The Company classifies as a current asset those retainages that are expected to be billed in the next twelve months. Unbilled revenue, presented as costs and estimated earnings in excess of billings, represent amounts earned and billable that were not invoiced at the end of the fiscal period.
Contract assets represent the Company’s rights to consideration in exchange for services transferred to a customer that have not been billed as of the reporting date. The Company’s rights to consideration are generally unconditional at the time its performance obligations are satisfied.
At the inception of a contract, the Company expects the period between when it satisfies its performance obligations, and when the customer pays for the services, will be one year or less. As such, the Company has elected to apply the practical expedient which allows the Company to not adjust the promised amount of consideration for the effects of a significant financing component, when a financing component is present.
When the Company receives consideration, or such consideration is unconditionally due, from a customer prior to transferring goods or services to the customer under the terms of a sales contract, the Company records deferred revenue, which represents a contract liability. Such deferred revenue typically results from billings in excess of costs incurred and advance payments received on project contracts. As of March 31, 2019, the Company classified $6,129 as a non-current liability, included in other liabilities on the condensed consolidated balance sheets, for those performance obligations expected to be completed beyond the next twelve months.
The increase in contract assets for the three months ended March 31, 2019 was primarily due to revenue recognized of approximately $90,344, offset in part by billings of approximately $90,895. The increase in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, exceeding reductions from recognition of revenue as performance obligations were satisfied. For the three months ended March 31, 2019, the Company recognized revenue of $24,095, and billed customers $18,929, that was previously included in the beginning balance of contract liabilities. Changes in contract liabilities are also driven by reclassifications to or from contract assets as a result of timing of customer payments.
The decrease in contract assets for the three months ended March 31, 2018 was primarily due to billings of approximately $120,072, offset in part by revenue recognized of $87,440. The change in contract liabilities was primarily driven by the receipt of advance payments from customers, and related billings, exceeding reductions from recognition of revenue as performance obligations were satisfied. For the quarter ended March 31, 2018, the Company recognized revenue of $17,843, and billed customers $16,678, that was previously included in the beginning balance of contract liabilities. Changes in contract liabilities are also driven by reclassifications to or from contract assets as a result of timing of customer payments.
Contracts are often modified for a change in scope or other requirements. The Company considers contract modifications to exist when the modification either creates new or changes the existing enforceable rights and obligations. Most of the Company’s contract modifications are for goods or services that are not distinct from the existing performance obligations. The effect of a contract modification on the transaction price, and the measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue (either as an increase or decrease) on a cumulative catchup basis.
Performance obligations
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. Performance obligations are satisfied as of a point in time or over time and are supported by contracts with customers. For most of the Company’s contracts, there are multiple promises of goods or services. Typically, the Company provides a significant service of integrating a complex set of tasks and components such as design, engineering, construction management, and equipment procurement for a project contract. The bundle of goods and services are provided to deliver one output for which the customer has contracted. In these cases, the Company considers the bundle of goods and services to be a single performance obligation. The Company may also promise to provide distinct goods or services within a contract, such as a project contract for installation of energy conservation measures and post-installation O&M services. In these cases the Company separates the contract into more than one performance obligation. If a contract is separated into more than one performance obligation, the Company allocates the total transaction price to each performance obligation in an amount based on the estimated relative standalone selling prices of the promised goods or services underlying each performance obligation.
Backlog - The Company’s remaining performance obligations (hereafter referred to as “backlog”) represent the unrecognized revenue value of the Company’s contract commitments. The Company’s backlog may vary significantly each reporting period based on the timing of major new contract commitments and the backlog may fluctuate with currency movements. In addition, our customers have the right, under some circumstances, to terminate contracts or defer the timing of the Company’s services and their payments to us. At March 31, 2019, the Company had backlog of approximately $1,674,600. Approximately 27% of our March 31, 2019 backlog is anticipated to be recognized as revenue in the next twelve months and the remaining, thereafter.
The Company has applied the practical expedient for certain revenue streams to exclude the value of remaining performance obligations for (i) contracts with an original expected term of one year or less or (ii) contracts for which the Company recognizes revenue in proportion to the amount it has the right to invoice for services performed.
Contract acquisition costs:
The Company accounts for certain acquisition cost over the life of the contract, consisting primarily of commissions when paid. Commission costs are incurred commencing at contract signing. Commission costs are allocated across all performance obligations and deferred and amortized over the contract term on a progress towards completion basis.
For contracts that have a duration of less than one year, the Company follows a practical expedient and expenses these costs when incurred. During the three months ended March 31, 2019 and 2018, the amortization of commission costs related to contracts were not material and have been included in the accompanying condensed consolidated statements of income.
As discussed in Note 2, the Company capitalizes costs incurred related to the development of projects prior to contract signing as it is partial fulfillment of its performance obligations. During the three months ended March 31, 2019 and 2018, $2,777 and $2,440, respectively, of project development costs were recognized in the condensed consolidated statements of income on projects that converted to customer contracts.
No impairment charges in connection with the Company’s commission costs or project development costs were recorded during the periods ended March 31, 2019 and 2018.
|