|3 Months Ended
Mar. 31, 2020
The core principle of the revenue recognition criteria is to recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration the entity expects to be entitled in exchange for those goods or services. This principle is achieved through applying the following five-step approach:
Identification of the contract, or contracts, with a customer — A contract with a customer exists when (i) we enter into an enforceable contract with a customer that defines each party’s rights regarding the goods or services to be transferred and identifies the payment terms related to these goods or services, (ii) the contract has commercial substance and, (iii) we determine that collection of substantially all consideration for goods or services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. We apply judgment in determining the customer’s ability and intention to pay, which is based on a variety of factors including the customer’s historical payment experience or, in the case of a new customer, published credit and financial information pertaining to the customer. The Company considers customer purchase orders, which in some cases are governed by master agreements or general terms and conditions of sale, to be contracts with customers. All revenue is generated from contracts with customers.
Identification of the performance obligations in the contract — Performance obligations promised in a contract are identified based on the goods or services that will be transferred to the customer that are capable of being distinct, whereby the customer can benefit from the goods or service either on its own or together with other resources that are readily available from third parties or from us, and are distinct in the context of the contract, whereby the transfer of the goods or services is separately identifiable from other promises in the contract. To the extent a contract includes multiple promised goods or services, we apply judgment to determine whether promised goods or services are capable of being distinct in the context of the contract. If these criteria are not met the promised goods or services are accounted for as a single performance obligation.
Determination of the transaction price —The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring goods or services to the customer, net of sales taxes collected from customers, which are subsequently remitted to governmental entities. Net sales are recorded net of estimated discounts, rebates, and returns. Vendor rebates are recorded when earned as a reduction to cost of sales or inventory, as applicable.
Allocation of the transaction price to the performance obligations in the contract — If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. Contracts that contain multiple performance obligations require an allocation of the transaction price to each performance obligation based on a relative standalone selling price, or SSP, basis. We determine SSP based on the price at which the performance obligation is sold separately. If the standalone selling price is not observable through established standard prices, we use judgement and estimate the standalone selling price considering available information such as market pricing and pricing related to similar products. Contracts with a significant financing component are discounted to their present value at contract inception and accreted up to the expected payment amounts. These contracts generally offer customers extended payment terms of up to three years.
Recognition of revenue when, or as, we satisfy a performance obligation — The Company recognizes revenue when its performance obligations are complete, and control of the specified goods or services pass to the customer. The Company considers the following indicators in determining when control passes to the customer: (i) the Company has a right to payment for the product or service (ii) the customer has legal title to the product, (iii) the Company has transferred physical possession of the product (iv) the Customer has the significant risk and rewards of ownership of the product and (v) the customer has accepted the product. Substantially all our performance obligations are satisfied at a point in time, as our obligation is to deliver a product or fulfill an order for a third party to deliver ongoing services, maintenance or support.
Disaggregation of Revenue
We generate revenue from the re-sale of third-party software licenses, subscriptions, hardware, and related service contracts. Finance fees related to sales are classified as interest income. The following table depicts the disaggregation of revenue according to revenue type and is consistent with how we evaluate our financial performance:
Hardware, software and other products - Hardware product consists of sales of hardware manufactured by third parties. Hardware product is delivered from our warehouse or drop shipped directly from the vendor. Revenue from our hardware products is recognized on a gross basis, with the selling price to the customer as net sales, and the cost of the related product as cost of sales, upon transfer of control to the customer, as the Company is acting as a principal in the transaction. Control is generally deemed to have passed to the customer upon transfer of title and risk of ownership.
Software product consists of sales of perpetual and term software licenses for products developed by third party vendors, which are distinct from related maintenance and support. Software licenses are delivered via electronic license keys provided by the vendor to the end user. Revenue from the sale of software products is recognized on a gross basis, with the selling price to the customer as net sales, and the cost of the related product as cost of sales, upon transfer of control to our customers as the Company is a principal in the transaction. Control is deemed to have passed to the customer when they acquire the right to use or copy the software under license as substantially all product functionality is available to the customer at the time of sale. Other products include marketing revenues that are recorded on a gross basis as the Company is a principal in the arrangement.
Software maintenance and support, commonly known as software assurance or post contract support, consists of software updates and technical support provided by the software vendor to the licensor over a period. In cases where the software maintenance is distinct from the related software license, software maintenance is accounted for as a separate performance obligation. In cases where the software maintenance is not distinct from the related software license, it is accounted for as a single performance obligation with the related license. We utilize judgement in determining whether the maintenance is distinct from the software itself. This involves considering if the software provides its original intended functionality without the updates, or is dependent on frequent, or continuous updates to maintain its functionality. See Allocation of the transaction price to the performance obligations in the contract for a discussion of the allocation of maintenance and support costs when they are distinct from the related software licenses and Software - security and highly interdependent with support below for a discussion of maintenance and support costs when they are not distinct from the related software license.
Software - security and highly interdependent with support - Software - security software and software highly interdependent with support consists of sales of security subscriptions and other licensed software products whose functionality is highly interdependent with, and therefore not distinct from, related software maintenance. Delivery of the software license and related support over time is considered a single performance obligation of the third-party vendor for these products. The Company is an agent in these transactions, with revenue being recorded on a net basis when its performance obligation of processing a valid order between the supplier and customer contracting for the services is complete.
Maintenance, support and other services revenue - Maintenance, support and other services revenue consists of third-party post-contract support that is not critical or essential to the core functionality of the related licensed software, and, to a lesser extent, from third-party professional services, software as a service, and cloud subscriptions. Revenue from maintenance, support and other service revenues is recognized on a net basis, upon fulfillment of an order to the customer, as the Company is an agent in the transaction, and its performance obligations are complete at the time a valid order between the parties is processed.
Costs to obtain and fulfill a contract - We pay commissions and related payroll taxes to sales personnel when customers are invoiced. These costs are recorded as selling general and administrative expenses in the period earned as all our performance obligations are complete within a short window of processing the order.
Contract balances - Accounts receivable is recorded at the invoiced amount, net of an allowance for doubtful accounts. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. Payment terms on invoiced amounts are typically 30-75 days. The balance of accounts receivable, net of allowance for doubtful accounts as of March 31, 2020 and December 31, 2019 is presented in the accompanying Consolidated Balance Sheets. Accounts receivable-long-term result from product sales with extended payment terms that are discounted to their present values at the Company’s estimates of prevailing market rates at the time of the sale. The Company has determined that these amounts do not represent variable consideration as the amount earned is fixed. In subsequent periods, the accounts receivable is increased to the amounts due and payable by the customers through the accretion of interest income on the unpaid accounts receivable due in future years. The amounts due under these long-term accounts receivable due within one year are reclassified to the current portion of accounts receivable and are shown net of reserves. As our revenues are generally recognized at a point in time in the same period as they are billed, we have no deferred revenue balances. Provisions for doubtful accounts including long-term accounts receivable and returns are estimated based on historical write offs, sales returns and credit memo analysis which are adjusted to actual on a periodic basis.
Refund liability – The Company records a refund liability for expected product returns with a corresponding asset for an amount representing any expected recovery from vendors regarding the return.
Principal versus agent considerations – The Company determines whether it is acting as a principal or agent in a transaction by assessing whether it controls a good or service prior to it being transferred to a customer, with control being defined as having the ability to direct the use of and obtain the benefits from the asset. The Company considers the following indicators, among others, in making the determination: 1) the Company is primarily responsible for fulfilling the promise to provide the promised good or service, 2) the Company has inventory risk, before or after the specified good or service has been transferred to the customer, and 3) the Company has discretion in establishing price for the specified good or service. Generally, we conclude that we are a principal in transactions where software or hardware products containing their core functionality are delivered to the customer at the time of sale and are agents in transactions where we are arranging for the provision of future performance obligations by a third party. As we enter into distribution agreements with third-party service providers, we evaluate whether we are acting as a principal or agent for each product sold under the agreement based on the nature of the product or service, and our performance obligations. Products for which there are significant ongoing third-party performance obligations include software maintenance, which includes periodic software updates and support, security software that is highly interdependent with maintenance, software as a service, cloud and third-party professional services. Sales of hardware, software and other products where we are a principal are recorded on a gross basis with the selling price to the customer recorded as sales and the cost of the product or software recorded as cost of sales. Sales where we are acting as an agent are recognized on a net basis at the date our performance obligations are complete. Under net revenue recognition, the cost paid to the vendor or third-party service provider is recorded as a reduction to sales, resulting in revenue being equal to the gross profit on the transaction.