ITA - Fattura elettronica - Supporto PEC

l10n_it_fatturapa_pec
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/16.0/l10n_it_fatturapa_pec
VERSION
VERSION 1.2.4
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERSeLBati, Weblate, OCA-git-bot, Simone Rubino, micheledic, oca-ci, Borruso, mde-scopea
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:11:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_account
    - l10n_it_fatturapa
    - l10n_it_fiscalcode
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_vat_payability
    - l10n_it_fiscal_payment_term
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_reason
    - l10n_it_withholding_tax
    - l10n_it_payment_reason
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
OCA/server-ux:
    - date_range
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - attachment_indexation
    - base_iban
    - base_vat
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES mock
elementpath
unidecode
xmlschema
asn1crypto
codicefiscale
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**Italiano**

Questo modulo consente di inviare e ricevere i file XML della fattura
elettronica versione 1.2

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

via PEC.

Analizza le notifiche provenienti dallo SdI e monitora lo stato della
trasmissione.

**English**

This module allows you to send and receive electronic invoice/bill XML
files version 1.2

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

via PEC.

Notifications from ES are parsed and transmission state is tracked.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
ir_mail_server_fatturapa_out_pec_form ir.mail.server.fatturapa.out.pec.form ir.mail_server xpath Inherits base.ir_mail_server_form
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec res.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server xpath Inherits mail.view_email_server_form
view_sdi_channel_form sdi.channel.inherit.view.form sdi.channel xpath Inherits l10n_it_sdi_channel.view_sdi_channel_form
view_sdi_channel_tree sdi.channel.inherit.view.tree sdi.channel field Inherits l10n_it_sdi_channel.view_sdi_channel_tree
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • parse_pec_response(self, message_dict)

New fields (4)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (6)
  • fetch_mail(self)
  • fetch_mail_server_type_imap(self, server, MailThread, error_messages, **additional_context)
  • fetch_mail_server_type_pop(self, server, MailThread, error_messages, **additional_context)
  • manage_pec_failure(self, exception, error_messages)
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (2)
  • email_from_for_fatturaPA Char
    args: 'Sender Email Address'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment, message_dict=None)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (2)
  • email_exchange_system Char
    readonly=True related='sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (2)
  • email_exchange_system Char
    readonly=True related='company_id.sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='company_id.sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (5)
  • channel_type Selection
    ondelete={'pec': 'cascade'} selection_add=[('pec', 'PEC')]
  • email_exchange_system Char
    help='The first time you send a PEC to SDI, you must use the address sdi01@pec.fatturapa.it.\nOdoo will automatically set this address the first time you send an e-invoice to SdI using this channel.\nThe system, with the first response or notification, communicates the PEC address to be used for future messages' args: 'Exchange System Email Address'
  • fetch_pec_server_id Many2one → fetchmail.server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Incoming PEC server' args: 'fetchmail.server'
  • first_invoice_sent Boolean
    help='This is set after having sent the first e-invoice to SDI' args: 'SDI already assigned a PEC address to my company'
  • pec_server_id Many2one → ir.mail_server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Outgoing PEC server' args: 'ir.mail_server'
Public methods (6)
  • check_email_validity(self)
    @api.constrains('email_exchange_system')
  • check_fetch_pec_server_id(self)
    @api.constrains('fetch_pec_server_id')
  • check_first_pec_sending(self)
  • check_pec_server_id(self)
    @api.constrains('pec_server_id')
  • send_via_pec(self, attachment_out_ids)
  • update_after_first_pec_sending(self)
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/14.0/l10n_it_fatturapa_pec
VERSION
VERSION 2.6.1
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERStafaRU, OCA Transbot, Weblate, OCA-git-bot, Simone Rubino, Roberto Fichera, oca-ci, Giovanni, Alessandro Uffreduzzi, Marco Colombo, odooNextev, SoSylwe, mde-spring
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_account
    - l10n_it_fatturapa
    - l10n_it_fiscalcode
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_vat_payability
    - l10n_it_fiscal_payment_term
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_reason
    - l10n_it_withholding_tax
    - l10n_it_payment_reason
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
OCA/server-ux:
    - date_range
odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
    - attachment_indexation
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES elementpath
phonenumbers
unidecode
xmlschema
asn1crypto
codicefiscale
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
ir_mail_server_fatturapa_out_pec_form ir.mail.server.fatturapa.out.pec.form ir.mail_server xpath Inherits base.ir_mail_server_form
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec res.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server xpath Inherits fetchmail.view_email_server_form
view_sdi_channel_form sdi.channel.inherit.view.form sdi.channel xpath Inherits l10n_it_sdi_channel.view_sdi_channel_form
view_sdi_channel_tree sdi.channel.inherit.view.tree sdi.channel field Inherits l10n_it_sdi_channel.view_sdi_channel_tree
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • parse_pec_response(self, message_dict)

New fields (4)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (6)
  • fetch_mail(self)
  • fetch_mail_server_type_imap(self, server, MailThread, error_messages, **additional_context)
  • fetch_mail_server_type_pop(self, server, MailThread, error_messages, **additional_context)
  • manage_pec_failure(self, exception, error_messages)
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (2)
  • email_from_for_fatturaPA Char
    args: 'Sender Email Address'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment, message_dict=None)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (2)
  • email_exchange_system Char
    readonly=True related='sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (2)
  • email_exchange_system Char
    readonly=True related='company_id.sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='company_id.sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (5)
  • channel_type Selection
    ondelete={'pec': 'cascade'} selection_add=[('pec', 'PEC')]
  • email_exchange_system Char
    help='The first time you send a PEC to SDI, you must use the address sdi01@pec.fatturapa.it.\nOdoo will automatically set this address the first time you send an e-invoice to SdI using this channel.\nThe system, with the first response or notification, communicates the PEC address to be used for future messages' args: 'Exchange System Email Address'
  • fetch_pec_server_id Many2one → fetchmail.server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Incoming PEC server' args: 'fetchmail.server'
  • first_invoice_sent Boolean
    help='This is set after having sent the first e-invoice to SDI' args: 'SDI already assigned a PEC address to my company'
  • pec_server_id Many2one → ir.mail_server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Outgoing PEC server' args: 'ir.mail_server'
Public methods (6)
  • check_email_validity(self)
    @api.constrains('email_exchange_system')
  • check_fetch_pec_server_id(self)
    @api.constrains('fetch_pec_server_id')
  • check_first_pec_sending(self)
  • check_pec_server_id(self)
    @api.constrains('pec_server_id')
  • send_via_pec(self, attachment_out_ids)
  • update_after_first_pec_sending(self)
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/12.0/l10n_it_fatturapa_pec
VERSION
VERSION 2.2.1
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERSLorenzo Battistini, eLBati, GitHub, Sergio Zanchetta, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, SimoRubi, Sergio Corato, Simone Rubino, Lara Baggio, Roberto Fichera, oca-ci, Docker @ kuntrawant, Giovanni
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy/tree/12.0/l10n_it_fatturapa_pec
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_account
    - l10n_it_fatturapa
    - l10n_it_fiscalcode
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_esigibilita_iva
    - l10n_it_fiscal_payment_term
    - l10n_it_split_payment
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_causali
    - l10n_it_withholding_tax
    - l10n_it_causali_pagamento
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
    - base_vat_sanitized
OCA/server-ux:
    - date_range
odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_vat
    - document
    - base_iban
    - test_mail
    - test_performance
    - mail_bot
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyxb
unidecode
asn1crypto
codicefiscale
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
ir_mail_server_fatturapa_out_pec_form ir.mail.server.fatturapa.out.pec.form ir.mail_server xpath Inherits base.ir_mail_server_form
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec res.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server xpath Inherits fetchmail.view_email_server_form
view_sdi_channel_form sdi.channel.inherit.view.form sdi.channel xpath Inherits l10n_it_sdi_channel.view_sdi_channel_form
view_sdi_channel_tree sdi.channel.inherit.view.tree sdi.channel field Inherits l10n_it_sdi_channel.view_sdi_channel_tree
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • parse_pec_response(self, message_dict)
    @api.multi

