XML 79 R83.htm IDEA: XBRL DOCUMENT v2.4.1.9
Pension and Other Postretirement Benefits APBO, PBO, Fair Value of Plan Assets, and Funded Status of the Plans (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Non-current liability $ 110,738us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent $ 80,046us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent  
Public Service Company of New Mexico [Member] | Pension Plan [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 599,537us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
675,549us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Interest cost 30,163us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
28,142us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
32,232us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Plan amendment 0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(6,346)us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Actuarial (gain) loss 72,524us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(56,533)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefits paid (44,667)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(41,275)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefit Obligation at end of year 657,557us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
599,537us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
675,549us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Fair value of plan assets at beginning of year 556,353us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
518,095us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Actual return on plan assets 76,223us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
19,533us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Employer contributions 0us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
60,000us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefits paid (44,667)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(41,275)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Fair value of plan assets at end of year 587,909us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
556,353us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
518,095us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Funded status – asset (liability) for pension benefits (69,648)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(43,184)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Public Service Company of New Mexico [Member] | Other Postretirement Benefits [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 92,165us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
99,613us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Service cost 181us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
260us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
217us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Interest cost 4,630us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
4,113us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
5,293us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Participant contributions (2,582)us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(2,537)us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Actuarial (gain) loss 4,455us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(4,566)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefits paid (8,838)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(9,792)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefit Obligation at end of year 95,175us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
92,165us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
99,613us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Fair value of plan assets at beginning of year 73,565us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
64,464us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Actual return on plan assets 7,334us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
12,780us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Employer contributions 3,532us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
3,576us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Participant contributions 2,582us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
2,537us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefits paid (8,838)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(9,792)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Fair value of plan assets at end of year 78,175us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
73,565us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
64,464us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Funded status – asset (liability) for pension benefits (17,000)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(18,600)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Public Service Company of New Mexico [Member] | Executive Retirement Program [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 16,363us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
17,467us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Interest cost 822us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
720us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
876us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Actuarial (gain) loss 2,040us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(330)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefits paid (1,495)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(1,494)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Benefit Obligation at end of year 17,730us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
16,363us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
17,467us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
Less current liability 1,528us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
1,536us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Non-current liability 16,202us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
14,827us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Benefits paid (1,495)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
(1,494)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_PublicServiceCompanyOfNewMexicoMember
 
Texas-New Mexico Power Company [Member] | Pension Plan [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 66,159us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
76,640us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Interest cost 3,193us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
3,087us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
3,635us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Plan amendment 0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Actuarial (gain) loss 8,466us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(7,820)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefits paid (5,513)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(5,748)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefit Obligation at end of year 72,305us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
66,159us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
76,640us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Fair value of plan assets at beginning of year 66,118us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
66,540us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Actual return on plan assets 8,572us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
4,326us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Employer contributions 0us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
1,000us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefits paid (5,513)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(5,748)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Fair value of plan assets at end of year 69,177us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
66,118us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
66,540us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Funded status – asset (liability) for pension benefits (3,128)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(41)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Texas-New Mexico Power Company [Member] | Other Postretirement Benefits [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 12,266us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
13,678us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Service cost 237us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
299us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
244us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Interest cost 619us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
566us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
624us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Participant contributions (366)us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(373)us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Actuarial (gain) loss 1,639us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(1,080)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefits paid (1,057)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(1,570)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefit Obligation at end of year 14,070us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
12,266us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
13,678us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Fair value of plan assets at beginning of year 9,601us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
8,643us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Actual return on plan assets 841us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
1,813us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Employer contributions 343us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
342us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Participant contributions 366us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
373us-gaap_DefinedBenefitPlanContributionsByPlanParticipants
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefits paid (1,057)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(1,570)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Fair value of plan assets at end of year 10,094us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
9,601us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
8,643us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Funded status – asset (liability) for pension benefits (3,976)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(2,665)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Texas-New Mexico Power Company [Member] | Executive Retirement Program [Member]      
Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]      
Benefit Obligation at beginning of year 823us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
902us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Interest cost 39us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
36us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
45us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Actuarial (gain) loss 110us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(21)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefits paid (94)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
(94)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Benefit Obligation at end of year 878us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
823us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
902us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
Less current liability 94us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
94us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Non-current liability 784us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
729us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Benefits paid $ (94)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember
$ (94)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
/ dei_LegalEntityAxis
= pnm_TexasNewMexicoPowerCompanyMember