XML 27 R11.htm IDEA: XBRL DOCUMENT
v3.22.4

REVENUE | 12 Months Ended
--- | ---
Dec. 31, 2022
REVENUE |
REVENUE | NOTE 3—REVENUE The majority of our revenue is derived from contracts that can span from a few months to several years. We enter into contracts that can include various combinations of services, which, depending on contract type, are sometimes capable of being distinct. If services are determined to be distinct, they are accounted for as separate performance obligations. A performance obligation is a promise in a contract to transfer a distinct good or service to the client and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The majority of our contracts have a single performance obligation as the promise to transfer the individual services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. For contracts with multiple performance obligations, the Company allocates the transaction price to each performance obligation using our best estimate of the standalone selling price, or SSP, of each distinct product or service in the contract. The Company establishes SSP based on management’s estimated selling price or observable prices of products or services sold separately in comparable circumstances to similar clients. Our contracts may include promises to transfer multiple services and products to a client. Determining whether services and products are considered distinct performance obligations that should be accounted for separately versus together may require judgment. Contract Balances The timing of revenue recognition, billings and cash collections result in billed accounts receivables, unbilled receivables (contract assets) and customer advances and deposits (contract liabilities). Our clients are billed based on the type of arrangement. A portion of our services is billed monthly based on hourly or daily rates. There are also client engagements in which we bill a fixed amount for our services. This may be one single amount covering the whole engagement or several amounts for various phases, functions, or milestones. Generally, billing occurs subsequent to revenue recognition, resulting in contract assets. However, we sometimes receive advances or deposits before revenue is recognized, resulting in contract liabilities. Contract assets and liabilities are generally reported in the current assets and current liabilities sections of the consolidated balance sheet, at the end of each reporting period, based on the timing of the satisfaction of the related performance obligation(s). For multi-year software sales with annual invoicing, we perform a significant financing component calculation and recognize the associated interest income throughout the duration of the financing period. In addition, we reclassify the resulting contract asset balances as current and noncurrent receivables as receipt of the consideration is conditional only on the passage of time and there are no performance risk factors present. See the table below for a breakdown of contract assets and contract liabilities. ​
​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | December 31, |  | December 31,
​ |  | 2022 |  | 2021
Contract assets | ​ | $ | 32,249 | ​ | $ | 18,639
Contract liabilities | ​ | $ | 7,058 | ​ | $ | 7,049
​ Revenue recognized for the year ended December 31, 2022 that was included in the contract liability balance at January 1, 2022 was $6.7 million and represented primarily revenue from our fixed-fee and subscription contracts. Remaining performance obligations As of December 31, 2022, the Company had $130.0 million of remaining performance obligations, the majority of which are expected to be satisfied within the next year.

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 -Publisher FASB -Name Accounting Standards Codification -Topic 606 -URI https://asc.fasb.org/topic&trid=49130388 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 10 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(2) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (b) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 9 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (e) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (a) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (d) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 15 -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (c) -URI https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045 + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration