XML 37 R76.htm IDEA: XBRL DOCUMENT v2.4.1.9
Noncovered Loans Receivable (Modified TDRs) (Details) (Noncovered Loans, Troubled Debt Restructured Loans, USD $)
12 Months Ended
Dec. 31, 2014
Contract
Dec. 31, 2013
Contract
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 51us-gaap_FinancingReceivableModificationsNumberOfContracts2 [1] 69us-gaap_FinancingReceivableModificationsNumberOfContracts2 [1]
Outstanding Principal Balance $ 17,309,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 [1],[2] $ 13,735,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2 [1],[2]
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Number of Contracts 1us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1 3us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
Outstanding Principal Balance 75,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1 918,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
Number of contracts with no modifications 17hfwa_FinancingReceivablePreModificationsNumberofContracts [1]  
Previously Reported as TDR
   
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Total outstanding principal balance with no prior modifications 4,700,000us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= hfwa_PreviouslyReportedasTroubledDebtRestructuringMember
 
Default due to Past Modified Maturity Date
   
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Number of Contracts 1us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= hfwa_DefaultduetoPastModifiedMaturityDateMember
 
One-to-four Family Residential
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1] 1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1]
Outstanding Principal Balance 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1],[2] 252,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1],[2]
Commercial Business
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 38us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
[1] 40us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
[1]
Outstanding Principal Balance 13,537,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
[1],[2] 7,299,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
[1],[2]
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Number of Contracts 1us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
3us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
Outstanding Principal Balance 75,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
918,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
Commercial Business | Commercial and Industrial
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 32us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
[1] 33us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
[1]
Outstanding Principal Balance 5,926,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
[1],[2] 6,570,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
[1],[2]
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Number of Contracts 0us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
3us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
Outstanding Principal Balance 0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
918,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_CommercialAndIndustrialMember
Commercial Business | Owner-occupied Commercial Real Estate
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
[1] 5us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
[1]
Outstanding Principal Balance 1,063,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
[1],[2] 537,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OwnerOccupiedCommercialRealEstateMember
[1],[2]
Commercial Business | Non-owner Occupied Commercial Real Estate
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
[1] 2us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
[1]
Outstanding Principal Balance 6,548,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
[1],[2] 192,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
[1],[2]
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Number of Contracts 1us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
0us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
Outstanding Principal Balance 75,000us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
0us-gaap_FinancingReceivableModificationsSubsequentDefaultRecordedInvestment1
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_CommercialBusinessMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_NonOwnerOccupiedCommercialRealEstateMember
Real Estate Construction and Land Development
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 10us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
[1] 25us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
[1]
Outstanding Principal Balance 3,553,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
[1],[2] 6,043,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
[1],[2]
Real Estate Construction and Land Development | One-to-four Family Residential
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 10us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1] 24us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1]
Outstanding Principal Balance 3,553,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1],[2] 3,639,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
[1],[2]
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Initial advance at the time of modification 45,000hfwa_LoansandLeasesReceivableImpairedInitialLoanDIsbursement
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
1,100,000hfwa_LoansandLeasesReceivableImpairedInitialLoanDIsbursement
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
Total commitment amount on construction loans 190,000hfwa_LoanandLeaseImpairedCommitmenttoLendatModificationDate
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
4,300,000hfwa_LoanandLeaseImpairedCommitmenttoLendatModificationDate
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
Outstanding principal balance at the time of modification 188,000hfwa_FinancingReceivableModificationRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
2,500,000hfwa_FinancingReceivableModificationRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_OneToFourFamilyResidentialMember
Real Estate Construction and Land Development | Five or More Family Residential and Commercial Properties
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 0us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_FiveOrMoreFamilyResidentialAndCommercialPropertiesMember
[1] 1us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_FiveOrMoreFamilyResidentialAndCommercialPropertiesMember
[1]
Outstanding Principal Balance 0us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_FiveOrMoreFamilyResidentialAndCommercialPropertiesMember
[1],[2] 2,404,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_RealEstateConstructionAndLandDevelopmentMember
/ us-gaap_StatementBusinessSegmentsAxis
= hfwa_FiveOrMoreFamilyResidentialAndCommercialPropertiesMember
[1],[2]
Consumer
   
Noncovered Loans Modified as TDRs [Abstract]    
Number of Contracts 3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
[1] 3us-gaap_FinancingReceivableModificationsNumberOfContracts2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
[1]
Outstanding Principal Balance 219,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
[1],[2] 141,000us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ConsumerMember
[1],[2]
Modified During the Year
   
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Related specific valuation allowance for TDRs 1,800,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_ModifiedduringtheyearMember
 
Finance Receivable Modified Subsequent Default
   
Noncovered Loans Modified, Subsequently Defaulted [Abstract]    
Related specific valuation allowance for TDRs $ 4,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_FinanceReceivableModifiedSubsequentDefaultMember
$ 63,000us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= hfwa_NoncoveredloansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= hfwa_TroubledDebtRestructuredLoansMember
/ us-gaap_ProductOrServiceAxis
= hfwa_FinanceReceivableModifiedSubsequentDefaultMember
[1] Number of contracts and outstanding principal balance represent loans which have balances as of period end as certain loans may have been paid-down or charged-off during the years ended December 31, 2014 and 2013.
[2] Includes subsequent payments after modifications and reflects the balance as of period end. As the Bank did not forgive any principal or interest balance as part of the loan modification, the Bank’s recorded investment in each loan at the date of modification (pre-modification) did not change as a result of the modification (post-modification), except when the modification was the initial advance on a one-to-four family residential real estate construction and land development loan under a master guidance line. During the year ended December 31, 2014, the Company's initial advance at the time of modification on these construction loans totaled $45,000, the total commitment amount was $190,000 and the outstanding principal balance at December 31, 2014 was $188,000. During the year ended December 31, 2013, the Company's initial advance at the time of modification on these construction loans totaled $1.1 million, the total commitment amount was