-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FIX] l10n_br: Make sure credit notes use same sequence as invoices
Bugfix. Steps to reproduce: 1. Create a fresh DB with the Brazilian localization. 2. Create a new Credit Note (directly from the menu, not from an invoice). Confirm. 3. Observe that you get a ValidationError: "Another entry with the same name already exists." because the name of the Credit Note is NFe 00000001, and an invoice called NFe 00000001 already exists. Analysis: The credit note should be called NFe 00000002, because in Brazil the same sequences should be used both for invoices and for credit notes of a given document type. However, because the `refund_sequence` field is set to True on the 'Customer Invoices' journal, the sequence mixin doesn't consider invoices and credit notes as using the same sequence, and therefore doesn't consider the existing invoice when finding a new name for the credit note. Solution: Set the field `refund_sequence` to False on the journal created by the l10n_br template. We also take the opportunity to move the code that provides a default name to the demo invoices to a separate file demo/account_demo.py, for consistency with other localizations. closes odoo#137700 Signed-off-by: Josse Colpaert <jco@odoo.com>
- Loading branch information
1 parent
2a4bdce
commit dc3a099
Showing
5 changed files
with
28 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# Part of Odoo. See LICENSE file for full copyright and licensing details. | ||
from . import demo | ||
from . import models | ||
from . import wizard |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import account_demo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Part of Odoo. See LICENSE file for full copyright and licensing details. | ||
from odoo import models, api | ||
|
||
|
||
class AccountChartTemplate(models.AbstractModel): | ||
_inherit = 'account.chart.template' | ||
|
||
@api.model | ||
def _get_demo_data_move(self, company=False): | ||
""" Set the l10n_latam_document_number on demo invoices """ | ||
move_data = super()._get_demo_data_move(company) | ||
if company.account_fiscal_country_id.code == 'BR': | ||
number = 0 | ||
for move in move_data.values(): | ||
# vendor bills must be manually numbered (l10n_br uses the standard AccountMove._is_manual_document_number()) | ||
if move['move_type'] == 'in_invoice': | ||
move['l10n_latam_document_number'] = f'{number:08d}' | ||
number += 1 | ||
|
||
return move_data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters