XML 53 R75.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans Receivable (Investment in non-covered loans on non-accrual status) (Details) (USD $)
In Thousands, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Non Covered Loan [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status $ 101,542us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredLoanMember
$ 83,277us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredLoanMember
Non-covered originated loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 97,367us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
76,907us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Mortgages [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 65,430us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgagesMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
48,183us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgagesMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Traditional loan    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 41,272us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConventionalLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
26,942us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConventionalLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated Up To The Year 2002 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 4,427us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedUpToYear2002Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
3,428us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedUpToYear2002Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated In The Years 2003 And 2004 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 7,042us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears2003And2004Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
1,845us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears2003And2004Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated In The Year 2005 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 4,585us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYear2005Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
4,922us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYear2005Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated In The Year 2006 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 9,274us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYear2006Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
4,418us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYear2006Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated In The Years 2007 2008 And 2009 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 8,579us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears20072008And2009Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
4,511us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears20072008And2009Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Originated In The Years 2010 2011 2012 2013 And 2014 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 7,365us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears2010201120122013And2014Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
7,818us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OriginatedInYears2010201120122013And2014Member
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | NonTraditional Mortgage [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 3,224us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_NontraditionalMortgageMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
2,311us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_NontraditionalMortgageMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Loss Mitigation Program [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 20,934us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_LossMitigationProgramMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
18,792us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_LossMitigationProgramMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Home equity secured personal loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_HomeEquitySecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
138us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_HomeEquitySecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Commercial Loan [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 21,679us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
22,830us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 18,534us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
19,103us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Middle Market Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 9,534us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MiddleMarketCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
11,895us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MiddleMarketCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Retail Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 9,000us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
7,208us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Other Commercial and Industrial[Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 3,145us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
3,727us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Middle Market Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 618us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MiddleMarketOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
1,134us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_MiddleMarketOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Retail Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 2,527us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
2,485us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Floor Plan Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
108us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 1,590us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
805us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Credit Cards [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 375us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CreditCardReceivablesMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
232us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CreditCardReceivablesMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Unsecured personal lines of credit [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 110us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLinesOfCreditMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
84us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLinesOfCreditMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Unsecured personal loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 1,092us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
485us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Cash collateral personal loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 13us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CashCollateralPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
4us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CashCollateralPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Non-covered originated loans [Member] | Auto and Leasing loans receivable    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 8,668us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoAndLeasingLoansReceivableMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
5,089us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoAndLeasingLoansReceivableMember
/ ofg_ReceivableComponentsAxis
= ofg_NonCoveredOriginatedLoansMember
Accounted for under ASC 310-20 [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 4,175us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
6,370us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Commercial Loan [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 1,187us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
2,543us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 758us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
1,057us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Retail Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 351us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
956us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Floor Plan Commercial Secured [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 407us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
101us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanCommercialSecuredMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Other Commercial and Industrial[Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 429us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
1,486us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_OtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Corporate Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CorporateOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
97us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_CorporateOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Retail Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 195us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
1,371us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_RetailOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Floor Plan Other Commercial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 234us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
18us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_FloorPlanOtherCommercialMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 1,476us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
2,219us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Credit Cards [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 1,399us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CreditCardReceivablesMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
2,068us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CreditCardReceivablesMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Unsecured personal loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status 77us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
151us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_UnsecuredPersonalLoansMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
Accounted for under ASC 310-20 [Member] | Auto and Leasing loans receivable    
Financing Receivable, Recorded Investment [Line Items]    
Financing Receivable, Recorded Investment, Nonaccrual Status $ 1,512us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoAndLeasingLoansReceivableMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member
$ 1,608us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ofg_AutoAndLeasingLoansReceivableMember
/ ofg_ReceivableComponentsAxis
= ofg_AccountedForUnderAsc31020Member