New fields (4)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (4)
  • fetch_mail(self)
    @api.multi
  • manage_pec_failure(self, exception, error_messages)
    @api.multi
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    @api.multi
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (2)
  • email_from_for_fatturaPA Char
    args: 'Sender Email Address'
  • is_fatturapa_pec Boolean
    args: 'E-invoice PEC server'
Public methods (1)
  • test_smtp_connection(self)
    @api.multi

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment, message_dict=None)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (2)
  • email_exchange_system Char
    readonly=True related='sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (2)
  • email_exchange_system Char
    readonly=True related='company_id.sdi_channel_id.email_exchange_system' string='Exchange System Email Address'
  • email_from_for_fatturaPA Char
    readonly=True related='company_id.sdi_channel_id.pec_server_id.email_from_for_fatturaPA' string='Sender Email Address'
Public methods (0)

No public methods.

New fields (5)
  • channel_type Selection
    selection_add=[('pec', 'PEC')]
  • email_exchange_system Char
    help='The first time you send a PEC to SDI, you must use the address sdi01@pec.fatturapa.it.\nOdoo will automatically set this address the first time you send an e-invoice to SdI using this channel.\nThe system, with the first response or notification, communicates the PEC address to be used for future messages' args: 'Exchange System Email Address'
  • fetch_pec_server_id Many2one → fetchmail.server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Incoming PEC server' args: 'fetchmail.server'
  • first_invoice_sent Boolean
    help='This is set after having sent the first e-invoice to SDI' args: 'SDI already assigned a PEC address to my company'
  • pec_server_id Many2one → ir.mail_server
    domain=[('is_fatturapa_pec', '=', True)] required=False string='Outgoing PEC server' args: 'ir.mail_server'
Public methods (6)
  • check_email_validity(self)
    @api.constrains('email_exchange_system')
  • check_fetch_pec_server_id(self)
    @api.constrains('fetch_pec_server_id')
  • check_first_pec_sending(self)
  • check_pec_server_id(self)
    @api.constrains('pec_server_id')
  • send_via_pec(self, attachment_out_ids)
    @api.multi
  • update_after_first_pec_sending(self)
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/11.0/l10n_it_fatturapa_pec
VERSION
VERSION 1.7.2
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERSAlex Comba, Francesco Apruzzese, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Lara Baggio
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy/tree/11.0/l10n_it_fatturapa_pec
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-reporting:
    - account_tax_balance
OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_account
    - l10n_it_fatturapa
    - l10n_it_fiscalcode
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_esigibilita_iva
    - l10n_it_fiscal_payment_term
    - l10n_it_split_payment
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_causali
    - l10n_it_withholding_tax
    - l10n_it_causali_pagamento
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
OCA/server-ux:
    - date_range
odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - analytic
    - web_planner
    - portal
    - http_routing
    - base_vat
    - document
    - base_iban
    - account_invoicing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyxb
unidecode
asn1crypto
codicefiscale
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec res.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_account_invoice_fatturapa_out_pec_filter view.account.invoice.fatturapa.out.pec.filter account.invoice xpath Inherits account.view_account_invoice_filter
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server notebook Inherits fetchmail.view_email_server_form
view_fatturapa_out_attachment_search_state view_fatturapa_out_attachment_search_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_search
view_fatturapa_out_attachment_tree_state view_fatturapa_out_attachment_tree_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_tree
view_fatturapa_out_pec_attachment_form fatturapa.attachment.out.form fatturapa.attachment.out xpath Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_form
view_fatturapa_out_pec_attachment_form_statusbar view_fatturapa_out_pec_attachment_form_statusbar fatturapa.attachment.out field Inherits l10n_it_fatturapa_pec.view_fatturapa_out_pec_attachment_form
view_invoice_fatturapa_out_pec_form view.invoice.fatturapa.out.pec.form account.invoice xpath Inherits account.invoice_form
view_invoice_fatturapa_out_pec_tree view.invoice.fatturapa.out.pec.tree account.invoice xpath Inherits account.invoice_tree
wizard_fatturapa_send_pec_view wizard_fatturapa_send_pec_view wizard.fatturapa.send.pec form New
Models touched (7)

New fields (1)
  • 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')]
Public methods (0)

No public methods.

New fields (5)
  • delivered_date Datetime
    readonly=True args: 'Delivered Date'
  • last_sdi_response Text
    default='No response yet' readonly=True string='Last Response from Exchange System'
  • sending_date Datetime
    readonly=True args: 'Sent Date'
  • sending_user Many2one → res.users
    readonly=True args: 'res.users', 'Sending User'
  • state Selection
    default='ready' string='State' track_visibility='onchange' args: [('ready', 'Ready to Send'), ('sent', 'Sent'), ('sender_error', 'Sender Error'), ('recipient_error', 'Not delivered'), ('rejected', 'Rejected (PA)'), ('validated', 'Delivered'), ('accepted', 'Accepted')]
Public methods (4)
  • parse_pec_response(self, message_dict)
    @api.multi
  • reset_to_ready(self)
    @api.multi
  • send_via_pec(self)
    @api.multi
  • unlink(self)
    @api.multi

New fields (3)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (4)
  • fetch_mail(self)
    @api.multi
  • manage_pec_failure(self, exception, error_messages)
    @api.multi
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    @api.multi
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment, message_dict=None)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (1)
  • e_invoice_user_id Many2one → res.users
    default=<expr> help='This user will be used at supplier e-bill creation.' args: 'res.users', 'E-bill creator'
Public methods (0)

No public methods.

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

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • send_pec(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/10.0/l10n_it_fatturapa_pec
VERSION
VERSION 1.9.1
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERSLorenzo Battistini, eLBati, GitHub, Sergio Zanchetta, OCA Transbot, oca-travis, Weblate, OCA-git-bot, SimoRubi, Sergio Corato, Roberto Fichera, frdmar, Francesco Di Marco
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy/tree/10.0/l10n_it_fatturapa_pec
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-financial-tools:
    - account_fiscal_year
OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_fatturapa
    - l10n_it_account
    - l10n_it_fiscalcode
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_esigibilita_iva
    - l10n_it_fiscal_payment_term
    - l10n_it_split_payment
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_causali
    - l10n_it_withholding_tax
    - l10n_it_causali_pagamento
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
OCA/server-tools:
    - date_range
odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - web_planner
    - base_vat
    - document
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES pyxb
unidecode
asn1crypto
codicefiscale
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec account.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_account_invoice_fatturapa_out_pec_filter view.account.invoice.fatturapa.out.pec.filter account.invoice xpath Inherits account.view_account_invoice_filter
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server notebook Inherits fetchmail.view_email_server_form
view_fatturapa_out_attachment_search_state view_fatturapa_out_attachment_search_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_search
view_fatturapa_out_attachment_tree_state view_fatturapa_out_attachment_tree_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_tree
view_fatturapa_out_pec_attachment_form fatturapa.attachment.out.form fatturapa.attachment.out xpath Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_form
view_fatturapa_out_pec_attachment_form_statusbar view_fatturapa_out_pec_attachment_form_statusbar fatturapa.attachment.out field Inherits l10n_it_fatturapa_pec.view_fatturapa_out_pec_attachment_form
view_invoice_fatturapa_out_pec_form view.invoice.fatturapa.out.pec.form account.invoice xpath Inherits account.invoice_form
view_invoice_fatturapa_out_pec_tree view.invoice.fatturapa.out.pec.tree account.invoice xpath Inherits account.invoice_tree
wizard_export_fatturapa_form_view_regenerate Export Electronic Invoice Regenerate wizard.export.fatturapa xpath Inherits l10n_it_fatturapa_out.wizard_export_fatturapa_form_view
wizard_fatturapa_send_pec_view wizard_fatturapa_send_pec_view wizard.fatturapa.send.pec form New
Models touched (8)

New fields (1)
  • e_invoice_user_id Many2one
    help='This user will be used at supplier e-invoice creation. This setting is relevant in multi-company environments' related='company_id.e_invoice_user_id' string='Supplier e-invoice creator'
Public methods (0)

No public methods.

New fields (1)
  • 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')]
Public methods (0)

No public methods.

New fields (5)
  • delivered_date Datetime
    readonly=True args: 'Delivered Date'
  • last_sdi_response Text
    default='No response yet' readonly=True string='Last Response from Exchange System'
  • sending_date Datetime
    readonly=True args: 'Sent Date'
  • sending_user Many2one → res.users
    readonly=True args: 'res.users', 'Sending User'
  • state Selection
    default='ready' string='State' track_visibility='onchange' args: [('ready', 'Ready to Send'), ('sent', 'Sent'), ('sender_error', 'Sender Error'), ('recipient_error', 'Not delivered'), ('rejected', 'Rejected (PA)'), ('validated', 'Delivered'), ('accepted', 'Accepted')]
Public methods (4)
  • parse_pec_response(self, message_dict)
    @api.multi
  • reset_to_ready(self)
    @api.multi
  • send_via_pec(self)
    @api.multi
  • unlink(self)
    @api.multi

New fields (3)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (4)
  • fetch_mail(self)
    @api.multi
  • manage_pec_failure(self, exception, error_messages)
    @api.multi
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    @api.multi
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment, message_dict=None)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (1)
  • e_invoice_user_id Many2one → res.users
    default=<expr> groups='base.group_multi_company' help='This user will be used at supplier e-invoice creation.' args: 'res.users', 'E-invoice creator'
Public methods (0)

No public methods.

New fields (0)

No new fields.

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

New fields (0)

No new fields.

Public methods (1)
  • send_pec(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-italy
GIT
GIThttps://github.com/OCA/l10n-italy.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-italy/tree/8.0/l10n_it_fatturapa_pec
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Openforce Srls Unipersonale
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Openforce Srls Unipersonale
COMMITTERS
COMMITTERSeLBati, GitHub, Alex Comba, oca-travis, OCA-git-bot, SimoRubi, v.terzulli, sergiocorato
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-italy:
    - l10n_it_fatturapa_out
    - l10n_it_account
    - l10n_it_fiscalcode
    - l10n_it_base
    - l10n_it_fatturapa
    - l10n_it_ipa
    - l10n_it_rea
    - l10n_it_account_tax_kind
    - l10n_it_esigibilita_iva
    - l10n_it_fiscal_payment_term
    - l10n_it_split_payment
    - l10n_it_fiscal_document_type
    - l10n_it_fatturapa_in
    - l10n_it_withholding_tax_causali
    - l10n_it_withholding_tax
    - l10n_it_causali_pagamento
    - l10n_it_sdi_channel
OCA/partner-contact:
    - partner_firstname
odoo/odoo:
    - fetchmail
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - board
    - edi
    - email_template
    - base_vat
    - document
    - knowledge
    - base_iban
    - account_voucher
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
codicefiscale
asn1crypto
pyxb
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
view_account_config_settings_ftpa_pec view_account_config_settings_ftpa_pec account.config.settings xpath Inherits l10n_it_fatturapa.view_account_config_settings
view_account_invoice_fatturapa_out_pec_filter view.account.invoice.fatturapa.out.pec.filter account.invoice group Inherits account.view_account_invoice_filter
view_email_server_form_e_invoice view_email_server_form_e_invoice fetchmail.server notebook Inherits fetchmail.view_email_server_form
view_fatturapa_out_attachment_search_state view_fatturapa_out_attachment_search_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_search
view_fatturapa_out_attachment_tree_state view_fatturapa_out_attachment_tree_state fatturapa.attachment.out field Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_tree
view_fatturapa_out_pec_attachment_form fatturapa.attachment.out.form fatturapa.attachment.out header Inherits l10n_it_fatturapa_out.view_fatturapa_out_attachment_form
view_fatturapa_out_pec_attachment_form_statusbar view_fatturapa_out_pec_attachment_form_statusbar fatturapa.attachment.out field Inherits l10n_it_fatturapa_pec.view_fatturapa_out_pec_attachment_form
view_invoice_fatturapa_out_pec_form view.invoice.fatturapa.out.pec.form account.invoice xpath Inherits account.invoice_form
view_invoice_fatturapa_out_pec_tree view.invoice.fatturapa.out.pec.tree account.invoice xpath Inherits account.invoice_tree
wizard_fatturapa_send_pec_view wizard_fatturapa_send_pec_view wizard.fatturapa.send.pec form New
Models touched (7)

New fields (1)
  • e_invoice_user_id Many2one
    help='This user will be used at supplier e-bill creation. This setting is relevant in multi-company environments' related='company_id.e_invoice_user_id' string='Supplier e-bill creator'
Public methods (0)

No public methods.

New fields (1)
  • 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')]
Public methods (0)

No public methods.

New fields (5)
  • delivered_date Datetime
    readonly=True args: 'Delivered Date'
  • last_sdi_response Text
    default='No response yet' readonly=True string='Last Response from Exchange System'
  • sending_date Datetime
    readonly=True args: 'Sent Date'
  • sending_user Many2one → res.users
    readonly=True args: 'res.users', 'Sending User'
  • state Selection
    default='ready' string='State' track_visibility='onchange' args: [('ready', 'Ready to Send'), ('sent', 'Sent'), ('sender_error', 'Sender Error'), ('recipient_error', 'Not delivered'), ('rejected', 'Rejected (PA)'), ('validated', 'Delivered'), ('accepted', 'Accepted')]
Public methods (4)
  • parse_pec_response(self, message_dict)
    @api.multi
  • reset_to_ready(self)
    @api.multi
  • send_via_pec(self)
    @api.multi
  • unlink(self)
    @api.multi

New fields (3)
  • e_inv_notify_partner_ids Many2many → res.partner
    default=_default_e_inv_notify_partner_ids domain=[('email', '!=', False)] help="Contacts to notify when PEC message can't be processed" string='Contacts to notify' args: 'res.partner'
  • last_pec_error_message Text
    readonly=True args: 'Last PEC Error Message'
  • pec_error_count Integer
    readonly=True args: 'PEC error count'
Public methods (4)
  • fetch_mail(self)
    @api.multi
  • manage_pec_failure(self, exception, error_messages)
    @api.multi
  • notify_about_server_reset(self)
  • notify_or_log(self, message)
    @api.multi
    Send an email to partners in self.e_inv_notify_partner_ids containing message. :param: message :type message: list of str, or str

New fields (0)

No new fields.

Public methods (7)
  • clean_message_dict(self, message_dict)
  • create_fatturapa_attachment_in(self, attachment)
  • find_attachment_by_subject(self, subject)
  • manage_pec_fe_attachments(self, message, message_dict, response_attachments)
  • manage_pec_sdi_notification(self, message, message_dict)
  • manage_pec_sdi_response(self, att, message_dict)
  • message_route(self, message, message_dict, model=None, thread_id=None, custom_values=None)
    @api.model

New fields (1)
  • e_invoice_user_id Many2one → res.users
    default=<expr> help='This user will be used at supplier e-bill creation.' args: 'res.users', 'E-bill creator'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • send_pec(self)
    @api.multi