Revenue Recognition Revenue is recognized upon the transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We apply the following five-step approach in determining the amount and timing of revenue to be recognized: (i) identifying the contract with a customer, (ii) identifying the performance obligations in the contract, (iii) determining the transaction price, (iv) allocating the transaction price to the performance obligations in the contract and (v) recognizing revenue when the performance obligation is satisfied. On occasion we enter into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. Revenue is recognized net of (i) any taxes collected from customers, which are subsequently remitted to governmental authorities and (ii) shipping and handling costs collected from customers. Product Shipments Most of our product revenue is recognized as a distinct single performance obligation when products are tendered to a carrier for delivery, which represents the point in time that our customer obtains control of the promised products. A smaller portion of our product revenue is recognized when our customer receives delivery of the promised products. A significant portion of our products are sold to distributors under agreements which contain (i) limited rights to return unsold products and (ii) price adjustment provisions, both of which are accounted for as variable consideration when estimating the amount of revenue to recognize. We base our estimates for returns and price adjustments primarily on historical experience; however, we also consider contractual allowances, approved pricing adjustments and other known or anticipated returns and price adjustments in a given period. Such estimates are generally made at the time of shipment to the customer and updated at the end of each reporting period as additional information becomes available and only to the extent that it is probable that a significant reversal of any incremental revenue will not occur. Our estimates of accrued variable consideration are included in other current liabilities in the accompanying consolidated balance sheet at June 30, 2019. Services and Multiple Performance Obligations Revenues from our extended warranty and services are generally recognized ratably over the applicable service period. We expect revenues from future sales of our software-as-a-service (SaaS) products to be recognized ratably over the applicable service period as well. Revenues from professional engineering services are generally recognized as services are performed. From time to time, we may enter into contracts with customers that include promises to transfer multiple deliverables that may include sales of products, professional engineering services and other product qualification or certification services. Determining whether the deliverables in such arrangements are considered distinct performance obligations that should be accounted for separately versus together often requires judgment. We consider performance obligations to be distinct when the customer can benefit from the promised good or service on its own or by combining it with other resources readily available and when the promised good or service is separately identifiable from other promised goods or services in the contract. In such arrangements, we allocate revenue on a relative standalone selling price basis by maximizing the use of observable inputs to determine the standalone selling price for each performance obligation.