XML 22 R10.htm IDEA: XBRL DOCUMENT v3.23.2
REVENUE RECOGNITION
6 Months Ended
Jun. 30, 2023
Revenue from Contract with Customer [Abstract]  
REVENUE RECOGNITION REVENUE RECOGNITION
We account for revenue in accordance with ASC Topic 606, "Revenue from Contracts with Customers." The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer.
The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform. Revenue transferred to customers over time accounted for 88% and 89% of our revenue for the three and six months ended June 30, 2023, respectively, and 90% and 93% of our revenue for the three and six months ended June 30, 2022, respectively. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed price, firm-fixed price level of effort, and cost-plus fixed fee contract types, which may include variable consideration.
For performance obligations in which control does not continuously transfer to the customer, we recognize revenue at the point in time in which each performance obligation is fully satisfied. This coincides with the point in time the customer obtains control of the product or service, which typically occurs upon customer acceptance or receipt of the product or service, given that we maintain control of the product or service until that point. Revenue transferred to customers at a point in time accounted for 12% and 11% of our revenue for the three and six months ended June 30, 2023, respectively, and 10% and 7% of our revenue for the three and six months ended June 30, 2022, respectively.
Orders for the sale of software licenses may contain multiple performance obligations, such as maintenance, training, or consulting services, which are typically delivered over time, consistent with the transfer of control disclosed above for the provision of services. When an order contains multiple performance obligations, we allocate the transaction price to the performance obligations based on the standalone selling price of the product or service underlying each performance obligation. The standalone selling price represents the amount we would sell the product or service to a customer on a standalone basis.
For certain performance obligations where we are not primarily responsible for fulfilling the promise to provide the goods or services to the customer, do not have inventory risk and have limited discretion in establishing the price for the goods or services, we recognize revenue on a net basis.
We provide for anticipated losses on contracts during the period when the loss is determined by recording an expense for the total expected costs that exceed the total estimated revenue for a performance obligation. No contract losses were recorded during the three and six months ended June 30, 2023 and 2022.
Disaggregated Revenues
In addition to our segment reporting, as further discussed in Note 17 – Segment Information, we disaggregate our revenues by customer and contract types. We treat sales to U.S. customers as sales within the U.S. regardless of where the services are performed. Substantially most of our revenues are generated from U.S. customers, while international customers are de minimis; as such, the financial information by geographic location is not presented.
Table 3.1: Revenue by Customer Type
For the Three Months EndedFor the Six Months Ended
June 30, 2023June 30, 2022June 30, 2023June 30, 2022
Amount%Amount%Amount%Amount%
(dollars in thousands)
Federal$27,512 84 %$52,213 94 %$60,501 89 %$100,056 94 %
State & local, and commercial5,399 16 %3,578 6 %7,632 11 %5,895 6 %
Total revenue$32,911 100 %$55,791 100 %$68,133 100 %$105,951 100 %
Table 3.2: Revenue by Contract Type
For the Three Months EndedFor the Six Months Ended
June 30, 2023June 30, 2022June 30, 2023June 30, 2022
Amount%Amount%Amount%Amount%
(dollars in thousands)
Firm fixed-price$25,293 77 %$45,305 81 %$52,306 77 %$86,581 82 %
Time-and-materials3,548 11 %2,731 5 %7,104 10 %5,646 5 %
Cost plus fixed fee4,070 12 %7,755 14 %8,723 13 %13,724 13 %
Total revenue$32,911 100 %$55,791 100 %$68,133 100 %$105,951 100 %
Table 3.3: Revenue Concentration Greater than 10% of Total Revenue
For the Three Months EndedFor the Six Months Ended
June 30, 2023June 30, 2022June 30, 2023June 30, 2022
U.S. Department of Defense ("DoD")66%72 %67%71 %
Table 3.4: Contract Balances
Balance Sheet PresentationJune 30, 2023December 31, 2022
(in thousands)
Billed accounts receivables (1)
Accounts receivable, net$11,815 $13,521 
Unbilled accounts receivableAccounts receivable, net7,214 11,657 
Contract assetsAccounts receivable, net15,261 14,891 
Contract liabilitiesContract liabilities6,138 6,444 
(1) Net of allowance for credit losses.
The change in the Company's contract assets and contract liabilities during the current period was primarily the result of the timing differences between the Company's performance, invoicing and customer payments. Revenue recognized for the three and six months ended June 30, 2023, that was included in the contract liabilities balance at the beginning of each reporting period was $1.6 million and $4.1 million, respectively. Revenue recognized for the three and six months ended June 30, 2022, that was included in the contract liabilities balance at the beginning of each reporting period was and $1.6 million and $4.1 million, respectively.
As of June 30, 2023, we had approximately $66.5 million of remaining performance obligations, which we also refer to as funded backlog. We expect to recognize approximately 80% of our remaining performance obligations over the next 12 months, and the balance thereafter.