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