|12 Months Ended|
Dec. 31, 2021
|Revenue From Contract With Customer [Abstract]|
The Company primarily derives its revenue from selling robotic fulfillment and material handling systems, which consist of a network of automated machinery installed at the customer location and configured to meet specified performance requirements, such as accuracy, throughput, and up-time. Revenue is recognized when control of the promised products is transferred to the customer, or when services are satisfied under the contract, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those products or services (the transaction price). Revenue is recognized only to the extent that it is probable that a significant reversal of revenue will not occur. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from revenue.
The Company’s contracts typically have multiple performance obligations that may include system delivery, installation, testing, and training. Judgment is required to determine whether performance obligations specified in these contracts are distinct and should be accounted for as separate revenue transactions for recognition purposes. The Company also provides assurance-based warranties that are not considered a distinct 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. The Company generally uses a cost-plus margin approach to determine the stand-alone selling price for separate performance obligations.
Each customer contract is evaluated individually to determine the appropriate pattern of revenue recognition. Contracts that are recognized over time meet the criteria that the Company is creating or enhancing an asset that the customer controls. The system is delivered to the customer and control is transferred, after which point the Company performs installation and implementation services to fully integrate the system at the customer’s location. As such, revenue recognition begins upon
delivery, continues throughout the installation and implementation period, and concludes upon customer acceptance. Revenue from customer contracts is generally expected to be recognized over a period of three to six months. There historically have been, and potentially will be in the future, customer contracts that contain obligations and timelines that result in revenue being recognized over extended periods, which may include periods greater than 12 months. The Company typically uses total estimated labor hours as the input to measure progress as labor hours represent work performed, which corresponds with, and thereby depicts, the transfer of control to the customer. Installation and training services are evaluated together with the delivery of robotic fulfillment or material handling systems as a singular performance obligation. Provisions for losses on uncompleted contracts are made in the period in which such losses are determined to be probable and the amount can be reasonably estimated. The loss is computed on the basis of the total estimated costs to complete the contract, including the contract costs incurred to date plus the estimated cost to complete. As of December 31, 2021, it was estimated that the gross loss on current contracts would be $12.1 million, which is included in cost of revenue. The Company recorded $8.5 million as a provision for the remaining losses on contracts which is included within contract liabilities.
The Company determined that the revenue of one of its robotic fulfillment system contracts should be recognized at a point in time as the contract did not meet any of the three criteria to recognize revenue over time as defined in ASC 606-10-25-27 due to the terms within the contract. Obligations under this contract were fulfilled in March 2020 and the Company determined no similar contracts exist as of December 31, 2021 or December 31, 2020.
Other performance obligations recognized at a point in time include the sale and delivery of spare parts and pilot agreements. Pilot agreements are typically short-term contracts designed to demonstrate the Company’s technology and ability to serve the customer. Due to the exploratory nature of pilot agreements, revenue is recognized at a point in time once the evaluation activities are complete.
Other performance obligations recognized over time include, but are not limited to, maintenance, extended support, and research services, which are recognized ratably on a straight-line-basis as the Company assumes an even distribution of performance over the service period.
Shipping and handling activities that occur after control of a product has transferred to the customer are accounted for as fulfillment activities rather than performance obligations, as allowed under a practical expedient provided by ASC 606. Shipping and handling fees charged to customers are recognized as revenue and the related costs are included in cost of revenue at the point in time when ownership of the product is transferred to the customer.
Incremental costs of obtaining a contract with a customer and other costs to fulfill a contract are required to be capitalized unless the Company elects to expense contract costs with periods less than a year. The Company has elected to expense these costs of obtaining a contract as incurred when the related contract period is less than one year. The Company does not pay upfront sales commissions on contracts when the related contract period is greater than one year, thus has not capitalized any amounts as of December 31, 2021.
The following table disaggregates revenue by timing of transfer of goods or services:
Payment terms offered to customers are defined in contracts and do not include a significant financing component. Payment milestones typically exist throughout the course of a contract and generally occur upon signing of an agreement, delivery of a system, start and completion of installation and testing, and upon acceptance of the system. The nature of the Company’s contracts may give rise to variable consideration, typically related to fees charged for shipping and handling. The Company generally estimates such variable consideration at the most likely amount. In addition, the Company includes the estimated variable consideration in the transaction price to the extent that it is probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the related uncertainty is resolved. Provisions for contract losses are recorded as liabilities when it becomes evident that a liability has occurred and the amount of the loss is reasonably estimable. These estimates are based on historical experience and the Company’s best judgment at the time. To the extent there is certainty in estimating these amounts, they are included in the transaction price of the Company’s contracts and the associated remaining performance obligations. Contract losses are reported as cost of revenue during the period in which the loss becomes evident. The Company does not disclose the value of unsatisfied performance obligations for contracts with an original expected duration of one year or less.
Contracts may be modified to account for changes in contract specifications and requirements. Contract modifications 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 contract due to the significant integration service provided in the context of the contract and are accounted for as if they were part of that existing contract. The effects of a contract modification on the transaction price, and the measure of progress for the performance obligation to which it relates, are recognized as an adjustment to revenue on a cumulative catch-up basis.
Deferred Fulfillment Costs and Contract Balances
As of December 31, 2021 and 2020, the Company incurred $7.7 million and $3.5 million of net deferred fulfillment costs, respectively.
Changes in the contract liability balance during the year ended December 31, 2021, were due to the Company receiving additional advanced cash payments from customer contracts and the Company recognizing revenue as performance obligations were met. The following table summarizes changes in contract liabilities during the year ended December 31, 2021:
Contract assets were $4.3 million as of December 31, 2021 and are included in other current assets within the consolidated balance sheets. There were no significant contract asset balances as of December 31, 2020.
No definition available.
The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.
Reference 1: http://www.xbrl.org/2003/role/disclosureRef