Note 2 - Revenue from Contracts with Customers |
9 Months Ended | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sep. 30, 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Notes to Financial Statements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Revenue from Contract with Customer [Text Block] |
Note 2. Revenue from Contracts with Customers
Nature of Products and Services
We generate 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. In addition, with the GMI acquisition, we expanded our offerings to include licensing and implementation services for proprietary blockchain-based SCM software. We sell through our 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 has 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 under which documentary evidence of acceptance or receipt of deliverables is not present or withheld by the customer, the Company recognizes revenue when it has the right to invoice 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. 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 such allowances recognized as of September 30, 2022 and December 31, 2021.
Accounts receivable as of September 30, 2022 and December 31, 2021, consist of the following:
Billed receivables from the federal government include amounts due from both prime contracts and subcontracts where the federal government is the end customer.
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 no amounts recorded to contract assets as of September 30, 2022 or December 31, 2021. Changes in contract assets balances in the nine months ended September 30, 2021, were as follows:
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 the three months and nine months ended September 30, 2022 and 2021, are as follows:
Revenues recognized during the three months ended September 30, 2022 and 2021, from the balances as of December 31, 2021 and 2020, were $48,708 and $58,556, respectively. Revenues recognized during the nine months ended September 30, 2022 and 2021, from the balances as of December 31, 2021 and 2020, were $160,809 and $946,884, respectively.
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 as of September 30, 2022 and December 31, 2021. When incurred, these costs are amortized ratably over the periods of the contracts to which those costs apply.
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 condensed consolidated 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. Changes in deferred costs of revenue balances in the three and nine months ended September 30, 2022 and 2021, are as follows:
|