v3.26.1
Revenue
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Revenue

3. Revenue

The following table disaggregates our net sales by product category:

 

 

 

Three Months Ended
June 30,

 

 

Six Months Ended
June 30,

 

 

 

2026

 

 

2025

 

 

2026

 

 

2025

 

 

 

(in thousands)

 

Manufactured products

 

$

831,622

 

 

$

959,349

 

 

$

1,566,208

 

 

$

1,813,232

 

Windows, doors and millwork

 

 

954,610

 

 

 

1,050,742

 

 

 

1,808,574

 

 

 

1,994,837

 

Specialty building products and services

 

 

1,036,890

 

 

 

1,092,342

 

 

 

1,890,276

 

 

 

1,980,959

 

Lumber and lumber sheet goods

 

 

1,039,426

 

 

 

1,131,631

 

 

 

1,884,567

 

 

 

2,102,532

 

Net sales

 

$

3,862,548

 

 

$

4,234,064

 

 

$

7,149,625

 

 

$

7,891,560

 

 

As our product category alignment continues to be refined, we have reclassified prior periods’ net sales by product category to conform to current period presentation. The impact to each of the prior periods’ net sales for manufactured products, windows, doors and millwork, specialty building products and services, and lumber and lumber sheet goods was 0.7%, 2.0%, -2.3%, and -0.1%, respectively, for the three months ended June 30, 2025 and 0.5%, 1.8%, -2.1%, and -0.2%, respectively, for the six months ended June 30, 2025.

The timing of revenue recognition, invoicing, and cash collection results in accounts receivable, unbilled receivables, contract assets, and contract liabilities. Contract assets include unbilled amounts when the revenue recognized exceeds the amount billed to the customer, and amounts representing a right to payment from previous performance that is conditional on something other than passage of time, such as retainage. Contract liabilities consist of customer advances and deposits, and deferred revenue.

Through June 30, 2026, and 2025, we recognized as revenue approximately 85% and 84% of the contract liabilities balances outstanding as of December 31, 2025, and 2024, respectively.