Note 2 - Revenue From Contracts With Customers |
9 Months Ended | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sep. 30, 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Products and Services
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 the periods reported herein, the majority of revenue recognized under fixed price and mixed arrangements occurred over time, and the amounts resulting from additional disaggregation would be immaterial. 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 and 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 at September 30, 2021, and December 31, 2020.
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. Changes in contract assets balances in the three months and nine months ended September 30, 2021 and 2020, are as follows:
The contract asset balance was reduced to zero as of September 30, 2021 because the amounts withheld from payment of invoices as a financing component of a subcontract became fully due and billable as the prime contractor met a specific deliverable.
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, 2021 and 2020, are as follows:
Revenues recognized during the nine months ended September 30, 2021, and 2020, from the balances at December 31, 2020 and 2019, were $946,884 and $464,223, 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 at September 30, 2021, and December 31, 2020. 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 had been paid under regular terms, and the 10% payment balance of each invoice was deferred until the prime contractor met a specific deliverable under its prime contract. The primary purpose of this arrangement was to assist the prime contractor in meeting all of its financial obligations until it could realize the financial benefit of meeting the deliverable. The Company 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. The deliverable was met on August 31, 2021, ahead of the original schedule.
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. Changes in deferred costs of revenue balances in the three months and nine months ended September 30, 2021, and 2020, are as follows:
|