diff --git a/models/financial_contract_guarantee.py b/models/financial_contract_guarantee.py
index b1e012946383fa46ace761fa114fbdcdee3a4c05..f30e447d977f82f220fa7a522fbc9cfdeb4cb31b 100644
--- a/models/financial_contract_guarantee.py
+++ b/models/financial_contract_guarantee.py
@@ -289,6 +289,9 @@ class FinancialContractGuarantee(models.Model):
                         "amount_received": last_line.amount_received,
                     }
                 )
+                if last_line.remaining_capital == 0:
+                    guarantee.state = "done"
+                    guarantee.external_loan_id.state = "done"
 
     @api.depends("line_ids", "line_ids.commission_amount")
     def _compute_commission_amount(self):