v3.26.1
Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities
6 Months Ended
Jun. 30, 2026
Operating revenues:  
Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities

Note 5. – Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities

 

Disaggregation of Total Net Sales

 

The Company disaggregates its sales with customers by revenue recognition method for its only segment, as the Company believes these factors affect nature, amount, timing and uncertainty of the Company’s revenue and cash flows.

 

   2026   2025   2026   2025 
   Three months ended   Six months ended 
   June 30,   June 30, 
   2026   2025   2026   2025 
Fixed price contracts  $79,645   $61,228   $155,753   $114,202 
Product sales   215,646    194,318    388,550    363,632 
Total Revenues  $295,291   $255,546   $544,303   $477,834 

 

The following table presents revenues broken down by geographical location:

 

   2026   2025   2026   2025 
   Three months ended
June 30,
   Six months ended
June 30,
 
   2026   2025   2026   2025 
Colombia  $6,154   $6,621   $13,673   $13,035 
United States   286,242    242,347    523,382    454,801 
Other   2,895    6,578    7,248    9,998 
Total Revenues  $295,291   $255,546   $544,303   $477,834 

 

The following table presents revenues broken down by market:

 

   2026   2025   2026   2025 
   Three months ended
June 30,
   Six months ended
June 30,
 
   2026   2025   2026   2025 
Residential  $126,499   $109,598   $214,969   $198,527 
Commercial   168,792    145,948    329,334    279,307 
Total Revenues  $295,291   $255,546   $544,303   $477,834 

 

Trade Accounts Receivable

 

In the ordinary course of business, we extend credit to customers on a generally non-collateralized basis. The Company maintains an allowance for expected credit losses which is based on management’s assessments of the amount which may become uncollectible in the future and is determined through consideration of our write-off history, specific identification of uncollectible accounts based in part on the customer’s past due balance (based on contractual terms), and consideration of prevailing economic and industry conditions. Uncollectible accounts are written off after repeated attempts to collect from the customer have been unsuccessful.

 

Trade accounts receivable consists of the following:

 

 

   June 30,
2026
   December 31,
2025
 
Short-term trade accounts receivable  $292,134   $243,768 
Less: Allowance for credit losses   (4,668)   (4,320)
Total short-term trade accounts receivable   287,466    239,448 
Long term trade accounts   1,887    1,730 
Total trade accounts receivable  $289,353   $241,178 

 

The changes in the allowance for credit losses for the six months ended June 30, 2026, are:

 

 

   Six months ended
June 30, 2026
 
Balance at beginning of period  $4,320 
Provisions for credit losses   1,322 
Deductions and write-offs, net of foreign currency adjustment   (974)
Balance at end of period  $4,668 

 

Contract Assets and Liabilities

 

Contract assets represent accumulated incurred costs and earned profits on contracts with customers that have been recorded as sales but have not been billed to customers and are classified as current. In addition, a portion of the amounts billed on certain fixed price contracts that are withheld by the customer as a retainage until a final good receipt of the complete project to the customers satisfaction. Contract liabilities consist of advance payments and billings in excess of costs incurred and deferred revenue, and represent amounts received in excess of sales recognized on contracts. The Company classifies advance payments and billings in excess of costs incurred as current, and deferred revenue as current or non-current based on the expected timing of sales recognition. Contract assets and contract liabilities are determined on a contract-by-contract basis at the end of each reporting period. The non-current portion of contract liabilities is included in long-term liabilities in the Company’s condensed consolidated balance sheets.

 

 

The table below presents the components of net contract assets (liabilities):

 

   June 30,
2026
   December 31,
2025
 
Contract assets — current  $29,701   $31,809 
Contract assets — non-current   28,414    20,506 
Contract liabilities — current   (173,825)   (149,442)
Contract liabilities — non-current   (1,045)   (1,988)
Net contract liability  $(116,755)  $(99,115)

 

The components of contract assets are presented in the table below:

 

 

   June 30,
2026
   December 31,
2025
 
Unbilled contract receivables, gross  $6,421   $9,084 
Retainage   51,694    43,231 
Total contract assets   58,115    52,315 
Less: current portion   29,701    31,809 
Contract Assets – non-current  $28,414   $20,506 

 

The components of contract liabilities are presented in the table below:

 

   June 30,
2026
   December 31,
2025
 
Billings in excess of costs  $122,407   $104,376 
Advances from customers on uncompleted contracts   52,463    47,054 
Total contract liabilities   174,780    151,430 
Less: current portion   173,825    149,442 
Contract liabilities – non-current  $1,045   $1,988 

 

During the three and six months ended June 30, 2026, the Company recognized $11,336 and $23,274 of sales related to its contract liabilities on January 1, 2026, respectively. During the three and six months ended June 30, 2025, the Company recognized $10,314 and $16,858 of sales related to its contract liabilities on January 1, 2025, respectively.

 

Remaining Performance Obligations

 

As of June 30, 2026, the Company had $884.2 million of remaining performance obligations, which represents the transaction price of firm orders minus sales recognized from inception to date. Remaining performance obligations exclude unexercised contract options, verbal commitments, Letters of Intent or written mandates, and potential orders under basic ordering agreements. The Company expects to recognize 100% of sales relating to existing performance obligations within three years, of which $309.2 million are expected to be recognized during the year ending December 31, 2026, $409.8 million during the year ending December 31, 2027, and $165.2 million during the year ending December 31, 2028.