XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.2.u1
REVENUE RECOGNITION
6 Months Ended
Jun. 30, 2024
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 84% and 82% of our revenue for the three and six months ended June 30, 2024, respectively, and 88% and 89% of our revenue for the three and six months ended June 30, 2023, 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 when 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 16% and 18% of our revenue for the three and six months ended June 30, 2024, respectively, and 12% and 11% of our revenue for the three and six months ended June 30, 2023, 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.
Our contracts may include various types of variable considerations and may include estimated amounts in the transaction price, based on all of the information available to us, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved. We evaluate and include these estimated amounts of variable consideration in the transaction price and as performance on these contracts is complete, we adjust our revenue, when deemed necessary. No revenue adjustments were recorded during the three and six months ended June 30, 2024, and 2023.
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 exceeds the total estimated revenue for a performance obligation. No contract loss was recorded during the three months ended June 30, 2024. We recorded an immaterial contract loss during the six months ended June 30, 2024. No contract loss was recorded during the three and six months ended June 30, 2023.
Disaggregated Revenues
In addition to our segment reporting, as further discussed in Note 16 – 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, 2024June 30, 2023June 30, 2024June 30, 2023
Amount%Amount%Amount%Amount%
(dollars in thousands)
Federal$24,832 87 %$27,512 84 %$51,439 89%$60,501 89%
State & local, and commercial3,666 13 %5,399 16 %6,678 11%7,632 11%
Total revenue$28,498 100 %$32,911 100 %$58,117 100 %$68,133 100 %
Table 3.2: Revenue by Contract Type
For the Three Months EndedFor the Six Months Ended
June 30, 2024June 30, 2023June 30, 2024June 30, 2023
Amount%Amount%Amount%Amount%
(dollars in thousands)
Firm fixed-price$22,179 78 %$25,293 77 %$45,015 77%$52,306 77%
Time-and-materials3,022 11 %3,548 11 %6,159 11%7,104 10%
Cost plus fixed fee3,297 11 %4,070 12 %6,943 12%8,723 13%
Total revenue$28,498 100 %$32,911 100 %$58,117 100 %$68,133 100 %
Table 3.3: Revenue Concentration Greater than 10% of Total Revenue
For the Three Months EndedFor the Six Months Ended
June 30, 2024June 30, 2023June 30, 2024June 30, 2023
U.S. Department of Defense ("DoD")56%66%56%67%
Table 3.4: Contract Balances
Balance Sheet PresentationJune 30, 2024December 31, 2023
(in thousands)
Billed accounts receivables (1)
Accounts receivable, net$9,605 $17,818 
Unbilled accounts receivableAccounts receivable, net4,197 8,022 
Contract assetsAccounts receivable, net3,376 4,584 
Contract liabilitiesContract liabilities5,783 6,728 
(1) Net of allowance for credit losses.
The changes in the Company's contract assets and contract liabilities during the current period were 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, 2024, which was included in the contract liabilities balance at the beginning of each reporting period, was $1.9 million and $4.5 million, respectively. Revenue recognized for the three and six months ended June 30, 2023, which was included in the contract liabilities balance at the beginning of each reporting period, was $1.6 million and $4.1 million, respectively.
As of June 30, 2024, we had approximately $31.2 million of remaining performance obligations, which we also refer to as funded backlog. We expect to recognize approximately 92% of our remaining performance obligations over the next 12 months, and the balance thereafter.