Revenues, Trade Accounts Receivable, Contract Assets and Contract Liabilities (Tables)
|
6 Months Ended |
Jun. 30, 2026 |
| Schedule of Disaggregation by Revenue |
The
Company disaggregates its sales with customers by revenue recognition method for its 1only 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 | | |
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 | |
|
| Schedule of Revenues Distribution By End Market |
The
following table presents revenues broken down by market:
Schedule
of Revenues Distribution By End 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 | |
|
| Schedule of Trade Accounts Receivable |
Trade
accounts receivable consists of the following:
Schedule of Trade Accounts Receivable
| | |
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 | |
|
| Schedule of Changes in Allowance for Doubtful Accounts Receivable |
The
changes in the allowance for credit losses for the six months ended June 30, 2026, are:
Schedule of Changes in Allowance for Doubtful Accounts Receivable
| | |
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 | |
|
| Schedule of Contract Assets and Liabilities |
The
table below presents the components of net contract assets (liabilities):
Schedule of Contract Assets and 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 | ) |
|
| Contract Assets [Member] |
|
| Schedule of Contract Assets and Liabilities |
The
components of contract assets are presented in the table below:
Schedule of Contract Assets and Liabilities
| | |
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 | |
|
| Contract Liabilities [Member] |
|
| Schedule of Contract Assets and Liabilities |
The
components of contract liabilities are presented in the table below:
Schedule of Contract Assets and Liabilities
| | |
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 | |
|
| Reportable Segment, Aggregation before Other Operating Segment [Member] |
|
| Schedule of Geographic Information |
The
following table presents revenues broken down by geographical location:
Schedule of Geographic Information
| | |
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 | |
|