XML 62 R51.htm IDEA: XBRL DOCUMENT
v3.25.2

Regulatory Matters (Details) - USD ($) $ in Thousands | Jun. 30, 2025 | Dec. 31, 2024
--- | --- | ---
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | $ 8,946 | $ 9,962
Regulatory assets, long-term | 99,010 | 98,673
Regulatory liabilities, current | 24,580 | 29,307
Regulatory liabilities, long -term | 289,546 | 288,928
Deferred Income Taxes |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities, current | 0 | 0
Regulatory liabilities, long -term | 126,602 | 130,387
Plant Removal Obligations |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities, current | 0 | 0
Regulatory liabilities, long -term | $ 126,522 | 126,263
Fuel Clause Adjustments |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities - Remaining Recovery/Refund Period | 1 year |
Regulatory liabilities, current | $ 4,971 | 11,432
Regulatory liabilities, long -term | $ 0 | 0
Alternative Revenue Program Riders |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities - Remaining Recovery/Refund Period | 1 year |
Regulatory liabilities, current | $ 14,724 | 14,255
Regulatory liabilities, long -term | 0 | 0
North Dakota PTC Refunds |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities, current | 0 | 0
Regulatory liabilities, long -term | 24,766 | 20,099
Pension and Other Postretirement Benefit Plans |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities, current | 2,547 | 2,547
Regulatory liabilities, long -term | 9,977 | 10,758
Other |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory liabilities, current | 2,338 | 1,073
Regulatory liabilities, long -term | 1,679 | 1,421
Pension and Other Postretirement Benefit Plans |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | 0 | 0
Regulatory assets, long-term | 87,508 | 88,161
Alternative Revenue Program Riders |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | 4,982 | 4,257
Regulatory assets, long-term | $ 98 | 195
Regulatory assets - Remaining Recovery/Refund Period | 2 years |
Deferred Income Taxes |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | $ 0 | 0
Regulatory assets, long-term | 9,299 | 8,944
Fuel Clause Adjustments |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | 2,036 | 2,218
Regulatory assets, long-term | $ 0 | 0
Regulatory assets - Remaining Recovery/Refund Period | 1 year |
Derivative Instruments |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | $ 902 | 1,989
Regulatory assets, long-term | $ 822 | 0
Regulatory assets - Remaining Recovery/Refund Period | 2 years |
Other |  |
Schedule of Regulatory Assets and Liabilities [Line Items] |  |
Regulatory assets - current | $ 1,026 | 1,498
Regulatory assets, long-term | $ 1,283 | $ 1,373

X
- Definition Schedule of Regulatory Assets and Liabilities + References No definition available. + Details
Name: | ottr_ScheduleOfRegulatoryAssetsAndLiabilitiesLineItems
Namespace Prefix: | ottr_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amortization period for the recovery of regulatory asset, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_RegulatoryAssetAmortizationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Carrying amount as of the balance sheet date of capitalized costs of regulated entities that are expected to be recovered through revenue sources within one year or the normal operating cycle, if longer. Such costs are capitalized if they meet both of the following criteria: a. It is probable that future revenue in an amount at least equal to the capitalized cost will result from inclusion of that cost in allowable costs for rate-making purposes. b. Based on available evidence, the future revenue will be provided to permit recovery of the previously incurred cost rather than to provide for expected levels of similar future costs. If the revenue will be provided through an automatic rate-adjustment clause, this criterion requires that the regulator's intent clearly be to permit recovery of the previously incurred cost. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 980 -SubTopic 340 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478742/980-340-50-1 + Details
Name: | us-gaap_RegulatoryAssetsCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Carrying amount as of the balance sheet date of capitalized costs of regulated entities that are not expected to be recovered through revenue sources within one year or the normal operating cycle if longer. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 980 -SubTopic 340 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478742/980-340-50-1 + Details
Name: | us-gaap_RegulatoryAssetsNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amortization period for the recovery of regulatory liability, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_RegulatoryLiabilityAmortizationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition The amount for the individual regulatory current liability as itemized in a table of regulatory current liabilities as of the end of the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 980 -SubTopic 405 -Name Accounting Standards Codification -Section 25 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477571/980-405-25-1 + Details
Name: | us-gaap_RegulatoryLiabilityCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The amount for the individual regulatory noncurrent liability as itemized in a table of regulatory noncurrent liabilities as of the end of the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(24)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_RegulatoryLiabilityNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_DeferredIncomeTaxesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_PlantRemovalObligationsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_FuelClauseAdjustmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_AlternativeRevenueProgramRidersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_NorthDakotaPTCRefundsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_PensionAndOtherPostretirementBenefitPlansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryLiabilityAxis=ottr_OtherRegulatoryLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_PensionAndOtherPostretirementBenefitPlansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_AlternativeRevenueProgramRidersMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_DeferredIncomeTaxesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_FuelClauseAdjustmentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_RegulatoryAssetDerivativeInstrumentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RegulatoryAssetAxis=ottr_OtherRegulatoryAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |