XML 11 R39.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance for Losses on Loans - Impaired Loans Based on Loan Types (Details) (USD $)
In Thousands, unless otherwise specified
6 Months Ended 12 Months Ended
Mar. 31, 2015
Sep. 30, 2014
Financing Receivable, Impaired [Line Items]    
Recorded Investment $ 385,651us-gaap_ImpairedFinancingReceivableRecordedInvestment $ 435,185us-gaap_ImpairedFinancingReceivableRecordedInvestment
Unpaid Principal Balance 413,940us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance 470,190us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
Related Allowance 8,597us-gaap_ImpairedFinancingReceivableRelatedAllowance 10,587us-gaap_ImpairedFinancingReceivableRelatedAllowance
Average Recorded Investment 377,636us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 403,138us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Amount of related allowance included in specific reserves   60us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
Amount of related allowance included in general reserves   10,527us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 45,560us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
46,680us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
Unpaid Principal Balance 66,459us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
73,123us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
Average Recorded Investment 41,076us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
37,474us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 340,091us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
388,505us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
Unpaid Principal Balance 347,481us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
397,067us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
Related Allowance 8,597us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
10,587us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
Average Recorded Investment 336,560us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
365,664us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
Single-Family Residential [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 314,115us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
346,364us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Unpaid Principal Balance 321,394us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
354,497us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Related Allowance 8,597us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
10,527us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Average Recorded Investment 310,630us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
333,191us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Single-Family Residential [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 23,164us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
24,044us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Unpaid Principal Balance 25,986us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
26,628us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Average Recorded Investment 21,135us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
16,843us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Single-Family Residential [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 290,951us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
322,320us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Unpaid Principal Balance 295,408us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
327,869us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Related Allowance 8,597us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
10,527us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Average Recorded Investment 289,495us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
316,348us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Construction - Speculative [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 7,405us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
9,159us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Unpaid Principal Balance 8,390us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
10,159us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
60us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Average Recorded Investment 7,261us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
9,336us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Construction - Speculative [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 997us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
1,603us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Unpaid Principal Balance 1,192us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
2,173us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Average Recorded Investment 1,001us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
1,804us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Construction - Speculative [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 6,408us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
7,556us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Unpaid Principal Balance 7,198us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
7,986us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
60us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Average Recorded Investment 6,260us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
7,532us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Land - Acquisition & Development [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 4,864us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
5,533us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Unpaid Principal Balance 6,348us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
7,961us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Average Recorded Investment 4,946us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
5,152us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Land - Acquisition & Development [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 685us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
837us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Unpaid Principal Balance 1,229us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
2,325us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Average Recorded Investment 738us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,038us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Land - Acquisition & Development [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 4,179us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
4,696us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Unpaid Principal Balance 5,119us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
5,636us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Average Recorded Investment 4,208us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
4,114us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Land - Consumer Lot Loans [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 13,854us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
13,976us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Unpaid Principal Balance 14,335us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
14,457us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Average Recorded Investment 13,520us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
13,571us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Land - Consumer Lot Loans [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 1,353us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
974us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Unpaid Principal Balance 1,451us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
1,072us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Average Recorded Investment 1,144us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
713us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Land - Consumer Lot Loans [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 12,501us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
13,002us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Unpaid Principal Balance 12,884us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
13,385us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Average Recorded Investment 12,376us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
12,858us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Multi-Family [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 4,941us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
6,354us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Unpaid Principal Balance 4,941us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
6,574us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Average Recorded Investment 4,627us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
5,284us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Multi-Family [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 1,079us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
1,111us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Unpaid Principal Balance 1,079us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
1,111us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Average Recorded Investment 1,080us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
327us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Multi-Family [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 3,862us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
5,243us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Unpaid Principal Balance 3,862us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
5,463us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Average Recorded Investment 3,547us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
4,957us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Commercial Real Estate [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 30,441us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
47,393us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Unpaid Principal Balance 35,468us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
55,113us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Average Recorded Investment 28,747us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30,292us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Commercial Real Estate [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 9,768us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
13,234us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Unpaid Principal Balance 14,145us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
20,085us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Average Recorded Investment 9,587us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
11,720us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Commercial Real Estate [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 20,673us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
34,159us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Unpaid Principal Balance 21,323us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
35,028us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Average Recorded Investment 19,160us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
18,572us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Commercial & Industrial [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 6,988us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,195us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Unpaid Principal Balance 18,865us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
17,166us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Average Recorded Investment 5,091us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,900us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Commercial & Industrial [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 6,988us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,195us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Unpaid Principal Balance 18,865us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
17,166us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Average Recorded Investment 5,091us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,900us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
HELOC [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 2,506us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
2,505us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Unpaid Principal Balance 3,292us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
3,216us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Average Recorded Investment 2,321us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,816us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
HELOC [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 1,112us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,019us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Unpaid Principal Balance 1,898us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,730us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Average Recorded Investment 931us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
612us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
HELOC [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 1,394us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,486us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Unpaid Principal Balance 1,394us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,486us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Average Recorded Investment 1,390us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,204us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Consumer [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 537us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
706us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Unpaid Principal Balance 907us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
1,047us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Average Recorded Investment 493us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
596us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Consumer [Member] | Financing Receivable, Impairment, No Related Allowance [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 414us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
663us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Unpaid Principal Balance 614us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
833us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Average Recorded Investment 369us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
517us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentNoRelatedAllowanceMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Consumer [Member] | Financing Receivable, Impairment, Allowance Recorded [Member]    
Financing Receivable, Impaired [Line Items]    
Recorded Investment 123us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
43us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Unpaid Principal Balance 293us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
214us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Average Recorded Investment $ 124us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
$ 79us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= wfsl_FinancingReceivableImpairmentAllowanceRecordedMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember