Initial commit

This commit is contained in:
gsinghpal
2026-02-22 01:22:18 -05:00
commit 5200d5baf0
2394 changed files with 386834 additions and 0 deletions

View 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,
)