Initial commit
This commit is contained in:
35
Fusion Accounting/models/account_fiscal_position.py
Normal file
35
Fusion Accounting/models/account_fiscal_position.py
Normal file
@@ -0,0 +1,35 @@
|
||||
# Fusion Accounting - Fiscal Position Extensions
|
||||
# Automated draft tax closing moves for foreign VAT positions
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class FusionFiscalPosition(models.Model):
|
||||
"""Extends fiscal positions to generate draft tax-closing entries
|
||||
whenever a foreign VAT number is set or updated."""
|
||||
|
||||
_inherit = 'account.fiscal.position'
|
||||
|
||||
def _inverse_foreign_vat(self):
|
||||
"""When the foreign_vat field is written, propagate draft
|
||||
closing moves for each affected fiscal position."""
|
||||
super()._inverse_foreign_vat()
|
||||
for fpos in self:
|
||||
if fpos.foreign_vat:
|
||||
fpos._create_draft_closing_move_for_foreign_vat()
|
||||
|
||||
def _create_draft_closing_move_for_foreign_vat(self):
|
||||
"""For every existing draft tax-closing entry, ensure a
|
||||
corresponding closing move exists for this fiscal position."""
|
||||
self.ensure_one()
|
||||
draft_closings = self.env['account.move'].search([
|
||||
('tax_closing_report_id', '!=', False),
|
||||
('state', '=', 'draft'),
|
||||
])
|
||||
for closing_date, grouped_entries in draft_closings.grouped('date').items():
|
||||
for entry in grouped_entries:
|
||||
self.company_id._get_and_update_tax_closing_moves(
|
||||
closing_date,
|
||||
entry.tax_closing_report_id,
|
||||
fiscal_positions=self,
|
||||
)
|
||||
Reference in New Issue
Block a user