Repository
OCA/l10n-italy · module folder · Try on Runboat
Module version
1.9.0
Category
Localization/Italy
Folder size
2.91 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-italy
Last tracking update
2026-08-07 08:09:16
Authors
Odoo Community Association (OCA), Agile Business Group, Davide Corio, Innoviu
Maintainers
Odoo Community Association (OCA), Agile Business Group, Davide Corio, Innoviu
Committers
eLBati, Sergio Zanchetta, Francesco Ballerini, micheledic, Simone Rubino, Weblate, OCA-git-bot, oca-ci, gianmarco, Docker @ kuntrawant, Alessandro Uffreduzzi, Marco Colombo, odooNextev, michelerusti, Borruso, LorenzoC0, TennyMKT, Salvo Rapisarda, mde-spring
Odoo dependencies
Python dependencies
elementpath, unidecode, xmlschema, asn1crypto, codicefiscale
System dependencies
None
Required by
l10n_it_fatturapa_export_zip, l10n_it_fatturapa_import_zip, l10n_it_fatturapa_out_di, l10n_it_fatturapa_out_dn, l10n_it_fatturapa_out_oss, l10n_it_fatturapa_out_rc, l10n_it_fatturapa_out_sp, l10n_it_fatturapa_out_stamp, l10n_it_fatturapa_out_triple_discount, l10n_it_fatturapa_out_wt, l10n_it_fatturapa_pec, l10n_it_fatturapa_sdicoop, l10n_it_riba_oca, l10n_it_sdi_channel
Description
**Italiano**

Questo modulo consente di generare i file XML della fattura elettronica
versione 1.2

<http://www.fatturapa.gov.it/export/fatturazione/it/normativa/f-2.htm>

da inviare al Sistema di Interscambio (SdI).

<http://www.fatturapa.gov.it/export/fatturazione/it/sdi.htm>

**English**

This module allows you to generate the Electronic Invoice XML files
version 1.2

<http://www.fatturapa.gov.it/export/fatturazione/en/normativa/f-2.htm>

to be sent to the Exchange System (ES).

<http://www.fatturapa.gov.it/export/fatturazione/en/sdi.htm>

Code Analysis

Views touched (29)
XML IDNameModelTypeStatus
account_invoice_it_FatturaPA_export account_invoice_it_FatturaPA_export ir.ui.view qweb New
account_invoice_it_FatturaPA_sede account_invoice_it_FatturaPA_sede ir.ui.view qweb New
account_invoice_it_cedente_prestatore account_invoice_it_cedente_prestatore ir.ui.view qweb New
account_invoice_it_cessionario_committente account_invoice_it_cessionario_committente ir.ui.view qweb New
account_invoice_it_dati_bollo account_invoice_it_dati_bollo ir.ui.view qweb New
account_invoice_it_dati_cassa_previdenziale account_invoice_it_dati_cassa_previdenziale ir.ui.view qweb New
account_invoice_it_dati_ddt account_invoice_it_dati_ddt ir.ui.view qweb New
account_invoice_it_dati_documenti_correlati account_invoice_it_dati_documenti_correlati ir.ui.view qweb New
account_invoice_it_dati_documento_correlato account_invoice_it_dati_documento_correlato ir.ui.view qweb New
account_invoice_it_dati_ritenuta account_invoice_it_dati_ritenuta ir.ui.view qweb New
account_invoice_it_dati_trasmissione account_invoice_it_dati_trasmissione ir.ui.view qweb New
account_invoice_it_dati_trasporto account_invoice_it_dati_trasporto ir.ui.view qweb New
account_invoice_it_fattura_elettronica_body account_invoice_it_fattura_elettronica_body ir.ui.view qweb New
account_invoice_it_rappresentante_fiscale account_invoice_it_rappresentante_fiscale ir.ui.view qweb New
account_invoice_it_terzo_intermediario_soggetto_emittente account_invoice_it_terzo_intermediario_soggetto_emittente ir.ui.view qweb New
account_invoice_line_it_FatturaPA account_invoice_line_it_FatturaPA ir.ui.view qweb New
account_invoice_line_it_sconto_maggiorazione account_invoice_line_it_sconto_maggiorazione ir.ui.view qweb New
account_invoice_line_ritenuta account_invoice_line_ritenuta ir.ui.view qweb New
fatturapa_attachment_out_form_statusbar Allow to change status by clicking on the status bar fatturapa.attachment.out form Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_form
view_account_config_settings view_account_config_settings res.config.settings Inherits l10n_it_fatturapa.view_account_config_settings
view_account_invoice_fatturapa_out_filter view.account.invoice.fatturapa.out.filter account.move Inherits account.view_account_invoice_filter
view_fatturapa_out_attachment_form fatturapa.attachment.out.form fatturapa.attachment.out form Inherits l10n_it_fatturapa.fatturapa_attachment_view_form
view_fatturapa_out_attachment_search fatturapa.attachment.out.search fatturapa.attachment.out search New
view_fatturapa_out_attachment_tree fatturapa.attachment.out.tree fatturapa.attachment.out tree New
view_invoice_fatturapa_out_tree view.invoice.fatturapa.out.tree account.move tree Inherits account.view_invoice_tree
view_invoice_form_fatturapa account.invoice.fatturapa account.move form Inherits account.view_move_form
view_partner_form_fatturapa partner.form.fatturapa res.partner form Inherits l10n_it_fatturapa.view_partner_form_fatturapa
wizard_export_fatturapa_form_view Export Electronic Invoice wizard.export.fatturapa form New
wizard_export_fatturapa_form_view_regenerate Export Electronic Invoice Regenerate wizard.export.fatturapa form Inherits l10n_it_fatturapa_out.wizard_export_fatturapa_form_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (8)

New fields (6)
  • e_invoice_hide_line_type Selection
    help='Choose which type of descriptive line will not be present in the e-invoice.\nIf empty, the same field in the partner is evaluated.' selection=E_INVOICE_HIDE_LINE_TYPE_SELECTION
  • fatturapa_attachment_out_id Many2one → fatturapa.attachment.out
    copy=False readonly=True args: 'fatturapa.attachment.out', 'E-invoice Export File'
  • fatturapa_payment_method_id Many2one → fatturapa.payment_method
    comodel_name='fatturapa.payment_method' compute='_compute_fatturapa_payment_term_data' help="Fiscal Payment Method used in the e-invoice, defaults to the Payment Term's Fiscal Payment Method." readonly=False store=True string='Fiscal Payment Method'
  • fatturapa_payment_term_id Many2one → fatturapa.payment_term
    comodel_name='fatturapa.payment_term' compute='_compute_fatturapa_payment_term_data' help="Fiscal Payment Term used in the e-invoice, defaults to the Payment Term's Fiscal Payment Term." readonly=False store=True string='Fiscal Payment Term'
  • fatturapa_state Selection
    compute='_compute_fatturapa_state' store='true' string='E-invoice State' args: [('ready', 'Ready to Send'), ('sent', 'Sent'), ('delivered', 'Delivered'), ('accepted', 'Accepted'), ('error', 'Error')]
  • has_pdf_invoice_print Boolean
    readonly=True related='fatturapa_attachment_out_id.has_pdf_invoice_print'
Public methods (2)
  • button_draft(self)
  • preventive_checks(self)

New fields (7)
  • delivered_date Datetime
    readonly=True
  • has_pdf_invoice_print Boolean
    compute='_compute_has_pdf_invoice_print' help='True if all the invoices have a printed report attached in the XML, False otherwise.' store=True
  • invoice_partner_id Many2one → res.partner
    compute='_compute_invoice_partner_id' store=True string='Customer' args: 'res.partner'
  • out_invoice_ids One2many → account.move
    readonly=True string='Out Invoices' args: 'account.move', 'fatturapa_attachment_out_id'
  • sending_date Datetime
    readonly=True args: 'Sent Date'
  • sending_user Many2one → res.users
    comodel_name='res.users' readonly=True
  • state Selection
    default='ready' selection=[('ready', 'Ready to Send'), ('sent', 'Sent'), ('sender_error', 'Sender Error'), ('recipient_error', 'Not delivered'), ('rejected', 'Rejected (PA)'), ('validated', 'Delivered'), ('accepted', 'Accepted')] tracking=True
