XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE RECOGNITION
9 Months Ended
Sep. 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 89% of our revenue for the three and nine months ended September 30, 2023, and 87% and 91% of our revenue for the three and nine months ended September 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 11% of our revenue for the three and nine months ended September 30, 2023, and 13% and 9% of our revenue for the three and nine months ended September 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 nine months ended September 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. 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 Nine Months Ended
September 30, 2023September 30, 2022September 30, 2023September 30, 2022
Amount%Amount%Amount%Amount%
(dollars in thousands)
Federal$32,955 91 %$60,294 95 %$93,456 90 %$160,351 95 %
State & local, and commercial3,231 9 %3,299 5 %10,863 10 %9,193 5 %
Total revenue$36,186 100 %$63,593 100 %$104,319 100 %$169,544 100 %
Table 3.2: Revenue by Contract Type
For the Three Months EndedFor the Nine Months Ended
September 30, 2023September 30, 2022September 30, 2023September 30, 2022
Amount%Amount%Amount%Amount%
(dollars in thousands)
Firm fixed-price$27,809 77 %$54,055 85 %$80,116 77 %$140,636 83 %
Time-and-materials3,504 10 %3,457 5 %10,608 10 %9,104 5 %
Cost plus fixed-fee4,873 13 %6,081 10 %13,595 13 %19,804 12 %
Total revenue$36,186 100 %$63,593 100 %$104,319 100 %$169,544 100 %
Table 3.3: Revenue Concentration Greater than 10% of Total Revenue
For the Three Months EndedFor the Nine Months Ended
September 30, 2023September 30, 2022September 30, 2023September 30, 2022
U.S. Department of Defense ("DoD")61%77 %65%74 %
Table 3.4: Contract Balances
Balance Sheet PresentationSeptember 30, 2023December 31, 2022
(in thousands)
Billed accounts receivables (1)
Accounts receivable, net$12,355 $13,521 
Unbilled accounts receivableAccounts receivable, net7,211 11,657 
Contract assetsAccounts receivable, net5,858 14,891 
Contract liabilitiesContract liabilities5,775 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 nine months ended September 30, 2023, that was included in the contract liabilities balance at the beginning of each reporting period was $1.2 million and $5.3 million, respectively. Revenue recognized for the three and nine months ended September 30, 2022, that was included in the contract liabilities balance at the beginning of each reporting period was $0.9 million and $5.0 million, respectively.
As of September 30, 2023, we had approximately $79.0 million of remaining performance obligations, which we also refer to as funded backlog. We expect to recognize approximately 84% of our remaining performance obligations over the next 12 months, and the balance thereafter.