Note 2 - Revenue from Contracts with Customers |
9 Months Ended | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sep. 30, 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Notes to Financial Statements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Revenue from Contract with Customer [Text Block] |
Revenue is recognized when all of the following steps have been taken and criteria met for each contract:
Nature of P roducts and S ervices The Company generates revenue from the sales of information technology professional services, sales of third -party software licenses and implementation and training services, sales of third -party support and maintenance contracts based on those software products, and incentive payments received from third -party software suppliers for facilitating sales directly between that supplier and a customer introduced by the Company. The Company sells through its direct relationships with end customers and under subcontractor arrangements.Professional services are offered through several arrangements – through time and materials arrangements, fixed-price-per-unit arrangements, fixed-price arrangements, or combinations of these arrangements within individual contracts. Revenue under time and materials arrangements is recognized over time in the period the hours are worked or the expenses are incurred, as control of the benefits of the work is deemed to have passed to the customer as the work is performed. Revenue under fixed-price-per-unit arrangements is recognized at a point in time when delivery of units have occurred and units are accepted by the customer or are reasonably expected to be accepted. Generally, revenue under fixed-price arrangements and mixed arrangements is recognized either over time or at a point in time based on the allocation of transaction pricing to each identified performance obligation as control of each is transferred to the customer. For fixed-price arrangements for which the Company is paid a fixed fee to make itself available to support a customer, with no predetermined deliverables to which transaction prices can be estimated or allocated, revenue is recognized ratably over time.Third-party software licenses are classified as enterprise server-based software licenses or desktop software licenses, and desktop licenses are further classified by the type of customer and whether the licenses are bulk licenses or individual licenses. The Company's obligations as the seller for each class differ based on its reseller agreements and whether its customers are government or non-government customers. Revenue from enterprise server-based sales to either government or non-government customers is usually recognized in full at a point in time based on when the customer gains use of the full benefit of the licenses, after the licenses are implemented. If the transaction prices of the performance obligations related to implementation and customer support for the individual contract is material, these obligations are recognized separately over time, as performed. Revenue for desktop software licenses for government customers is usually recognized on a gross basis at a point in time, based on when the customer's administrative contact gains training in and beneficial use of the administrative portal. If the transaction prices of the performance obligations related to implementing the government administrator's use of the administrative portal and administrator support for the individual contract are material (rare), these obligations are recognized separately over time, as performed. Revenue for bulk desktop software licenses for non-government customers is usually recognized on a gross basis at a point in time, based on when the customer's administrative contact gains training in and beneficial use of the administrative portal. For desktop software licenses sold on an individual license basis to non-government customers, where the Company has no obligation to the customer after the third -party makes delivery of the licenses, the Company has determined it is acting as an agent, and the Company recognizes revenue upon delivery of the licenses only for the net of the selling price and its contract costs.Third-party support and maintenance contracts for enterprise server-based software include a performance obligation under the Company's reseller agreements for it to be the first line of support (direct support) and second line of support (intermediary between customer and manufacturer) to the customer. Because of the support performance obligations, and because the amount of support is not estimable, the Company recognizes revenue ratably over time as it makes itself available to provide the support.Incentive payments are received under reseller agreements with software manufacturers and suppliers where the Company introduces and courts a customer, but the sale occurs directly between the customer and the supplier or between the customer and the manufacturer. Since the transfer of control of the licenses cannot be measured from outside of these transactions, revenue is recognized when payment from the manufacturer or supplier is received. Disaggregation of Revenue from Contracts with Customers
Contract Balances Accounts Receivable Trade accounts receivable are recorded at the billable amount where the Company has the unconditional right to bill, net of allowances for doubtful accounts. The allowance for doubtful accounts is based on the Company's assessment of the collectability of accounts. Management regularly reviews the adequacy of the allowance for doubtful accounts by considering the age of each outstanding invoice, each customer's expected ability to pay and collection history, when applicable, to determine whether a specific allowance is appropriate. Accounts receivable deemed uncollectible are charged against the allowance for doubtful accounts when identified. There were no September 30, 2020, and December 31, 2019. The accounts receivable balance does not include the amount invoiced but withheld from payment as a financing component under one contract with a customer. The present value of the withheld amount is classified as a contract asset.Contract Assets Contract assets consist of assets resulting when revenue recognized exceeds the amount billed or billable to the customer due to allocation of transaction price, and of amounts withheld from payment of invoices as a financing component of a contract. There were $89,404 in long-term contract assets at September 30, 2020, and none at December 31, 2019.
Contract Liabilities Contract liabilities consist of amounts that have been invoiced and for which the Company has the right to bill, but that have not been recognized as revenue because the related goods or services have not been transferred. Changes in contracts liabilities balances in 2020 are as follows:
Costs to Obtain or Fulfill a Contract When applicable, the Company recognizes an asset related to the costs incurred to obtain a contract only if it expects to recover those costs and it would not have incurred those costs if the contract had not been obtained. The Company recognizes an asset from the costs incurred to fulfill a contract if the costs (i) are specifically identifiable to a contract, (ii) enhance resources that will be used in satisfying performance obligations in future and (iii) are expected to be recovered. There were no such assets at September 30, 2020, and December 31, 2019. When incurred, these costs are amortized ratably over the periods of the contracts to which those costs apply.Financing Components In instances where the timing of revenue recognition differs from the timing of invoicing, the Company has determined that one of its subcontracts to a prime contractor includes a significant financing component. The subcontract is invoiced on a time and materials basis, under which 90% of each invoice amount is paid under regular terms, and the 10% payment balance of each invoice is deferred until the prime contractor meets a specific deliverable under its prime contract, which is expected to occur approximately June 2022. The primary purpose of this arrangement is to assist the prime contractor in meeting all of its financial obligations until it can realize the financial benefit of meeting the deliverable. The Company has estimated its interest rate of 4.5% based on a small premium over the rate of its revolving line of credit as of the measurement date.Deferred Costs of Revenue Deferred costs of revenue consist of the costs of third -party support and maintenance contracts for enterprise server-based software. These costs are reported under the prepaid expenses and other current assets caption on the Company's balance sheets. The Company recognizes these direct costs ratably over time as it makes itself available to provide its performance obligation for software support, commensurate with its recognition of revenue. Deferred costs of revenue balances included in prepaid expenses were $1,798 and $453,607 at September 30, 2020, and December 31, 2019, respectively.
|