XML 37 R27.htm IDEA: XBRL DOCUMENT
v3.26.1

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 |

X
- Definition Schedule of changes in allowance for doubtful accounts receivable [Table Text Block] + References No definition available. + Details
Name: | TGLS_ScheduleOfChangesInAllowanceForDoubtfulAccountsReceivableTableTextBlock
Namespace Prefix: | TGLS_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule Of Revenues Distribution By End Market [Table Text Block] + References No definition available. + Details
Name: | TGLS_ScheduleOfRevenuesDistributionByEndMarketTableTextBlock
Namespace Prefix: | TGLS_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -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 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481962/310-10-50-3 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 310 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2 + Details
Name: | us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of segment reporting. Includes, but is not limited to, reconciliation of reportable segment amount to corresponding consolidated total. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 34 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26C -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26B -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 26A -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26A Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByLiabilityClassAxis=TGLS_ContractLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=us-gaap_ReportableSegmentAggregationBeforeOtherOperatingSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |