XML 24 R14.htm IDEA: XBRL DOCUMENT
v3.26.1

Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities | 3 Months Ended
--- | ---
Mar. 31, 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. Schedule of Disaggregation by Revenue
|  | 2026 |  |  | 2025 |
|  | Three months ended |
|  | March 31, |
|  | 2026 |  |  | 2025 |
Fixed price contracts |  | $ | 76,108 |  |  | $ | 52,974 |
Product sales |  |  | 172,904 |  |  |  | 169,314 |
Total Revenues |  | $ | 249,012 |  |  | $ | 222,288 |
The following table presents revenues broken down by geographical location: Schedule of Geographic Information
|  | 2026 |  |  | 2025 |
|  | Three months ended March 31, |
|  | 2026 |  |  | 2025 |
Colombia |  | $ | 7,519 |  |  | $ | 6,414 |
United States |  |  | 237,140 |  |  |  | 212,454 |
Panama |  |  | - |  |  |  | 455 |
Other |  |  | 4,353 |  |  |  | 2,965 |
Total Revenues |  | $ | 249,012 |  |  | $ | 222,288 |
The following table presents revenues broken down by market: Schedule of Revenues Distribution By End Market
|  | 2026 |  |  | 2025 |
|  | Three months ended |
|  | March 31, |
|  | 2026 |  |  | 2025 |
Residential |  | $ | 88,470 |  |  | $ | 88,929 |
Commercial |  |  | 160,542 |  |  |  | 133,359 |
Total Revenues |  | $ | 249,012 |  |  | $ | 222,288 |
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: Schedule of Trade Accounts Receivable
|  | March 31, 2026 |  |  | December 31, 2025 |
Short-term trade accounts receivable |  | $ | 269,227 |  |  | $ | 243,768 |
Less: Allowance for credit losses |  |  | (4,847 | ) |  |  | (4,320 | )
Total short-term trade accounts receivable |  |  | 264,380 |  |  |  | 239,448 |
Long term trade accounts |  |  | 1,771 |  |  |  | 1,730 |
Total trade accounts receivable |  | $ | 266,151 |  |  | $ | 241,178 |
The changes in the allowance for credit losses for the three months ended March 31, 2026, are: Schedule of Changes in Allowance for Doubtful Accounts Receivable
|  | Three months ended March 31, 2026 |
Balance at beginning of period |  | $ | 4,320 |
Provisions for credit losses |  |  | 1,088 |
Deductions and write-offs, net of foreign currency adjustment |  |  | (561 | )
Balance at end of period |  | $ | 4,847 |
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): Schedule of Contract Assets and Liabilities
|  | March 31, 2026 |  |  | December 31, 2025 |
Contract assets — current |  | $ | 29,301 |  |  | $ | 31,809 |
Contract assets — non-current |  |  | 25,009 |  |  |  | 20,506 |
Contract liabilities — current |  |  | (161,005 | ) |  |  | (149,442 | )
Contract liabilities — non-current |  |  | (1,632 | ) |  |  | (1,988 | )
Net contract liability |  | $ | (108,327 | ) |  | $ | (99,115 | )
The components of contract assets are presented in the table below: Schedule of Contract Assets and Liabilities
|  | March 31, 2026 |  |  | December 31, 2025 |
Unbilled contract receivables, gross |  | $ | 6,806 |  |  | $ | 9,084 |
Retainage |  |  | 47,504 |  |  |  | 43,231 |
Total contract assets |  |  | 54,310 |  |  |  | 52,315 |
Less: current portion |  |  | 29,301 |  |  |  | 31,809 |
Contract Assets – non-current |  | $ | 25,009 |  |  | $ | 20,506 |
The components of contract liabilities are presented in the table below: Schedule of Contract Assets and Liabilities
|  | March 31, 2026 |  |  | December 31, 2025 |
Billings in excess of costs |  | $ | 111,804 |  |  | $ | 104,376 |
Advances from customers on uncompleted contracts |  |  | 50,833 |  |  |  | 47,054 |
Total contract liabilities |  |  | 162,637 |  |  |  | 151,430 |
Less: current portion |  |  | 161,005 |  |  |  | 149,442 |
Contract liabilities – non-current |  | $ | 1,632 |  |  | $ | 1,988 |
During the three months ended March 31, 2026, the Company recognized $11,812 of sales related to its contract liabilities on January 1, 2026, respectively. During the three months ended March 31, 2025, the Company recognized $6,544 of sales related to its contract liabilities on January 1, 2025, respectively. Remaining Performance Obligations As of March 31, 2026, the Company had $878.3 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 $432.3 million are expected to be recognized during the year ending December 31, 2026, $376.1 million during the year ending December 31, 2027, and $70.0 million during the year ending December 31, 2028.

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

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration