OdooWiki OCA HUB

Brazilian Account Installment Renegotiation

l10n_br_account_renegotiation folder_open OCA/l10n-brazil open_in_new
Localization License: AGPL-3

This module allows renegotiating payment installments on posted invoices without having to reset them to draft.

In Brazilian fiscal scenarios, it's common to need to adjust payment due dates and amounts after an invoice (NFe) has been validated. This module provides a wizard to modify the payment terms while keeping the fiscal document unchanged.

Features:

  • Renegotiate payment installments on posted invoices
  • Modify due dates and amounts while keeping the total unchanged
  • Re-generate all installments from the payment term if needed
  • Edit the payment mode on installments (supports heterogenous payment modes)
  • Automatically logs changes in the invoice's chatter
  • Does not affect the fiscal document (NFe)

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets billing administrators change the due dates, amounts and payment modes of the unpaid installments of an already posted invoice or bill, without resetting it to draft and without touching the fiscal document.

On a posted invoice or vendor bill, a "Renegotiate Installments" button appears in the form header. It is only shown when the invoice is posted, is a real invoice or bill, and still has at least one unpaid (unreconciled) installment line. Only users with Billing Administrator rights can use it.

Clicking the button opens a wizard that lists the current unpaid installments with their due dates, amounts and payment modes. The user can edit each line directly, or pick a new payment term and a starting date to automatically regenerate all installments from that term. The wizard shows the original total, the new total and the difference; the difference must be zero, otherwise a warning appears and the Apply button stays hidden.

When applying, the module checks that the user is a billing administrator, that the invoice is still posted, that the total is unchanged, that there is at least one installment, that every amount is above zero and that every installment has a due date. It then replaces the unpaid installment lines with the new ones, updates the invoice's payment term if it changed, and posts a message in the invoice's chatter showing the previous and the new installments. The fiscal document (NFe) is not affected.

Models and fields (3)
  • account.move · extends an existing modelcan_renegotiate_installments
  • account.installment.renegotiation.wizard · new modelmove_id (Invoice), line_ids (Installments), new_total, company_id, difference, currency_id, starting_date, original_total, payment_term_id (New Payment Term)
  • account.installment.renegotiation.wizard.line · new modelamount, wizard_id (Wizard), company_id, currency_id, date_maturity (Due Date), payment_mode_id (Payment Mode), original_line_id (Original Line)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 16.0

Confirmed on 2026-11-03 in branch 16.0 of OCA/l10n-brazil.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.