Public methods (5)
  • file_name_exists(self, file_id)
  • get_file_vat(self)
    @api.model
  • reset_to_ready(self)
  • unlink(self)
  • write(self, vals)

New fields (1)
  • is_pdf_invoice_print Boolean
    help='This attachment contains the PDF report of the linked invoice'
Public methods (0)

No public methods.

New fields (4)
  • e_invoice_hide_line_type Selection
    help='Choose which type of descriptive line will not be present in e-invoices.' selection=E_INVOICE_HIDE_LINE_TYPE_SELECTION
  • e_invoice_transmitter_id Many2one → res.partner
    default=<expr> help='This partner will be used as transmitter in out invoice.' required=True args: 'res.partner', 'E-bill Transmitter'
  • max_invoice_in_xml Integer
    default=0 help='Customer default for maximum number of invoices to group in a single XML file. 0=Unlimited' string='Max Invoice # in XML'
  • xml_divisa_value Selection
    default=_DEFAULT_XML_DIVISA_VALUE string='XML Divisa value' args: [('keep_orig', 'Keep original'), ('force_eur', 'Force euro')]
Public methods (0)

No public methods.

New fields (4)
  • e_invoice_hide_line_type Selection
    readonly=False related='company_id.e_invoice_hide_line_type'
  • e_invoice_transmitter_id Many2one
    readonly=False related='company_id.e_invoice_transmitter_id'
  • max_invoice_in_xml Integer
    readonly=False related='company_id.max_invoice_in_xml'
  • xml_divisa_value Selection
    readonly=False related='company_id.xml_divisa_value'
Public methods (1)
  • onchange_company_id(self)
    @api.onchange('company_id')

New fields (2)
  • e_invoice_hide_line_type Selection
    help='Choose which type of descriptive line will not be present in the e-invoices of this partner.\nIf empty, the same field in the company is evaluated.' selection=E_INVOICE_HIDE_LINE_TYPE_SELECTION
  • max_invoice_in_xml Integer
    default=<expr> help='Maximum number of invoices to group in a single XML file.\nIf this is 0, then the number configured in the account settings is considered.' string='Max Invoice # in XML'
Public methods (0)

No public methods.

New fields (1)
  • report_print_menu Many2one → ir.actions.report
    help='This report will be automatically included in the created XML' args: 'ir.actions.report'
Public methods (12)
  • exportFatturaPA(self)
  • exportInvoiceXML(self, partner, invoice_ids, attach=False, context=None)
  • generate_attach_report(self, inv)
  • getAllTaxes(self, invoice)
    @api.model
    Generate summary data for taxes. Odoo does that for us, but only for nonzero taxes. SdI expects a summary for every tax mentioned in the invoice, even those with price_total == 0.
  • getImportoTotale(self, invoice)
    @api.model
    Entry point for other modules to override computation of ImportoTotaleDocumento
  • getPartnerId(self, invoice_ids)
  • getPayments(self, invoice)
    @api.model
    Entry point for other modules to override computation of DettaglioPagamento We use a specialized class to allow other modules change values w/o altering the original lines
  • getTemplateValues(self, template_values)
    @api.model
    Entry point for other modules to override values (and helper functions) passed to template
  • get_e_invoice_lines(self, invoice)
    @api.model
    Invoice lines are not all to be translated to e-invoice lines. For instance, some invoice lines will be translated to DatiCassaPrevidenziale nodes.
  • group_invoices_by_partner(self)
  • saveAttachment(self, fatturapa, number)
  • setProgressivoInvio(self, attach=False)

New fields (0)

No new fields.

Public methods (2)
  • exportFatturaPARegenerate(self)
  • updateAttachment(self, attach, fatturapa)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…