Italy - E-invoicing - Base Feature

l10n_it_edi_extension
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/18.0/l10n_it_edi_extension
VERSION
VERSION 1.12.0
CATEGORY
CATEGORYAccounting/Localizations/EDI
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Giuseppe Borruso
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Giuseppe Borruso
COMMITTERS
COMMITTERSeLBati, tafaRU, Weblate, OCA-git-bot, sergiocorato, Simone Rubino, micheledic, oca-ci, Marco Colombo, odooNextev, Borruso, Lorenzo Allegrucci, stenext, Michele Di Croce, Alberto Giardino, marcelofrare
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_account
OCA/partner-contact:
    - partner_firstname
OCA/server-ux:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - l10n_it
    - base_iban
    - base_vat
    - l10n_it_edi
    - account_edi_proxy_client
    - certificate
    - l10n_it_edi_ndd
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES codicefiscale
openupgradelib
cryptography
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**Italiano**

Questo modulo estende le funzionalità standard della fatturazione elettronica italiana di Odoo, introducendo strumenti utili come l'anteprima XML ed il calcolo dei codici fiscali e miglioramenti nell'importazione e nell'esportazione delle fatture XML.

Le funzionalità principali incluse sono:

1. Anteprima e Download del file XML:

   - Aggiunge un pulsante ("Preview") direttamente nel form della fattura, sia per fatture inviate che ricevute.
   - Dalla stessa finestra della fattura, è possibile scaricare il file XML generato.

