XML 125 R14.htm IDEA: XBRL DOCUMENT
v3.25.4

Uncompleted Contracts | 12 Months Ended
--- | ---
Dec. 31, 2025
Revenue from Contract with Customer [Abstract] |
Uncompleted Contracts | Uncompleted Contracts Costs, estimated earnings, and billings on uncompleted contracts at December 31 are summarized as follows:
| 2025 |  | 2024
| (In thousands)
Costs incurred on uncompleted contracts | $ | 1,570,937 |  |  | $ | 1,300,669 |
Estimated earnings | 261,986 |  |  | 222,368 |
Estimated revenue on uncompleted contracts | 1,832,923 |  |  | 1,523,037 |
Less billings to date | (1,789,168) |  |  | (1,533,880) |
Net contract asset (liability) | $ | 43,755 |  |  | $ | (10,843) |
The timing of invoicing to customers does not necessarily correlate with the timing of revenues being recognized under the cost-to-cost method of accounting. Contracts from contracting services are billed as work progresses in accordance with agreed upon contractual terms. Generally, billing to the customer occurs contemporaneous to revenue recognition. A variance in timing of the billings may result in a contract asset or a contract liability. A contract asset occurs when revenues are recognized under the cost-to-cost measure of progress, which exceeds amounts billed on uncompleted contracts. Such amounts will be billed as standard contract terms allow, usually based on various measures of performance or achievement. A contract liability occurs when there are billings in excess of revenues recognized under the cost-to-cost measure of progress on uncompleted contracts. Contract liabilities decrease as revenue is recognized from the satisfaction of the related performance obligation. Such amounts are included in the accompanying Consolidated Balance Sheets at December 31 under the following captions:
| 2025 |  | 2024 |  | Change |  |
| (In thousands) |  |
Contract assets 1 | $ | 77,528 |  |  | $ | 31,283 |  |  | $ | 46,245 |  |  |
Contract liabilities 1 | (33,773) |  |  | (42,126) |  |  | 8,353 |  |  |
Net contract asset (liability) | $ | 43,755 |  |  | $ | (10,843) |  |  | $ | 54,598 |  |  |
1 Following the issuance of the FASB Staff Educational Paper on Topic 606: Presentation and Disclosure of Retainage for Construction Contractors, we have reclassed retention receivables on a contract-by-contract basis from accounts receivable to contract assets and liabilities. The change in presentation was on a prospective basis beginning with balances as of December 31, 2025.
| 2024 |  | 2023 |  | Change |  |
| (In thousands) |  |
Contract assets | $ | 31,283 |  |  | $ | 27,293 |  |  | $ | 3,990 |  |  |
Contract liabilities | (42,126) |  |  | (51,376) |  |  | 9,250 |  |  |
Net contract asset (liability) | $ | (10,843) |  |  | $ | (24,083) |  |  | $ | 13,240 |  |  |
We recognized $41.2 million and $50.6 million in revenue for the years ended December 31, 2025 and 2024, respectively, which was previously included in contract liabilities at December 31, 2024 and 2023, respectively. We recognized a net increase in revenues of approximately $28.5 million and $32.6 million for the years ended December 31, 2025 and 2024, respectively, from performance obligations satisfied in prior periods. Remaining performance obligations The remaining performance obligations, also referred to as backlog, include unrecognized revenues that we reasonably expect to be realized. These unrecognized revenues can include: projects that have a written award, a letter of intent, a notice to proceed, an agreed upon work order to perform work on mutually accepted terms and conditions and change orders or claims to the extent management believes additional contract revenues will be earned and are deemed probable of collection. The majority of our contracts for contracting services have an original duration of less than one year. At December 31, 2025, our remaining performance obligations were $1.0 billion. We expect to recognize the following revenue amounts in future periods related to these remaining performance obligations: $768.8 million within the next 12 months; $170.8 million within the next 13 to 24 months; and $92.5 million thereafter.

X
- Definition Uncompleted Contracts + References No definition available. + Details
Name: | knf_UncompletedContractsTextBlock
Namespace Prefix: | knf_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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