XML 110 R98.htm IDEA: XBRL DOCUMENT
v3.25.3

RETIREMENT AND EMPLOYEE BENEFIT PLANS - Summary of Participation in Pension Fund Plan (Details) - USD ($) |  | 12 Months Ended
--- | --- | ---
Dec. 15, 2021 | Sep. 30, 2025 | Sep. 30, 2024 | Sep. 30, 2023
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
Multiemployer plan, employer contribution, cost, Total |  | $ 10,154,635 | $ 9,983,684 |
Payments for installment | $ 41,000 |  |  |
Amount expensed |  | $ 0 | $ 0 | $ 164,000
Central States, Southeast and Southwest Areas Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 36-6044243/001 | 36-6044243/001 | 36-6044243/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Green | Green
Contributions of Energy Services Companies |  | $ 121,801 | $ 197,890 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Laborers National Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 75-1280827/001 | 75-1280827/001 | 75-1280827/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Red | Red
FIP/RP Status |  | Implemented | Implemented | Implemented
Contributions of Energy Services Companies |  | $ 1,085,378 | $ 220,354 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Laborers' District Council of Western Pennsylvania Pension Plan |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 25-6135576/001 | 25-6135576/001 | 25-6135576/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Yellow | Yellow
FIP/RP Status |  | Implemented | Implemented | Implemented
Contributions of Energy Services Companies |  |  | $ 4,026 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Operating Engineers Local 324 Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 38-1900637/001 | 38-1900637/001 | 38-1900637/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Red | Red
FIP/RP Status |  | Implemented | Implemented | Implemented
Contributions of Energy Services Companies |  | $ 151,448 | $ 50,666 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
National Automatic Sprinkler Industry Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 52-6054620/001 | 52-6054620/001 | 52-6054620/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Green | Green
Contributions of Energy Services Companies |  | $ 381,313 | $ 570,197 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Carpenters Pension Fund of WV (Greater Pennsylvania Carpenters' Pension Fund 25-6135570/001) |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 55-6027998/001 | 55-6027998/001 | 55-6027998/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Yellow | Yellow
FIP/RP Status |  | Implemented | Implemented | Implemented
Contributions of Energy Services Companies |  | $ 346,464 | $ 871,079 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Plumbers & Pipefitters National Pension Fund (United Association National Pension Fund) |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 52-6152779/001 | 52-6152779/001 | 52-6152779/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Green | Green
Contributions of Energy Services Companies |  | $ 2,200,593 | $ 1,964,549 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Sheet Metal Workers' National Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 52-6112463/001 | 52-6112463/001 | 52-6112463/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Green | Green
Contributions of Energy Services Companies |  | $ 617,501 | $ 370,727 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Sheet Metal Workers Local Pension Fund |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
EIN/Pension Plan Number |  | 34-6666753/001 | 34-6666753/001 | 34-6666753/001
Pension Protection Act ("PPA") Certified Zone Status |  |  | Red | Red
FIP/RP Status |  | Implemented | Implemented | Implemented
Contributions of Energy Services Companies |  |  | $ 4,716 |
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
All Other |  |  |  |
RETIREMENT AND EMPLOYEE BENEFIT PLANS |  |  |  |
Pension Protection Act ("PPA") Certified Zone Status |  |  | Green | Green
Surcharge Imposed |  | No | No | No
Expiration Date of Collective Bargaining Agreement |  | Various | Various | Various
Multiemployer plan, pension, insignificant, employer contribution, cost |  | $ 5,250,137 | $ 5,729,480 |

X
- Definition The amount expensed relating to claim. + References No definition available. + Details
Name: | esoa_ClaimRelatedExpense
Namespace Prefix: | esoa_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition For multiemployer plans, this represents the identification number and plan number. + References No definition available. + Details
Name: | esoa_MultiemployerPlanEinAndPlanNumber
Namespace Prefix: | esoa_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The amount of cash paid for installment. + References No definition available. + Details
Name: | esoa_PaymentsForInstallment
Namespace Prefix: | esoa_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of cost for employer contribution to multiemployer plan. Multiemployer plan includes, but is not limited to, pension plan determined to be individually significant and insignificant and other postretirement benefit plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480606/715-80-35-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-9 + Details
Name: | us-gaap_MultiemployerPlanEmployerContributionCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cost for employer contribution to multiemployer pension plan determined to be individually insignificant. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-9 + Details
Name: | us-gaap_MultiemployerPlanPensionInsignificantEmployerContributionCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of cost for employer contribution to multiemployer pension plan determined to be individually significant. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantEmployerContributionCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Indicates whether funding improvement plan or rehabilitation plan was implemented or pending for multiemployer pension plan, determined to be individually significant. Acceptable values are "No", "Pending", "Implemented", "Other", and "NA". + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantFundingImprovementOrRehabilitationPlanImplementationStatusFixedList
Namespace Prefix: | us-gaap_
Data Type: | us-types:fundingImprovementAndRehabilitationPlanItemType
Balance Type: | na
Period Type: | duration

X
- Definition Indicates whether employer paid surcharge to multiemployer pension plan determined to be individually significant. Acceptable values are "No", "Yes", and "NA". + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlanPensionSignificantSurchargeFixedList
Namespace Prefix: | us-gaap_
Data Type: | us-types:surchargeItemType
Balance Type: | na
Period Type: | duration

X
- Definition Description of the significant collective-bargaining arrangements within the range of expiration dates for collective-bargaining arrangements requiring contributions to a multiemployer plan as well as other information to help investors understand the significance of the collective-bargaining agreements and when they expire. A multiemployer plan is a pension or postretirement benefit plan to which two or more unrelated employers contribute where assets contributed by one participating employer may be used to provide benefits to employees of other participating employers. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 + Details
Name: | us-gaap_MultiemployerPlansCollectiveBargainingArrangementExpirationDateDescription
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Description of the general nature of multiemployer plans and of the employer's participation in those plans that would indicate how the risks of participating in these plans are different from single-employer plans. A multiemployer plan is a pension or postretirement benefit plan to which two or more unrelated employers contribute where assets contributed by one participating employer may be used to provide benefits to employees of other participating employers. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-4 + Details
Name: | us-gaap_MultiemployerPlansGeneralNature
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

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/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-6 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-6 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-6 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-11 Reference 10: http://www.xbrl.org/2003/role/exampleRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 55 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480547/715-80-55-8 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 35 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480606/715-80-35-1 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (e)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Subparagraph (f)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-5 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 80 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480576/715-80-50-9 + Details
Name: | us-gaap_MultiemployerPlansLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_CentralStatesSoutheastAndSouthwestAreasPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_LaborersNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_LaborersDistrictCouncilOfWesternPennsylvaniaPensionPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_OperatingEngineersLocal324PensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_NationalAutomaticSprinklerIndustryPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_CarpentersPensionFundOfWvMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_PlumbersAndPipefittersNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_SheetMetalWorkersNationalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_SheetMetalWorkersLocalPensionFundMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=esoa_AllOtherMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |