XML 40 R76.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans Receivable (Recorded Investment in loans individually evaluated for impairment) (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Financing Receivable, Impaired [Line Items]    
Allowance for loan and lease losses, non covered $ 69,517us-gaap_LoansAndLeasesReceivableAllowance $ 54,298us-gaap_LoansAndLeasesReceivableAllowance
Non-covered originated loans [Member]    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 344,102us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
124,053us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Recorded Investment 330,455us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
112,639us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Allowance for loan and lease losses, non covered 9,809us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
10,139us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Coverage 3.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
9.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered acquired loans accounted under ASC 310-20    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 672us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
208us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Recorded Investment 672us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
208us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Allowance for loan and lease losses, non covered 0us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
0us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Coverage 0.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
0.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 415,826us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
527,088us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment 369,258us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
503,869us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered 13,481us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
2,863us-gaap_LoansAndLeasesReceivableAllowance
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage 4.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
1.00%ofg_AllowanceToLoansCoverage
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Commercial impaired loans with specific allowance [Member] | Non-covered originated loans [Member]    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 6,349us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
6,600us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Recorded Investment 6,226us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
5,553us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Allowance for loan and lease losses, non covered 841us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
1,431us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Coverage 14.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
26.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Residential troubled-debt restructuring impaired loans with specific allowance [Member] | Non-covered originated loans [Member]    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 99,947us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
89,539us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Recorded Investment 94,185us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
84,494us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Allowance for loan and lease losses, non covered 8,968us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
8,708us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Coverage 10.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
10.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ResidentialTroubledDebtRestructuringImpairedLoansWithSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Commercial impaired loans with no specific allowance [Member] | Non-covered originated loans [Member]    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 237,806us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
27,914us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Recorded Investment 230,044us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
22,592us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_NonCoveredOriginatedLoansMember
Commercial impaired loans with no specific allowance [Member] | Non-covered acquired loans accounted under ASC 310-20    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 672us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
208us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Recorded Investment 672us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
208us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedLoansWithNoSpecificAllowanceMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_LoansReceivableAcquiredMember
Mortgage impaired non-covered loan pool [Member] | Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal   5,183us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MortgageImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment   4,718us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MortgageImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered   57us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MortgageImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage   1.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MortgageImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Commercial impaired non-covered loan pool [Member] | Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 289,228us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
48,100us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment 255,619us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
40,411us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered 5,506us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
394us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage 2.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
1.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Construction impaired non-covered loan pool [Member] | Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 90,786us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
21,526us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment 83,751us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
17,818us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered 7,970us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
1,319us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage 10.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
7.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConstructionImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Consumer impaired non-covered loan pool [Member] | Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal 35,812us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
73,043us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment 29,888us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
63,606us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered 5us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
361us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage 0.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
1.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_ConsumerImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Auto impaired non-covered loan pool [Member] | Non-covered acquired loans accounted under ASC 310-30    
Financing Receivable, Impaired [Line Items]    
Unpaid Principal   379,236us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Recorded Investment   377,316us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Allowance for loan and lease losses, non covered   $ 732us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member
Coverage   0.00%ofg_AllowanceToLoansCoverage
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoImpairedNonCoveredLoanPoolMember
/ ofg_NonCoveredLoansByInstitutionAxis
= ofg_MostRecentAcquiredLoansAccountedUnderAsc310301Member