12345678910111213141516171819202122232425262728293031 |
- # -*- coding:utf-8 -*-
- # Part of Odoo. See LICENSE file for full copyright and licensing details.
- from odoo import models
- class AccountEdiFormat(models.Model):
- _inherit = 'account.edi.format'
- def _l10n_it_invoice_is_direct(self, invoice):
- """ An invoice is only direct if the Transport Documents are all done the same day as the invoice. """
- for ddt in invoice.l10n_it_ddt_ids:
- if not ddt.date_done or ddt.date_done != invoice.invoice_date:
- return False
- return True
- def _l10n_it_get_invoice_features_for_document_type_selection(self, invoice):
- res = super()._l10n_it_get_invoice_features_for_document_type_selection(invoice)
- res['direct_invoice'] = self._l10n_it_invoice_is_direct(invoice)
- return res
- def _l10n_it_document_type_mapping(self):
- """ Deferred invoices (not direct) require TD24 FatturaPA Document Type. """
- res = super()._l10n_it_document_type_mapping()
- for document_type, infos in res.items():
- if document_type == 'TD07':
- continue
- infos['direct_invoice'] = True
- res['TD24'] = dict(move_types=['out_invoice'], import_type='in_invoice', direct_invoice=False)
- return res
|