XML 59 R47.htm IDEA: XBRL DOCUMENT
v3.20.2

Note 4 - Regulatory Assets and Liabilities - Amount of Regulatory Assets and Liabilities Recorded on Consolidated Balance Sheets (Details) - USD ($) $ in Thousands | 9 Months Ended | 12 Months Ended
--- | --- | ---
Sep. 30, 2020 | Dec. 31, 2019
Regulatory Assets - Current |  | $ 17,435 | $ 21,650 |
Regulatory Assets - Long -Term |  | 145,977 | 144,138 |
Regulatory Assets - Total |  | 163,412 | 165,788 |
Regulatory Liabilities - Current |  | 12,870 | 7,480 |
Regulatory Liabilities - Long -Term |  | 236,892 | 239,906 |
Regulatory Liabilities - Total |  | 249,762 | 247,386 |
Net Regulatory Asset Position - Current |  | 4,565 | 14,170 |
Net Regulatory Asset Position - Long-Term |  | (90,915) | (95,768) |
Net Regulatory Asset/(Liability) Position |  | (86,350) | (81,598) |
Deferred Income Taxes [Member] |  |  |  |
Regulatory Liabilities - Current |  | 0 | 0 |
Regulatory Liabilities - Long -Term |  | 136,630 | 141,707 |
Regulatory Liabilities - Total |  | 136,630 | 141,707 |
Accumulated Reserve for Estimated Removal Costs - Net of Salvage [Member] |  |  |  |
Regulatory Liabilities - Current |  | 0 | 0 |
Regulatory Liabilities - Long -Term |  | 99,617 | 97,726 |
Regulatory Liabilities - Total |  | 99,617 | 97,726 |
Refundable Fuel Clause Adjustment Revenues [Member] |  |  |  |
Regulatory Liabilities - Current |  | 9,208 | 3,982 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 9,208 | $ 3,982 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 12 months | 12 months |
North Dakota Transmission Cost Recovery Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 1,233 | $ 700 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 1,233 | $ 700 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 3 months | 12 months |
South Dakota Phase-in Rate Plan Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 1,090 | $ 355 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 1,090 | $ 355 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 11 months | 9 months |
Revenue for Rate Case Expenses Subject to Refund - Minnesota [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 0 | $ 0 |
Regulatory Liabilities - Long -Term |  | 577 | 401 |
Regulatory Liabilities - Total |  | 577 | 401 |
Prior Service Costs and Actuarial Losses on Pensions and Other Postretirement Benefits [Member] |  |  |  |
Regulatory Liabilities - Current |  | 471 | 471 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 471 | $ 471 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 12 months | 12 months |
North Dakota Renewable Resource Recovery Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 444 | $ 1,515 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 444 | $ 1,515 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 6 months | 12 months |
Minnesota Energy Intensive Trade Exposed Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 186 | $ 164 |
Regulatory Liabilities - Long -Term |  | 0 | 0 |
Regulatory Liabilities - Total |  | $ 186 | $ 164 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 12 months | 12 months |
South Dakota Transmission Cost Recovery Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 232 |  |
Regulatory Liabilities - Long -Term |  | 0 |  |
Regulatory Liabilities - Total |  | $ 232 |  |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 5 months |  |
North Dakota Generation Cost Recovery Rider Accrued Refund [Member] |  |  |  |
Regulatory Liabilities - Current |  |  | $ 287 |
Regulatory Liabilities - Long -Term |  |  | 0 |
Regulatory Liabilities - Total |  |  | $ 287 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  |  | 6 months |
Other [Member] |  |  |  |
Regulatory Liabilities - Current |  | $ 6 | $ 6 |
Regulatory Liabilities - Long -Term |  | 68 | 72 |
Regulatory Liabilities - Total |  | $ 74 | $ 78 |
Regulatory Liabilities - Remaining Recovery/Refund Period (Month) |  | 159 months | 168 months |
Prior Service Costs and Actuarial Losses on Pensions and Other Postretirement Benefits [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 9,018 | $ 9,090 |
Regulatory Assets - Long -Term | [1] | 122,765 | 129,102 |
Regulatory Assets - Total | [1] | 131,783 | 138,192 |
Minnesota Transmission Cost Recovery Rider Accrued Revenues [Member] |  |  |  |
Regulatory Assets - Current | [2] | 3,676 | 4,208 |
Regulatory Assets - Long -Term | [2] | 6,126 | 0 |
Regulatory Assets - Total | [2] | $ 9,802 | $ 4,208 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [2] | 27 months | 12 months |
Accumulated Asset Retirement Obligation (ARO) Accretion/Depreciation Adjustment [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 0 | $ 0 |
Regulatory Assets - Long -Term | [1] | 8,481 | 7,772 |
Regulatory Assets - Total | [2] | 8,481 | 7,772 |
Conservation Improvement Program Costs and Incentives [Member] |  |  |  |
Regulatory Assets - Current | [2] | 1,040 | 4,024 |
Regulatory Assets - Long -Term | [2] | 2,094 | 2,844 |
Regulatory Assets - Total | [2] | $ 3,134 | $ 6,868 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [2] | 24 months | 21 months |
Nonservice Costs Components of Postretirement Benefits Capitalized for Ratemaking Purposes and Subject to Deferred Recovery [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 0 | $ 0 |
Regulatory Assets - Long -Term | [1] | 2,149 | 1,681 |
Regulatory Assets - Total | [1] | 2,149 | 1,681 |
MISO Schedule 26/26A Transmission Cost Recovery Rider True-up [Member] |  |  |  |
Regulatory Assets - Current | [1] | 1,234 | 2,033 |
Regulatory Assets - Long -Term | [1] | 559 | 968 |
Regulatory Assets - Total | [1] | $ 1,793 | $ 3,001 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 27 months | 24 months |
Unrecovered Project Costs – Minnesota [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 401 | $ 715 |
Regulatory Assets - Long -Term | [1] | 1,092 | 225 |
Regulatory Assets - Total | [1] | $ 1,493 | $ 940 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) |  | 21 months | 16 months | [1]
Minnesota Renewable Resource Rider Accrued Revenues [Member] |  |  |  |
Regulatory Assets - Current | [2] | $ 1,203 | $ 131 |
Regulatory Assets - Long -Term | [2] | 0 | 0 |
Regulatory Assets - Total | [2] | $ 1,203 | $ 131 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 12 months | 12 months |
Unrecovered Project Costs – North Dakota [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 0 |  |
Regulatory Assets - Long -Term | [1] | 856 |  |
Regulatory Assets - Total | [1] | $ 856 |  |
Regulatory Assets - Remaining Recovery/Refund Period (Month) |  | 21 months |  |
Minnesota SPP Transmission Cost Recovery Tracker [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 0 | $ 0 |
Regulatory Assets - Long -Term | [1] | 759 | 202 |
Regulatory Assets - Total | [1] | 759 | 202 |
Debt Reacquisition Premiums [Member] |  |  |  |
Regulatory Assets - Current | [1] | 204 | 201 |
Regulatory Assets - Long -Term | [1] | 379 | 548 |
Regulatory Assets - Total | [1] | $ 583 | $ 749 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 144 months | 153 months |
Unrecovered Project Costs – South Dakota [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 144 | $ 144 |
Regulatory Assets - Long -Term | [1] | 357 | 253 |
Regulatory Assets - Total | [1] | $ 501 | $ 397 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) |  | 24 months | 33 months | [1]
South Dakota Deferred Rate Case Expenses Subject to Recovery [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 137 | $ 138 |
Regulatory Assets - Long -Term | [1] | 143 | 245 |
Regulatory Assets - Total | [1] | $ 280 | $ 383 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 25 months | 34 months |
North Dakota Deferred Rate Case Expenses Subject to Recovery [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 122 | $ 122 |
Regulatory Assets - Long -Term | [1] | 152 | 244 |
Regulatory Assets - Total | [1] | $ 274 | $ 366 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 27 months | 36 months |
Deferred Marked-to-Market Losses [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 186 | $ 743 |
Regulatory Assets - Total | [1] | $ 186 | $ 743 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 3 months | 12 months |
Deferred Lease Expenses [Member] |  |  |  |
Regulatory Assets - Current | [1] | $ 0 | $ 0 |
Regulatory Assets - Long -Term | [1] | 65 | 54 |
Regulatory Assets - Total | [1] | $ 65 | $ 54 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [1] | 56 months | 39 months |
North Dakota Generation Cost Recovery Rider Accrued Revenues [Member] |  |  |  |
Regulatory Assets - Current | [2] | $ 66 |  |
Regulatory Assets - Long -Term | [2] | 0 |  |
Regulatory Assets - Total | [2] | $ 66 |  |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [2] | 9 months |  |
Minnesota Environmental Cost Recovery Rider Accrued Revenues [Member] |  |  |  |
Regulatory Assets - Current | [2] | $ 4 | $ 4 |
Regulatory Assets - Long -Term | [2] | 0 | 0 |
Regulatory Assets - Total | [2] | $ 4 | $ 4 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [2] | 12 months | 12 months |
South Dakota Transmission Cost Recovery Rider Accrued Revenues [Member] |  |  |  |
Regulatory Assets - Current | [2] |  | $ 97 |
Regulatory Assets - Long -Term | [2] |  | 0 |
Regulatory Assets - Total | [2] |  | $ 97 |
Regulatory Assets - Remaining Recovery/Refund Period (Month) | [2] |  | 2 months |
[1] | Costs subject to recovery without a rate of return.
[2] | Amount eligible for recovery under an alternative revenue program which includes an incentive or rate of return.

X
- Definition Represents net regulatory assets (liability) current. + References No definition available. + Details
Name: | ottr_NetRegulatoryAssetsLiabilityCurrent
Namespace Prefix: | ottr_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Represents net regulatory assets (liability) noncurrent. + References No definition available. + Details
Name: | ottr_NetRegulatoryAssetsLiabilityNoncurrent
Namespace Prefix: | ottr_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The net amount of all regulatory assets less all regulatory liabilities as of the end of the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 340 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6499975&loc=d3e44250-110382 + Details
Name: | us-gaap_NetRegulatoryAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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: | duration

X
- Definition The amount for the individual regulatory asset as itemized in a table of regulatory assets as of the end of the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 340 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6499975&loc=d3e44250-110382 + Details
Name: | us-gaap_RegulatoryAssets
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 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 -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 340 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6499975&loc=d3e44250-110382 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 340 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6499975&loc=d3e44250-110382 + Details
Name: | us-gaap_RegulatoryAssetsNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The amount for the individual regulatory liability as itemized in a table of regulatory liabilities as of the end of the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 405 -Section 25 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6500807&loc=d3e48068-110394 + Details
Name: | us-gaap_RegulatoryLiabilities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
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: | duration

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 -Publisher FASB -Name Accounting Standards Codification -Topic 980 -SubTopic 405 -Section 25 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6500807&loc=d3e48068-110394 + 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 -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.24) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + 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_AccumulatedReserveForEstimatedRemovalCostsNetOfSalvageMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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