Note 2 - Revenue from Contracts with Customers |
9 Months Ended | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sep. 30, 2019 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. The Company accounts for its performance obligations in accordance with ASC 606, and all related interpretations.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 in full 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 in full 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 court 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. Contract Assets Contract assets consist of assets typically resulting when revenue recognized exceeds the amount billed or billable to the customer due to allocation of transaction price. There were contract assets balances of $498,681 at September 30, 2019, and no contract assets balance at December 31, 2018.
Contract Liabilities Contract liabilities, to which the Company formerly referred as deferred revenue, 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. Contract liabilities balances were $486,362 and $318,552 at September 30, 2019, and December 31, 2018, respectively. For the three months and nine months ended September 30, 2019, revenue was recognized from previous contract liabilities balances in the amounts of $63,366 and $318,552, 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 the future, and (iii) are expected to be recovered. There were $0 and $3,480 of such assets at September 30, 2019, and December 31, 2018, respectively. 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 its contracts do not include a significant financing component. The primary purpose of the Company’s invoicing terms is to provide customers with simplified and predictable ways of purchasing its products and services, not to receive financing from its customers or to provide customers with financing. Examples include invoicing at the beginning of a software support and maintenance term with revenue recognized ratably over the contract period.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 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 $532,791 and $294,115 at September 30, 2019, and December 31, 2018, respectively. |