XML 120 R85.htm IDEA: XBRL DOCUMENT v2.4.1.9
Covered Loans Receivable (Impaired Loans) (Details) (Covered Impaired Loans, USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance $ 2,240,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment $ 17,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment  
Recorded Investment With Specific Valuation Allowance 1,835,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment 4,201,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment  
Total Recorded Investment 4,075,000us-gaap_ImpairedFinancingReceivableRecordedInvestment 4,218,000us-gaap_ImpairedFinancingReceivableRecordedInvestment  
Unpaid Contractual Principal Balance 5,482,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance 4,192,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance  
Related Specific Valuation Allowance 423,000us-gaap_ImpairedFinancingReceivableRelatedAllowance 660,000us-gaap_ImpairedFinancingReceivableRelatedAllowance  
Average Recorded Investment on Impaired Loans 4,092,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 1,963,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 234,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Nonaccrual
     
Financing Receivable, Impaired [Line Items]      
Interest income recognized on impaired loans 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_NonaccrualMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_NonaccrualMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_NonaccrualMember
Restructured Performing
     
Financing Receivable, Impaired [Line Items]      
Interest income recognized on impaired loans 5,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_RestructuredPerformingMember
16,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_RestructuredPerformingMember
7,000us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_RestructuredPerformingMember
One-to-four Family Residential
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance   0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
 
Recorded Investment With Specific Valuation Allowance   450,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
 
Total Recorded Investment   450,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
 
Unpaid Contractual Principal Balance   423,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
 
Related Specific Valuation Allowance   31,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
 
Average Recorded Investment on Impaired Loans 90,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
459,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
187,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
Commercial Business
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 2,240,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
10,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
 
Recorded Investment With Specific Valuation Allowance 1,650,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
3,751,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
 
Total Recorded Investment 3,890,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
3,761,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
 
Unpaid Contractual Principal Balance 5,292,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
3,761,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
 
Related Specific Valuation Allowance 370,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
629,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
 
Average Recorded Investment on Impaired Loans 3,959,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
1,484,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
21,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
Commercial Business | Commercial and Industrial
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 2,240,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
10,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
 
Recorded Investment With Specific Valuation Allowance 94,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
3,751,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
 
Total Recorded Investment 2,334,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
3,761,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
 
Unpaid Contractual Principal Balance 3,696,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
3,761,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
 
Related Specific Valuation Allowance 9,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
629,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
 
Average Recorded Investment on Impaired Loans 3,421,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
1,484,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
21,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
Commercial Business | Owner-occupied Commercial Real Estate
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
   
Recorded Investment With Specific Valuation Allowance 1,132,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
   
Total Recorded Investment 1,132,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
   
Unpaid Contractual Principal Balance 1,156,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
   
Related Specific Valuation Allowance 295,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
   
Average Recorded Investment on Impaired Loans 367,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
Commercial Business | Non-owner Occupied Commercial Real Estate
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
   
Recorded Investment With Specific Valuation Allowance 424,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
   
Total Recorded Investment 424,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
   
Unpaid Contractual Principal Balance 440,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
   
Related Specific Valuation Allowance 66,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
   
Average Recorded Investment on Impaired Loans 171,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
Real Estate Construction and Land Development
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
   
Recorded Investment With Specific Valuation Allowance 179,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
   
Total Recorded Investment 179,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
   
Unpaid Contractual Principal Balance 182,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
   
Related Specific Valuation Allowance 51,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
   
Average Recorded Investment on Impaired Loans 36,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
Real Estate Construction and Land Development | One-to-four Family Residential
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
   
Recorded Investment With Specific Valuation Allowance 179,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
   
Total Recorded Investment 179,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
   
Unpaid Contractual Principal Balance 182,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
   
Related Specific Valuation Allowance 51,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
   
Average Recorded Investment on Impaired Loans 36,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
Consumer
     
Financing Receivable, Impaired [Line Items]      
Recorded Investment With No Specific Valuation Allowance 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
7,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
 
Recorded Investment With Specific Valuation Allowance 6,000us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
 
Total Recorded Investment 6,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
7,000us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
 
Unpaid Contractual Principal Balance 8,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
8,000us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
 
Related Specific Valuation Allowance 2,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
 
Average Recorded Investment on Impaired Loans $ 7,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
$ 20,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
$ 26,000us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_CoveredImpairedLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember