XML 17 R8.htm IDEA: XBRL DOCUMENT
v3.23.3

Revenue Recognition | 9 Months Ended
--- | ---
Sep. 30, 2023
Revenue from Contract with Customer [Abstract] |
Revenue Recognition | Note 2 – Revenue Recognition We recognize revenue in accordance with Accounting Standards Codification (“ASC”) Topic 606, “Revenue from Contracts with Customers” (“ASC 606”). Under ASC 606, we apply the following five step model: 1. Identify the contract with the customer; 2. Identify the performance obligations in the contract; 3. Determine the transaction price; 4. Allocate the transaction price to the performance obligations in the contract; and 5. Recognize revenue when (or as) each performance obligation is satisfied. We categorize revenue as software licenses, software maintenance, or services and other. Revenue from software licenses is recognized at a point in time upon delivery, provided all other revenue recognition criteria are met. We recognize software maintenance revenue over time on a straight-line basis over the contract period. Services revenue is recognized over time as the services are delivered using an input method (i.e., labor hours incurred as a percentage of total labor hours budgeted), provided all other revenue recognition criteria are met. Other revenue, includes hardware sales that may be included in a software license, is recognized at a point in time upon delivery provided all other revenue recognition criteria are met. In addition to selling software licenses, software maintenance and software services on a standalone basis, a significant portion of our contracts include multiple performance obligations, which require an allocation of the transaction price to each distinct performance obligation based on a relative standalone selling price (“SSP”) basis. The SSP is the price at which we would sell a promised good or service separately to a customer. The best estimate of SSP is the observable price of a good or service when we sell that good or service separately. A contractually stated price or a list price for a good or service may be the SSP of that good or service. We use a range of selling prices to estimate SSP when we sell each of the goods and services separately and need to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services within multiple performance obligation arrangements. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we typically determine the SSP using an adjusted market assessment approach using information that may include market conditions and other observable inputs. We typically have more than one SSP for individual goods and services due to the stratification of those goods and services by customer. In these instances, we may use information such as the nature of the customer and distribution channel in determining the SSP. When software licenses and significant customization engineering services are sold together, they are accounted for as a combined performance obligation, as the software licenses are generally highly dependent on, and interrelated with, the associated customization services and therefore are not distinct performance obligations. Revenue for the combined performance obligation is recognized over time as the services are delivered using an input method (i.e., labor hours incurred as a percentage of total labor hours budgeted). When subscription-based software is sold, the subscription-based software and software maintenance are generally considered distinct performance obligations. The transaction price is allocated to subscription-based software and the software maintenance based on the relative SSP of each performance obligation. We sell subscription-based software for a fixed fee and/or a usage-based royalty fee, sometimes subject to a minimum guarantee. When the amount is in the form of a fixed fee, including the guaranteed minimum in subscription-based royalties, revenue is allocated to the subscription-based software and recognized at a point in time upon delivery, provided all other revenue recognition criteria are met. Revenue allocated to the software maintenance is recognized over the contract term on a straight-line basis. Any subscription-based software fees earned not subject to the guaranteed minimum or earned in excess of the minimum amount are recognized as revenue when the subsequent usage occurs. Our contracts can include variable fees, such as the option to purchase additional usage of a previously delivered software license. We may also provide pricing concessions to clients, a business practice that also gives rise to variable fees in contracts. We include variable fees in the determination of total transaction price if it is not probable that a future significant reversal of revenue will occur. We use the expected value or most likely value amount, whichever is more appropriate for specific circumstances, to estimate variable consideration, and the estimates are based on the level of historical price concessions offered to clients. The amount of consideration is not adjusted for a significant financing component if the time between payment and the transfer of the related good or service is expected to be one year or less under the practical expedient in the guidance. Our revenue arrangements are typically accounted for under such expedient, as payment is typically due within 30 to 60 days. During the periods ended September 30, 2023 and 2022, none of our contracts contained a significant financing component. Also, to the extent relevant in future periods with our acquisition of FortressID and adaption of our current products to be delivered in a hosted environment with AwareID, we expect to recognize revenue from our SaaS offerings in future periods. SaaS offerings will be recognized ratably over the subscription period. For the three and nine months ended September 30, 2023 and 2022 we generated a de minimis amount of revenue from SaaS contracts. Disaggregation of Revenues We organize ourselves into a single segment that reports to the Chief Executive Officer who is our chief operating decision maker. We conduct our operations in the United States and sell our products and services to domestic and international customers. Revenue generated from the following geographic regions was (in thousands):
|  | Three Months Ended September 30, |  |  | Nine Months Ended September 30, |
|  | 2023 |  |  | 2022 |  |  | 2023 |  |  | 2022 |
United States |  | $ | 5,247 |  |  | $ | 2,129 |  |  | $ | 9,365 |  |  | $ | 6,439 |
United Kingdom |  |  | 323 |  |  |  | 347 |  |  |  | 934 |  |  |  | 1,109 |
Rest of World |  |  | 811 |  |  |  | 539 |  |  |  | 3,571 |  |  |  | 4,397 |
|  | $ | 6,381 |  |  | $ | 3,015 |  |  | $ | 13,870 |  |  | $ | 11,945 |
Revenue by timing of transfer of goods or services was (in thousands):
|  | Three Months Ended September 30, |  | Nine Months Ended September 30, |
|  | 2023 |  |  | 2022 |  | 2023 |  |  | 2022 |
Goods or services transferred at a point in time |  | $ | 4,391 |  |  | $ | 770 |  | $ | 6,893 |  |  | $ | 5,484 |
Goods or services transferred over time |  |  | 1,990 |  |  |  | 2,245 |  |  | 6,977 |  |  |  | 6,461 |
|  | $ | 6,381 |  |  | $ | 3,015 |  | $ | 13,870 |  |  | $ | 11,945 |
Revenue by product group was (in thousands):
|  | Three Months Ended September 30, |  | Nine Months Ended September 30, |
|  | 2023 |  |  | 2022 |  | 2023 |  |  | 2022 |
License and service contracts |  | $ | 5,982 |  |  | $ | 2,571 |  | $ | 11,586 |  |  | $ | 9,787 |
Subscription-based contracts |  |  | 399 |  |  |  | 444 |  |  | 2,284 |  |  |  | 2,158 |
|  | $ | 6,381 |  |  | $ | 3,015 |  | $ | 13,870 |  |  | $ | 11,945 |
Revenue from subscription-based contracts include revenue that may be recognized at a point in time or over time and be part of a fixed fee and or minimum guarantee as well as fees earned and allocated to software maintenance. Contract Balances When the timing of our delivery of goods or services is different from the timing of payments made by customers, we recognize either a contract asset (performance precedes contractual due date) or a contract liability (customer payment precedes performance). Customers that prepay are represented by the deferred revenue below until the performance obligation is satisfied. Our contract assets consist of unbilled receivables. Our contract liabilities consist of deferred (unearned) revenue, which is generally related to software maintenance contracts. We classify deferred revenue as current or noncurrent based on the timing of when we expect to recognize revenue. The following tables present changes in our contract assets and liabilities during the three and nine months ended September 30, 2023 and 2022 (in thousands):
|  | Balance at Beginning of Period |  |  | Revenue Recognized In Advance of Billings |  |  | Billings |  |  | Balance at End of Period |
Three months ended September 30, 2023 |  |  |  |  |  |  |  |  |  |  |  |
Contract assets: |  |  |  |  |  |  |  |  |  |  |  |
Unbilled receivables |  | $ | 2,820 |  |  | $ | 924 |  |  | $ | (1,972 | ) |  | $ | 1,772 |
Three months ended September 30, 2022 |  |  |  |  |  |  |  |  |  |  |  |
Contract assets: |  |  |  |  |  |  |  |  |  |  |  |
Unbilled receivables |  | $ | 3,430 |  |  | $ | 1,278 |  |  | $ | (952 | ) |  | $ | 3,756 |
|  | Balance at Beginning of Period |  |  | Billings |  |  | Revenue Recognized |  |  | Balance at End of Period |
Three months ended September 30, 2023 |  |  |  |  |  |  |  |  |  |  |  |
Contract liabilities: |  |  |  |  |  |  |  |  |  |  |  |
Deferred revenue |  | $ | 4,359 |  |  | $ | 3,442 |  |  | $ | (1,889 | ) |  | $ | 5,912 |
Three months ended September 30, 2022 |  |  |  |  |  |  |  |  |  |  |  |
Contract liabilities: |  |  |  |  |  |  |  |  |  |  |  |
Deferred revenue |  | $ | 3,533 |  |  | $ | 2,059 |  |  | $ | (1,786 | ) |  | $ | 3,806 |
|  | Balance at Beginning of Period |  |  | Revenue Recognized In Advance of Billings |  |  | Billings |  |  | Balance at End of Period |
Nine months ended September 30, 2023 |  |  |  |  |  |  |  |  |  |  |  |
Contract assets: |  |  |  |  |  |  |  |  |  |  |  |
Unbilled receivables |  | $ | 2,929 |  |  | $ | 2,601 |  |  | $ | (3,758 | ) |  | $ | 1,772 |
Nine months ended September 30, 2022 |  |  |  |  |  |  |  |  |  |  |  |
Contract assets: |  |  |  |  |  |  |  |  |  |  |  |
Unbilled receivables |  | $ | 3,087 |  |  | $ | 4,279 |  |  | $ | (3,610 | ) |  | $ | 3,756 |
|  | Balance at Beginning of Period |  |  | Billings |  |  | Revenue Recognized |  |  | Balance at End of Period |
Nine months ended September 30, 2023 |  |  |  |  |  |  |  |  |  |  |  |
Contract liabilities: |  |  |  |  |  |  |  |  |  |  |  |
Deferred revenue |  | $ | 3,733 |  |  | $ | 7,670 |  |  | $ | (5,491 | ) |  | $ | 5,912 |
Nine months ended September 30, 2022 |  |  |  |  |  |  |  |  |  |  |  |
Contract liabilities: |  |  |  |  |  |  |  |  |  |  |  |
Deferred revenue |  | $ | 3,740 |  |  | $ | 5,333 |  |  | $ | (5,267 | ) |  | $ | 3,806 |
Remaining Performance Obligations Remaining performance obligations represent the transaction prices from contracts for which work has not been performed or goods and services have not been delivered. We expect to recognize revenue on approximately 90% of the remaining deferred revenue over the next 12 months, with the remainder recognized thereafter. As of September 30, 2023, the aggregate amount of the transaction prices allocated to remaining performance obligations for contracts with a duration greater than one year was $ 3.7 million.

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org//606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration