Revenue | 2. REVENUE Nature of Products and Services Information technology (“IT”) products typically represent a distinct performance obligation, and revenue is recognized at the point in time when control is transferred to the customer which is generally upon delivery to the customer. The Company recognizes revenue as the principal in the transaction with the customer (i.e., on a gross basis), as it controls the product prior to delivery to the customer and derive the economic benefits from the sales transaction given the Company’s control over customer pricing. The Company does not recognize revenue for goods that remain in its physical possession before the customer has the ability to direct the use of, and obtain substantially all of the remaining benefits from the products, the goods are ready for physical transfer to and identified as belonging to the customer, and when the Company has no ability to use the product or to direct it to another customer. Licenses for on-premise software provide the customer with a right to take possession of the software. Customers may purchase perpetual licenses or enter into subscriptions to the licensed software. The Company is the principal in these transactions and recognizes revenue for the on-premise license at the point in time when the software is made available to the customer and the commencement of the term of the software license or when the renewal term begins, as applicable. For certain on-premise licenses for security software, the customer derives substantially all of the benefit from these arrangements through the third-party delivered software maintenance, which provides software updates and other support services. The Company does not have control over the delivery of these performance obligations, and accordingly the Company is the agent in these transactions. The Company recognizes revenue for security software net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangement. Cloud products allow customers to use hosted software over the contractual period without taking possession of the software and are provided on a subscription basis. The Company does not exercise control over these products or services and therefore is an agent in these transactions. The Company recognizes revenue for cloud products net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangements. Certain software sales include on-premise licenses that are combined with software maintenance. Software maintenance conveys rights to updates, bug fixes and help desk support, and other support services transferred over the underlying contract period. On-premise licenses are considered distinct performance obligations when sold with the software maintenance, as the Company sells these items separately. The Company recognizes revenue related to the software maintenance as the agent in these transactions because it does not have control over the on-going software maintenance service. Revenue allocated to software maintenance is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangements. Certain of the Company’s larger customers are offered the opportunity by vendors to purchase software licenses and maintenance under enterprise agreements (“EAs”). Under EAs, customers are considered to be compliant with applicable license requirements for the ensuing year, regardless of changes to their employee base. Customers are charged an annual true-up fee for changes in the number of users over the year. With most EAs, the Company’s vendors will transfer the license and bill the customer directly, paying resellers, such as the Company, an agency fee or commission on these sales. The Company records these agency fees as a component of net sales as earned and there is no corresponding cost of sales amount. In certain instances, the Company invoices the customer directly under an EA and account for the individual items sold based on the nature of each item. The Company’s vendors typically dictate how the EA will be sold to the customer. The Company also offers extended service plans (“ESP”) on IT products, both as part of the initial arrangement and separately from the IT products. The Company recognizes revenue related to ESP as the agent in the transaction because it does not have control over the on-going ESP service and does not provide any service after the sale. Revenue allocated to ESP is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangement. The Company uses its own engineering personnel to assist in projects involving the design and installation of systems and networks, and also engages third-party service providers to perform warranty maintenance, implementations, asset disposal, and other services. Service revenue is recognized in general over time as the Company performs the underlying services and satisfies its performance obligations. The Company evaluates such engagements to determine whether it is the principal or the agent in each transaction. For those transactions in which the Company does not control the service, the Company acts as an agent and recognizes the transaction revenue on a net basis at a point in time when the vendor and customer accept the terms and conditions in the sales arrangement. All amounts billed to a customer in a sales transaction related to shipping and handling, if any, represent revenues earned for the goods provided, and these amounts have been included in net sales. Costs related to shipping and handling billing are classified as cost of sales. Sales are reported net of sales, use, or other transaction taxes that are collected from customers and remitted to taxing authorities. Significant Judgments The Company’s contracts with customers often include promises to transfer multiple products or services to a customer. Determining whether the Company is the agent or the principal and whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. The Company estimates the standalone selling price (“SSP”) for each distinct performance obligation when a single arrangement contains multiple performance obligations and the fulfillment occurs at different points of times. The Company maximizes the use of observable inputs in the determination of the estimate for SSP for the items that it does not sell separately, including on-premise licenses sold with software maintenance, and IT products sold with ESP. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. The Company provides its customers with a limited thirty-day right of return, which is generally limited to defective merchandise, and gives rise to variable consideration. Revenue is recognized based on the most likely amount to which it is expected to be entitled. The estimated variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur once the uncertainty is resolved. The Company makes estimates of product returns based on significant historical experience. The Company records its sales return reserve as a reduction of revenues and either as reduction of accounts receivable or, for customers who have already paid, as accrued expenses and as a reduction of cost of sales and an associated right of return asset. Description of Revenue The Company disaggregates revenue from its arrangements with customers by type of products and services, as it believes this method best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors. The following tables represent a disaggregation of revenue from arrangements with customers for the year ended December 31, 2021, 2020 and 2019, along with the reportable segment for each category. For the Year Ended December 31, 2021 Business Solutions Enterprise Solutions Public Sector Solutions Total Notebooks/Mobility $ 426,022 $ 428,868 $ 241,146 $ 1,096,036 Desktops 87,822 140,468 45,989 274,279 Software 120,104 119,423 39,611 279,138 Servers/Storage 92,922 66,027 37,081 196,030 Net/Com Products 81,681 86,454 34,336 202,471 Displays and Sound 99,474 125,610 59,153 284,237 Accessories 115,048 179,249 44,104 338,401 Other Hardware/Services 75,423 103,360 43,220 222,003 Total net sales $ 1,098,496 $ 1,249,459 $ 544,640 $ 2,892,595 For the Year Ended December 31, 2020 Business Solutions Enterprise Solutions Public Sector Solutions Total Notebooks/Mobility $ 319,046 $ 303,471 $ 203,090 $ 825,607 Desktops 89,828 129,011 36,744 255,583 Software 124,681 115,596 42,793 283,070 Servers/Storage 93,535 76,107 42,694 212,336 Net/Com Products 75,141 96,203 47,930 219,274 Displays and Sound 85,769 78,312 51,502 215,583 Accessories 113,402 201,562 47,504 362,468 Other Hardware/Services 64,630 115,307 36,432 216,369 Total net sales $ 966,032 $ 1,115,569 $ 508,689 $ 2,590,290 For the Year Ended December 31, 2019 Business Solutions Enterprise Solutions Public Sector Solutions Total Notebooks/Mobility $ 317,282 $ 322,530 166,132 $ 805,944 Desktops 127,373 154,602 63,949 345,924 Software 146,287 133,584 54,956 334,827 Servers/Storage 105,617 72,445 60,334 238,396 Net/Com Products 94,340 72,185 52,776 219,301 Displays and Sound 88,667 105,172 56,183 250,022 Accessories 98,890 211,772 46,647 357,309 Other Hardware/Services 81,593 121,530 65,188 268,311 Total net sales $ 1,060,049 $ 1,193,820 $ 566,165 $ 2,820,034 Contract Balances The following table provides information about contract liabilities from arrangements with customers as of December 31, 2021 and December 31, 2020: December 31, 2021 December 31, 2020 Contract liabilities, which are included in "Accrued expenses and other liabilities" $ 8,628 $ 3,509 Changes in the contract liability balances during the years ended December 31, 2021 and 2020 are as follows (in thousands): 2021 Balances at December 31, 2020 $ 3,509 Cash received in advance and not recognized as revenue 28,114 Amounts recognized as revenue as performance obligations satisfied (22,995) Balances at December 31, 2021 $ 8,628 2020 Balances at December 31, 2019 $ 5,942 Cash received in advance and not recognized as revenue 10,800 Amounts recognized as revenue as performance obligations satisfied (13,233) Balances at December 31, 2020 $ 3,509 |