2. Valorizza i seguenti campi/nodi della fattura elettronica esportata:

   - `<RiferimentoAmministrazione>` (sia sulla riga o nell'azienda): identificativo utilizzato per uso amministrativo/gestionale interno. È un campo libero che può essere utilizzato per inserire riferimenti specifici richiesti dalla Pubblica Amministrazione o altri riferimenti utili per la gestione amministrativa.
   - `<StabileOrganizzazione>`: rappresenta i dati della sede operativa stabile del cedente/prestatore in Italia se diversa dalla sede legale. Da impostare in odoo nell'azienda, tab "Informazioni Generali"
   - `<Causale>`: in questo caso non c'è un campo apposito, ma trascrive i "Termini e condizioni" della fattura
   - `<Art73>`: indica se il documento è stato emesso secondo modalità e termini stabiliti con decreto ministeriale ai sensi dell'articolo 73 del DPR 633/72. Da impostare in odoo nell'azienda o direttamente in fattura.
   - `<AltriDatiGestionali>` (2.2.1.16): dati gestionali aggiuntivi che possono essere inseriti manualmente su ogni riga fattura ed esportati nel file XML FatturaPA. Ogni voce include:
     - `<TipoDato>`: tipo di dato (max 10 caratteri, obbligatorio)
     - `<RiferimentoTesto>`: riferimento testuale (max 60 caratteri)
     - `<RiferimentoNumero>`: riferimento numerico (fino a 8 decimali)
     - `<RiferimentoData>`: riferimento data
     - Per aggiungere questi dati, aprire la riga fattura e compilare la sezione "Altri Dati Gestionali".
   - `<IndirizzoResa>`: rappresenta l'indirizzo di consegna della merce.

3. Miglioramenti nell'import delle fatture XML:

   - Aggiunge un'opzione per creare i contatti presenti in una fattura elettronica se non esistono in anagrafica tra cui:
     - `<CessionarioCommittente>` e `<CedentePrestatore>` invece di scrivere solamente i dettagli nel chatter.
   - Creazione di altri contatti presenti in una fattura elettronica se non esistono in anagrafica tra cui:
     - `<RappresentanteFiscale>`
   - Nome e cognome vengono assegnati ai nuovi contatti in base ai nodi `<Nome>` e `<Cognome>` della fattura elettronica.
   - Gestione delle Fatture Elettroniche Multiple:
     - Supporto per la suddivisione automatica di file XML contenenti più fatture
     - Ogni `<FatturaElettronicaBody>` viene convertito in una fattura separata mantenendo l'header originale
   - Aggiunge la possibilità di scegliere tra 3 modalità di importazione:
     - senza righe
     - una riga per ogni aliquota
     - tutte le righe (default)
   - Importazione dei `<DatiRiepilogo>`:
     - `<AliquotaIVA>`
     - `<Natura>`: Indica il motivo per cui un'operazione non prevede l'IVA
     - `<SpeseAccessorie>`: es. trasporto, imballaggio
     - `<Arrotondamento>`
     - `<ImponibileImporto>`
     - `<Imposta>`
     - `<EsigibilitaIVA>`: Indica quando l'IVA diventa esigibile (immediata, differita o scissione dei pagamenti)
     - `<RiferimentoNormativo>`: Obbligatorio quando si usa il campo `<Natura>`
   - Importazione dei `<DatiGeneraliDocumento>`:
     - `<Arrotondamento>`
     - `<Art73>`: indica se il documento è stato emesso secondo modalità e termini stabiliti con decreto ministeriale ai sensi dell'articolo 73 del DPR 633/72
     - `<DatiSAL>` e `<RiferimentoFase>`: utilizzati per indicare lo stato di avanzamento dei lavori in caso di fatturazione dilazionata/progressiva (contratti di appalto, servizi continuativi o lavori in corso d'opera)
   - Importazione dei dati della fattura principale (`<NumeroFatturaPrincipale>` e `<DataFatturaPrincipale>`)
   - Scrittura nel chatter dei nodi di `<DatiGenerali><DatiTrasporto>` e `<DatiVeicoli>`
   - Gestione avanzata dei Dati delle Righe Fattura:
     - Creazione dei codici articolo in fase di importazione.
       Questi codici servono per identificare univocamente i prodotti/servizi secondo diversi standard di codifica.
       Nel file XML, questi codici sono nel nodo `<CodiceArticolo>` che può contenere:
       - `<CodiceTipo>`: identifica il tipo di codifica utilizzata
       - `<CodiceValore>`: il valore effettivo del codice
     - Registrazione dello sconto o maggiorazione, nodo `<ScontoMaggiorazione>`, nelle righe di dettaglio della fattura.
     - Importazione dei dati del nodo `<AltriDatiGestionali>` (informazioni supplementari che non trovano posto negli altri campi standard della fattura elettronica) che può contenere:
       - `<TipoDato>`: identifica il tipo di informazione aggiuntiva che si sta inserendo
       - `<RiferimentoTesto>`: contiene un valore testuale dell'informazione aggiuntiva
       - `<RiferimentoNumero>`: contiene un valore numerico dell'informazione aggiuntiva
       - `<RiferimentoData>`: contiene un valore data dell'informazione aggiuntiva
     - Importazione dei nodi:
       - `<NumeroLinea>`: numero progressivo della riga all'interno della fattura
       - `<TipoCessionePrestazione>`: indica la tipologia della cessione o prestazione e può contenere valori come:
         - "SC" (Sconto)
         - "PR" (Premio)
         - "AB" (Abbuono)
         - "AC" (Spesa accessoria)
       - `<DataInizioPeriodo>` e `<DataFinePeriodo>`: indicano il periodo di riferimento di una prestazione e sono utili per servizi continuativi o prestazioni che si estendono su un periodo di tempo
       - `<RiferimentoAmministrazione>`: identificativo utilizzato per uso amministrativo/gestionale interno. È un campo libero che può essere utilizzato per inserire riferimenti specifici richiesti dalla Pubblica Amministrazione o altri riferimenti utili per la gestione amministrativa.

    - Convalida della fattura importata: se i seguenti importi sono diversi da quelli presenti nel file XML, nella fattura viene visualizzato un messaggio:
      - importo totale imponibile
      - IVA totale
      - IVA inclusa

    - I dati del partner possono essere aggiornati per corrispondere a quelli nella fattura elettronica.

4. Aggiunge di un wizard per calcolare i codici fiscali

\<<https://www.fatturapa.gov.it>\>


**English**

This module extends Odoo's standard Italian electronic invoicing functionality, introducing useful tools such as XML preview and fiscal code calculation and improvements in importing and exporting XML invoices.

The main features included are:

1. XML File Preview and Download:

   - Adds a button ("Preview") directly in the invoice form, both for exported and imported invoices.
   - From the same invoice form, you can download the generated XML file.

2. Adds fields in XML invoice export:

   - `<RiferimentoAmministrazione>` (both on line or on company): identifier used for internal administrative/management purposes. It's a free field that can be used to insert specific references required by Public Administration or other useful references for administrative management.
   - `<StabileOrganizzazione>`: represents the data of the seller/provider's permanent establishment in Italy if different from the registered office
   - `<Causale>`: in this case there is no specific field, but it transcribes the "Terms and conditions" of the invoice.
   - `<Art73>`: indicates if the document was issued according to methods and terms established by ministerial decree pursuant to article 73 of DPR 633/72
   - `<AltriDatiGestionali>` (2.2.1.16): additional management data that can be manually entered on each invoice line and exported to the FatturaPA XML file. Each entry includes:
     - `<TipoDato>`: data type (max 10 characters, required)
     - `<RiferimentoTesto>`: text reference (max 60 characters)
     - `<RiferimentoNumero>`: numeric reference (up to 8 decimal places)
     - `<RiferimentoData>`: date reference
     - To add this data, open the invoice line and fill in the "Other Management Data" section.
   - `<IndirizzoResa>`: represents the shipping address of the goods.

3. Improvements in XML invoice import:

   - Adds an option to create contacts present in an electronic invoice if they don't exist in the address book, including:
     - `<CessionarioCommittente>` and `<CedentePrestatore>` instead of just writing the details in the chatter.
   - Creation of other contacts present in an electronic invoice if they don't exist in the address book, including:
     - `<RappresentanteFiscale>`
   - Name and surname are set in the new contacts based on the `<Nome>` and `<Cognome>` nodes of the E-Bill.
   - Multiple Electronic Invoice Management:
     - Support for automatic splitting of XML files containing multiple invoices
     - Each `<FatturaElettronicaBody>` is converted into a separate invoice maintaining the original header
   - Adds the ability to choose between 3 import modes:
     - without lines
     - one line for each VAT rate
     - all lines (default)
   - Import of `<DatiRiepilogo>`:
     - `<AliquotaIVA>`
     - `<Natura>`: Indicates the reason why an operation does not include VAT
     - `<SpeseAccessorie>`: e.g., transport, packaging
     - `<Arrotondamento>`
     - `<ImponibileImporto>`
     - `<Imposta>`
     - `<EsigibilitaIVA>`: Indicates when VAT becomes payable (immediate, deferred, or split payment)
     - `<RiferimentoNormativo>`: Required when using the `<Natura>` field
   - Import of `<DatiGeneraliDocumento>`:
     - `<Arrotondamento>`
     - `<Art73>`: indicates if the document was issued according to methods and terms established by ministerial decree pursuant to article 73 of DPR 633/72
     - `<DatiSAL>` and `<RiferimentoFase>`: used to indicate the progress status of work in case of deferred/progressive invoicing (procurement contracts, continuous services, or work in progress)
   - Import of main invoice data (`<NumeroFatturaPrincipale>` and `<DataFatturaPrincipale>`)
   - Writing in chatter of `<DatiGenerali><DatiTrasporto>` and `<DatiVeicoli>` nodes
   - Advanced management of Invoice Line Data:
     - Creation of article codes during import.
       These codes are used to uniquely identify products/services according to different coding standards.
       In the XML file, these codes are in the `<CodiceArticolo>` node which can contain:
       - `<CodiceTipo>`: identifies the type of coding used
       - `<CodiceValore>`: the actual code value
     - Recording of discounts or surcharges, `<ScontoMaggiorazione>`, in the invoice detail lines.
     - Import of `<AltriDatiGestionali>` node data (supplementary information that doesn't fit in other standard electronic invoice fields) which can contain:
       - `<TipoDato>`: identifies the type of additional information being entered
       - `<RiferimentoTesto>`: contains a textual value of the additional information
       - `<RiferimentoNumero>`: contains a numerical value of the additional information
       - `<RiferimentoData>`: contains a date value of the additional information
     - Import of nodes:
       - `<NumeroLinea>`: progressive line number within the invoice
       - `<TipoCessionePrestazione>`: indicates the type of transfer or service and can contain values such as:
         - "SC" (Discount)
         - "PR" (Prize)
         - "AB" (Allowance)
         - "AC" (Ancillary expense)
       - `<DataInizioPeriodo>` and `<DataFinePeriodo>`: indicate the reference period of a service and are useful for continuous services or services that extend over a period of time
       - `<RiferimentoAmministrazione>`: identifier used for internal administrative/management purposes. It's a free field that can be used to insert specific references required by Public Administration or other useful references for administrative management.

    - Validation of imported bill: if the following amounts are different than the amount in the XML a message is shown in the bill:
      - total taxable amount
      - total VAT
      - total including VAT

    - Partner's data can be updated to match the data in the e-bill

4. Adds a wizard to calculate fiscal codes

\<<https://www.fatturapa.gov.it>\>

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
account_invoice_form_l10n_it_inherit_view account.move.form.l10n.it.inherit.view account.move xpath Inherits l10n_it_edi.account_invoice_form_l10n_it
account_invoice_it_FatturaPA_export_inherit account_invoice_it_FatturaPA_export_inherit ir.ui.view qweb Inherits l10n_it_edi.account_invoice_it_FatturaPA_export
account_invoice_line_it_FatturaPA_inherit account_invoice_line_it_FatturaPA_inherit ir.ui.view qweb Inherits l10n_it_edi.account_invoice_line_it_FatturaPA
l10n_it_edi_import_file_wizard_form l10n_it_edi_import_file_wizard_form_view l10n_it_edi.import_file_wizard form New
l10n_it_edi_move_line_other_data_form_view l10n_it_edi.line_other_data.form l10n_it_edi.line_other_data form New
l10n_it_edi_move_line_other_data_list_view l10n_it_edi.line_other_data.list l10n_it_edi.line_other_data list New
res_company_form_l10n_it_inherit_view res.company.form.l10n.it.inherit.view res.company xpath Inherits l10n_it_edi.res_company_form_l10n_it
res_partner_form_inherit_view res.partner.form.inherit.view res.partner xpath Inherits account.view_partner_property_form
res_partner_form_l10n_it_button res.partner.form.l10n.it.button res.partner field Inherits l10n_it_edi.res_partner_form_l10n_it
view_account_config_settings_create_partner view_account_config_settings_create_partner res.config.settings setting Inherits l10n_it_edi.res_config_settings_view_form
wizard_compute_fc_form wizard.compute.fc.form wizard.compute.fc form New
Models touched (17)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (23)
  • l10n_edi_it_art73 Boolean
    copy=False help='Indicates whether the document has been issued according to methods and terms laid down in a ministerial decree under the terms of Article 73 of Italian Presidential Decree 633/72 (this enables the seller/provider to issue in the same year several documents with same number)' readonly=True string='Art. 73'
  • l10n_it_edi_activity_progress_ids One2many → l10n_it_edi.activity_progress
    copy=False string='E-Invoice Activity Progress' args: 'l10n_it_edi.activity_progress', 'invoice_id'
  • l10n_it_edi_amount_tax Monetary
    readonly=True string='E-Invoice Tax Amount'
  • l10n_it_edi_amount_total Monetary
    compute='_compute_l10n_it_amount_total' readonly=True string='E-Invoice Total Amount'
  • l10n_it_edi_amount_untaxed Monetary
    readonly=True string='E-Invoice Untaxed Amount'
  • l10n_it_edi_attachment_preview_link Char
    compute='_compute_l10n_it_edi_attachment_preview_link' string='Preview link'
  • l10n_it_edi_ext_attachment_in_id Many2one → ir.attachment
    comodel_name='ir.attachment' readonly=True string='Imported Electronic Bill'
  • l10n_it_edi_ext_attachment_in_preview_link Char
    compute='_compute_l10n_it_edi_ext_attachment_in_preview_link' string='Preview link for imported Electronic Bill'
  • l10n_it_edi_line_ids One2many → l10n_it_edi.line
    copy=False readonly=True string='E-Invoice Lines' args: 'l10n_it_edi.line', 'invoice_id'
  • l10n_it_edi_protocol_number Char
    copy=False size=64
  • l10n_it_edi_related_invoice_code Char
    copy=False string='Related Invoice Code'
  • l10n_it_edi_related_invoice_date Date
    copy=False string='Related Invoice Date'
  • l10n_it_edi_rounding Float
    copy=False help='Possible total amount rounding on the document (negative sign allowed)' readonly=True string='Rounding'
  • l10n_it_edi_sender Selection
    string='Sender' args: [('CC', 'Assignee / Partner'), ('TZ', 'Third Person')]
  • l10n_it_edi_stabile_organizzazione_cap Char
    copy=False help='ZIP Code' readonly=True string='Organization ZIP'
  • l10n_it_edi_stabile_organizzazione_civico Char
    copy=False help='Street number of the address (no need to specify if already present in the address field)' readonly=True string='Organization Street Number'
  • l10n_it_edi_stabile_organizzazione_comune Char
    copy=False help='Municipality or city to which the Stable Organization refers' readonly=True string='Organization Municipality'
  • l10n_it_edi_stabile_organizzazione_indirizzo Char
    copy=False help='The fields must be entered only when the seller/provider is non-resident, with a stable organization in Italy. Address of the stable organization in Italy (street name, square, etc.)' readonly=True string='Organization Address'
  • l10n_it_edi_stabile_organizzazione_nazione Char
    copy=False help='Country code according to the ISO 3166-1 alpha-2 code standard' readonly=True string='Organization Country'
  • l10n_it_edi_stabile_organizzazione_provincia Char
    copy=False help='Acronym of the Province to which the municipality indicated in the information element 1.2.3.4 <Comune> belongs. Must be filled if the information element 1.2.3.6 <Nazione> is equal to IT' readonly=True string='Organization Province'
  • l10n_it_edi_summary_ids One2many → l10n_it_edi.summary_data
    copy=False string='E-Invoice Summary Data' args: 'l10n_it_edi.summary_data', 'invoice_id'
  • l10n_it_edi_tax_representative_id Many2one → res.partner
    string='Tax Representative' args: 'res.partner'
  • l10n_it_edi_validation_message Text
    compute='_compute_l10n_it_edi_validation_message'
Public methods (2)
  • action_l10n_it_edi_attachment_preview(self)
  • action_l10n_it_edi_ext_attachment_in_preview(self)

New fields (2)
  • l10n_it_edi_admin_ref Char
    copy=False size=20 string='Admin. ref.'
  • l10n_it_edi_other_data_ids One2many → l10n_it_edi.line_other_data
    copy=True help='Additional management data (AltriDatiGestionali) to be exported in the FatturaPA XML.' string='Other Management Data' args: 'l10n_it_edi.line_other_data', 'move_line_id'
Public methods (1)
  • action_open_other_data(self)
    Open a popup to manage Other Management Data for this invoice line.

New fields (0)

No new fields.

Public methods (3)
  • get_fattura_elettronica_preview(self)
  • get_fatturapa_preview_style_name(self)
    @api.model
    Hook to have a clean inheritance.
  • get_xml_string(self)

New fields (2)
  • activity_progress Integer
  • invoice_id Many2one → account.move
    index=True ondelete='cascade' string='Related Invoice' args: 'account.move'
Public methods (0)

No public methods.

New fields (3)
  • code_val Char
    string='Code Value'
  • l10n_it_edi_line_id Many2one → l10n_it_edi.line
    readonly=True string='Related E-invoice Line' args: 'l10n_it_edi.line'
  • name Char
    string='Code Type'
Public methods (0)

No public methods.

New fields (6)
  • amount Float
    digits='Discount'
  • invoice_id Many2one → account.move
    index=True ondelete='cascade' string='Related Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    index=True ondelete='cascade' string='Related Invoice from line' args: 'account.move.line'
  • l10n_it_edi_line_id Many2one → l10n_it_edi.line
    readonly=True string='Related E-invoice Line' args: 'l10n_it_edi.line'
  • name Selection
    string='Type' args: [('SC', 'Discount'), ('MG', 'Supplement')]
  • percentage Float
Public methods (0)

No public methods.

New fields (2)
  • l10n_it_edi_attachment Binary
  • l10n_it_edi_attachment_filename Char
Public methods (1)
  • action_import(self)

New fields (17)
  • invoice_id Many2one → account.move
    ondelete='cascade' readonly=True string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    ondelete='cascade' readonly=True string='Invoice Line' args: 'account.move.line'
  • l10n_it_edi_article_code_ids One2many → l10n_it_edi.article_code
    readonly=True string='Articles Code' args: 'l10n_it_edi.article_code', 'l10n_it_edi_line_id'
  • l10n_it_edi_discount_rise_price_ids One2many → l10n_it_edi.discount_rise_price
    readonly=True string='Discount and Supplement Details' args: 'l10n_it_edi.discount_rise_price', 'l10n_it_edi_line_id'
  • l10n_it_edi_line_other_data_ids One2many → l10n_it_edi.line_other_data
    readonly=True string='Other Administrative Data' args: 'l10n_it_edi.line_other_data', 'l10n_it_edi_line_id'
  • line_number Integer
    readonly=True
  • name Char
    readonly=True string='Description'
  • period_end_date Date
    readonly=True
  • period_start_date Date
    readonly=True
  • qty Float
    digits='Product Unit of Measure' readonly=True string='Quantity'
  • service_type Char
    readonly=True string='Sale Provision Type'
  • tax_amount Float
    readonly=True string='VAT Rate'
  • tax_kind Char
    readonly=True string='Nature'
  • total_price Float
    readonly=True
  • unit_price Float
    digits='Product Price' readonly=True
  • uom Char
    readonly=True string='Unit of measure'
  • wt_amount Char
    readonly=True string='Tax Withholding'
Public methods (0)

No public methods.

New fields (6)
  • date_ref Date
    help='RiferimentoData: Date reference' string='Date Reference'
  • l10n_it_edi_line_id Many2one → l10n_it_edi.line
    readonly=True string='Related E-bill Line' args: 'l10n_it_edi.line'
  • move_line_id Many2one → account.move.line
    index=True ondelete='cascade' string='Invoice Line' args: 'account.move.line'
  • name Char
    help='TipoDato: Type of additional data (max 10 characters)' required=True size=10 string='Data Type'
  • num_ref Float
    digits=(16, 8) help='RiferimentoNumero: Numeric reference (up to 8 decimal places)' string='Number Reference'
  • text_ref Char
    help='RiferimentoTesto: Text reference (max 60 characters)' size=60 string='Text Reference'
Public methods (1)
  • action_delete(self)

New fields (9)
  • amount_tax Float
  • amount_untaxed Float
  • incidental_charges Float
  • invoice_id Many2one → account.move
    index=True ondelete='cascade' string='Related Invoice' args: 'account.move'
  • law_reference Char
    size=128 string='Law reference'
  • non_taxable_nature Selection
    selection=[('N1', '[N1] Escluse ex art. 15'), ('N2', '[N2] Non soggette'), ('N2.1', '[N2.1] Non soggette ad IVA ai sensi degli artt. Da 7 a 7-septies del DPR 633/72'), ('N2.2', '[N2.2] Non soggette - altri casi'), ('N3', '[N3] Non imponibili'), ('N3.1', '[N3.1] Non imponibili - esportazioni'), ('N3.2', '[N3.2] Non imponibili - cessioni intracomunitarie'), ('N3.3', '[N3.3] Non imponibili - cessioni verso San Marino'), ('N3.4', "[N3.4] Non imponibili - operazioni assimilate alle cessioni all'esportazione"), ('N3.5', "[N3.5] Non imponibili - a seguito di dichiarazioni d'intento"), ('N3.6', '[N3.6] Non imponibili - altre operazioni che non concorrono alla formazione del plafond'), ('N4', '[N4] Esenti'), ('N5', '[N5] Regime del margine / IVA non esposta in fattura'), ('N6', '[N6] Inversione contabile (per le operazioni in reverse charge ovvero nei casi di autofatturazione per acquisti extra UE di servizi ovvero per importazioni di beni nei soli casi previsti)'), ('N6.1', '[N6.1] Inversione contabile - cessione di rottami e altri materiali di recupero'), ('N6.2', '[N6.2] Inversione contabile - cessione di oro e argento puro'), ('N6.3', '[N6.3] Inversione contabile - subappalto nel settore edile'), ('N6.4', '[N6.4] Inversione contabile - cessione di fabbricati'), ('N6.5', '[N6.5] Inversione contabile - cessione di telefoni cellulari'), ('N6.6', '[N6.6] Inversione contabile - cessione di prodotti elettronici'), ('N6.7', '[N6.7] Inversione contabile - prestazioni comparto edile esettori connessi'), ('N6.8', '[N6.8] Inversione contabile - operazioni settore energetico'), ('N6.9', '[N6.9] Inversione contabile - altri casi'), ('N7', '[N7] IVA assolta in altro stato UE (prestazione di servizi di telecomunicazioni, tele-radiodiffusione ed elettronici ex art. 7-octies, comma 1 lett. a, b, art. 74-sexies DPR 633/72)')] string='Non taxable nature'
  • payability Selection
    string='VAT payability' args: [('I', 'Immediate payability'), ('D', 'Deferred payability'), ('S', 'Split payment')]
  • rounding Float
  • tax_rate Float
Public methods (0)

No public methods.

New fields (11)
  • cadastre_code Char
    size=4 args: 'Belfiore cadastre code (not used anymore)'
  • cadastre_code_var Char
    size=4 args: 'Cadastre code variation'
  • creation_date Date
  • name Char
  • name_var Char
    size=100 args: 'Name variation'
  • national_code Char
    size=4 args: 'National code'
  • national_code_var Char
    size=4 args: 'National code variation'
  • notes Char
    size=4
  • province Char
    size=5
  • province_var Char
    size=5 args: 'Province variation'
  • var_date Date
    args: 'Variation date'
Public methods (0)

No public methods.

New fields (1)
  • name Char
    size=100
Public methods (1)
  • init(self)

New fields (4)
  • l10n_edi_it_admin_ref Char
    string='Public Administration Reference Code'
  • l10n_edi_it_art73 Boolean
    help='Indicates whether the document has been issued according to methods and terms laid down in a ministerial decree under the terms of Article 73 of Italian Presidential Decree 633/72 (this enables the company to issue in the same year several documents with same number)' string='Art. 73'
  • l10n_edi_it_stable_organization Many2one → res.partner
    help='The fields must be entered only when the seller/provider is non-resident, with a stable organization in Italy' string='Stable Organization' args: 'res.partner'
  • l10n_it_edi_import_detail_level Selection
    default='max' help='Minimum: the bill is created with no lines; the user will have to create them, according to what specified in the electronic bill.\nTax rate: every tax rate present in the electronic bill will create a line in the bill.\nMaximum (default): every line contained in the electronic bill will create a line in the bill.' required=True selection=[('min', 'Minimum'), ('tax', 'Tax rate'), ('max', 'Maximum')] string='E-bills import detail level'
Public methods (0)

No public methods.

New fields (1)
  • l10n_it_edi_import_detail_level Selection
    readonly=False related='company_id.l10n_it_edi_import_detail_level'
Public methods (0)

No public methods.

New fields (9)
  • l10n_edi_it_admin_ref Char
    string='Administrative Reference'
  • l10n_edi_it_electronic_invoice_no_contact_update Boolean
    string='Do not update the contact from Electronic Invoice Details'
  • l10n_edi_it_eori_code Char
    string='EORI Code'
  • l10n_edi_it_register Char
    string='Professional Register'
  • l10n_edi_it_register_code Char
    string='Register Registration Number'
  • l10n_edi_it_register_province_id Many2one → res.country.state
    string='Register Province' args: 'res.country.state'
  • l10n_edi_it_register_regdate Date
    string='Register Registration Date'
  • l10n_it_edi_ext_default_product_id Many2one → product.product
    comodel_name='product.product' help='Used by electronic invoice XML import. If filled in, generated bill lines will use this product when no other possible product is found.' string='E-bills default Product'
  • l10n_it_edi_import_detail_level Selection
    help="Override the 'E-bills import detail level' of the company for bills of this supplier.\nMinimum: the bill is created with no lines; the user will have to create them, according to what specified in the electronic bill.\nTax rate: every tax rate present in the electronic bill will create a line in the bill.\nMaximum: every line contained in the electronic bill will create a line in the bill." selection=[('min', 'Minimum'), ('tax', 'Tax rate'), ('max', 'Maximum')] string='E-bills import detail level'
Public methods (1)
  • validate_codice_fiscale(self)
    @api.constrains('l10n_it_codice_fiscale', 'company_type')

New fields (6)
  • birth_city Many2one → res.city.it.code.distinct
    required=True string='City of birth' args: 'res.city.it.code.distinct'
  • birth_date Date
    required=True args: 'Date of birth'
  • birth_province Many2one → res.country.state
    required=True string='Province' args: 'res.country.state'
  • fiscalcode_firstname Char
    required=True size=64 args: 'First name'
  • fiscalcode_surname Char
    required=True size=64 args: 'Surname'
  • sex Selection
    required=True args: [('M', 'Male'), ('F', 'Female')]
Public methods (2)
  • compute_fc(self)
  • onchange_birth_city(self)
    @api.onchange('birth_city')
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/l10n-italy
PULL REQUEST
PULL REQUEST[19.0][MIG] l10n_it_edi_extension: Migration to 19.0 (#5083)