XML 76 R64.htm IDEA: XBRL DOCUMENT
v3.25.3

DISAGGREGATION OF REVENUE (Details) - USD ($) | 12 Months Ended
--- | ---
Sep. 30, 2025 | Sep. 30, 2024
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | $ 411,001,373 | $ 351,876,861
Earned over time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 284,868,712 | 214,705,335
Earned at point in time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 126,132,661 | 137,171,526
Lump sum contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 141,753,561 | 121,997,872
Unit price contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 201,775,642 | 157,833,157
Cost plus and T&M contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 67,472,170 | 72,045,832
Gas & Water Distribution |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 149,574,917 | 82,426,199
Gas & Water Distribution | Earned over time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 84,260,791 | 9,541,650
Gas & Water Distribution | Earned at point in time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 65,314,126 | 72,884,549
Gas & Water Distribution | Lump sum contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 0 | 0
Gas & Water Distribution | Unit price contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 149,574,917 | 82,426,199
Gas & Water Distribution | Cost plus and T&M contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 0 | 0
Gas & Petroleum Transmission |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 64,586,137 | 81,055,175
Gas & Petroleum Transmission | Earned over time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 48,061,502 | 71,265,020
Gas & Petroleum Transmission | Earned at point in time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 16,524,635 | 9,790,155
Gas & Petroleum Transmission | Lump sum contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 0 | 0
Gas & Petroleum Transmission | Unit price contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 48,061,502 | 71,265,020
Gas & Petroleum Transmission | Cost plus and T&M contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 16,524,635 | 9,790,155
Electrical, Mechanical, & General |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 196,840,319 | 188,395,487
Electrical, Mechanical, & General | Earned over time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 152,546,419 | 133,898,665
Electrical, Mechanical, & General | Earned at point in time |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 44,293,900 | 54,496,822
Electrical, Mechanical, & General | Lump sum contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 141,753,561 | 121,997,872
Electrical, Mechanical, & General | Unit price contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | 4,139,223 | 4,141,938
Electrical, Mechanical, & General | Cost plus and T&M contracts |  |
DISAGGREGATION OF REVENUE |  |
Total revenue from contracts | $ 50,947,535 | $ 62,255,677

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + 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 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 9: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42 Reference 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 924 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4 + Details
Name: | us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=esoa_LumpSumContractsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=esoa_UnitPriceContractsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=esoa_CostPlusAndTMContractsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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