Italy - Declaration of Intent

l10n_it_edi_doi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/l10n_it_edi_doi
VERSION
VERSION 0.1
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Xavier Morel, Julien Castiaux, Victor Feyens, Gorash, Miquel Raïch, william-andre, niyasraphy, Habib (ayh), Yosua Nicolaus, Dylan Kiss (dyki), Jinane Maksoud, Paolo Gatti, Sven Fuehr, kcv-odoo, asno-odoo, gteboul, Krzysztof Magusiak (krma), igbe
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/latest/applications/finance/fiscal_localizations/italy.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 14:10:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_it_edi
    - l10n_it
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - account_edi_ubl_cii
    - account_edi_proxy_client
    - certificate
    - account_debit_note
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Add support for the Declaration of Intent (Dichiarazione di Intento) to the Italian localization.
    

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_invoice_line_it_FatturaPA account_invoice_line_it_FatturaPA ir.ui.view qweb Inherits l10n_it_edi.account_invoice_line_it_FatturaPA
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_saleorder_document report_saleorder_document ir.ui.view qweb Inherits sale.report_saleorder_document
res_partner_view_search res.partner.search.inherit res.partner xpath Inherits account.res_partner_view_search
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_l10n_it_edi_doi_declaration_of_intent_search l10n_it_edi_doi.declaration_of_intent.search l10n_it_edi_doi.declaration_of_intent search New
view_l10n_it_edi_doi_form l10n_it_edi_doi.declaration_of_intent.form l10n_it_edi_doi.declaration_of_intent form New
view_l10n_it_edi_doi_tree l10n_it_edi_doi.declaration_of_intent.list l10n_it_edi_doi.declaration_of_intent list New
view_move_form account.move.form account.move div Inherits account.view_move_form
view_move_tree account.move.list account.move list New
view_order_form sale.order.form sale.order div Inherits sale.view_order_form
view_partner_l10n_form view_partner_l10n_form res.partner div Inherits base_vat.view_partner_base_vat_form
view_quotation_tree sale.order.list sale.order list New
view_sales_order_filter sale.order.list.select sale.order filter Inherits sale.view_sales_order_filter
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • l10n_it_edi_doi_amount Monetary
    compute='_compute_l10n_it_edi_doi_amount' help='Total amount of sales under the Declaration of Intent of this document' readonly=True store=True string='Declaration of Intent Amount'
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (2)
  • action_open_declaration_of_intent(self)
  • copy_data(self, default=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True required=True string='Currency'
  • end_date Date
    copy=False help='Last date on which the Declaration of Intent is valid' required=True string='End Date'
  • invoice_ids One2many → account.move
    copy=False readonly=True string='Invoices / Refunds' args: 'account.move', 'l10n_it_edi_doi_id'
  • invoiced Monetary
    compute='_compute_invoiced' help='Total amount of sales under this Declaration of Intent' readonly=True store=True string='Invoiced'
  • issue_date Date
    copy=False default=fields.Date.context_today help='Date on which the Declaration of Intent was issued' required=True string='Date of Issue'
  • not_yet_invoiced Monetary
    compute='_compute_not_yet_invoiced' help='Total amount of planned sales under this Declaration of Intent (i.e. current quotation and sales orders) that can still be invoiced' readonly=True store=True string='Not Yet Invoiced'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' domain="['|', ('is_company', '=', True), ('parent_id', '=', False)]" index=True required=True string='Partner'
  • protocol_number_part1 Char
    copy=False readonly=False required=True string='Protocol 1'
  • protocol_number_part2 Char
    copy=False readonly=False required=True string='Protocol 2'
  • remaining Monetary
    compute='_compute_remaining' help='Remaining amount after deduction of the Invoiced and Not Yet Invoiced amounts.' readonly=True store=True string='Remaining'
  • sale_order_ids One2many → sale.order
    copy=False readonly=True string='Sales Orders / Quotations' args: 'sale.order', 'l10n_it_edi_doi_id'
  • start_date Date
    copy=False help='First date on which the Declaration of Intent is valid' required=True string='Start Date'
  • state Selection
    default='draft' help="The state of this Declaration of Intent. \n- 'Draft' means that the Declaration of Intent still needs to be confirmed before being usable. \n- 'Active' means that the Declaration of Intent is usable. \n- 'Terminated' designates that the Declaration of Intent has been marked as not to use anymore without invalidating usages of it. \n- 'Revoked' means the Declaration of Intent should not have been used. You will probably need to revert previous usages of it, if any.\n" readonly=True required=True string='State' tracking=True args: [('draft', 'Draft'), ('active', 'Active'), ('revoked', 'Revoked'), ('terminated', 'Terminated')]
  • threshold Monetary
    help='Total amount of allowed sales without VAT under this Declaration of Intent' required=True string='Threshold'
Public methods (7)
  • action_open_invoice_ids(self)
  • action_open_sale_order_ids(self)
  • action_reactivate(self)
    Resets a not 'active' Declaration of Intent back to 'active'.
  • action_reset_to_draft(self)
    Resets an 'active' Declaration of Intent back to 'draft'.
  • action_revoke(self)
    Called by the 'revoke' button of the form view.
  • action_terminate(self)
    Called by the 'terminated' button of the form view.
  • action_validate(self)
    Move a 'draft' Declaration of Intent to 'active'.

New fields (2)
  • l10n_it_edi_doi_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Declaration of Intent Fiscal Position'
  • l10n_it_edi_doi_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Declaration of Intent Tax'
Public methods (0)

No public methods.

New fields (1)
  • l10n_it_edi_doi_ids One2many → l10n_it_edi_doi.declaration_of_intent
    domain=<expr> string='Available Declarations of Intent of this partner' args: 'l10n_it_edi_doi.declaration_of_intent', 'partner_id'
Public methods (1)
  • l10n_it_edi_doi_action_open_declarations(self)

New fields (5)
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_not_yet_invoiced Monetary
    compute='_compute_l10n_it_edi_doi_not_yet_invoiced' help='Total under the Declaration of Intent of this document that can still be invoiced' readonly=True store=True string='Declaration of Intent Amount Not Yet Invoiced'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (5)
  • action_confirm(self)
  • action_open_declaration_of_intent(self)
  • action_quotation_send(self)
  • action_quotation_sent(self)
  • copy_data(self, default=None)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/l10n_it_edi_doi
VERSION
VERSION 0.1
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Xavier Morel, Tiffany Chang (tic), Gorash, odoo, william-andre, John Laterre (jol), niyasraphy, Pieter Claeys (clpi), Claire Bretton (clbr), Dylan Kiss (dyki), Jinane Maksoud, Paolo Gatti, Sven Fuehr, asno-odoo, gteboul
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/18.0/applications/finance/fiscal_localizations/italy.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:26:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_it_edi
    - l10n_it
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - account_edi_proxy_client
    - certificate
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Add support for the Declaration of Intent (Dichiarazione di Intento) to the Italian localization.
    

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_invoice_line_it_FatturaPA account_invoice_line_it_FatturaPA ir.ui.view qweb Inherits l10n_it_edi.account_invoice_line_it_FatturaPA
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_saleorder_document report_saleorder_document ir.ui.view qweb Inherits sale.report_saleorder_document
res_partner_view_search res.partner.search.inherit res.partner xpath Inherits account.res_partner_view_search
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_l10n_it_edi_doi_declaration_of_intent_search l10n_it_edi_doi.declaration_of_intent.search l10n_it_edi_doi.declaration_of_intent search New
view_l10n_it_edi_doi_form l10n_it_edi_doi.declaration_of_intent.form l10n_it_edi_doi.declaration_of_intent form New
view_l10n_it_edi_doi_tree l10n_it_edi_doi.declaration_of_intent.list l10n_it_edi_doi.declaration_of_intent list New
view_move_form account.move.form account.move div Inherits account.view_move_form
view_move_tree account.move.list account.move list New
view_order_form sale.order.form sale.order div Inherits sale.view_order_form
view_partner_l10n_form view_partner_l10n_form res.partner div Inherits base_vat.view_partner_base_vat_form
view_quotation_tree sale.order.list sale.order list New
view_sales_order_filter sale.order.list.select sale.order filter Inherits sale.view_sales_order_filter
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • l10n_it_edi_doi_amount Monetary
    compute='_compute_l10n_it_edi_doi_amount' help='Total amount of sales under the Declaration of Intent of this document' readonly=True store=True string='Declaration of Intent Amount'
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (2)
  • action_open_declaration_of_intent(self)
  • copy_data(self, default=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True required=True string='Currency'
  • end_date Date
    copy=False help='Last date on which the Declaration of Intent is valid' required=True string='End Date'
  • invoice_ids One2many → account.move
    copy=False readonly=True string='Invoices / Refunds' args: 'account.move', 'l10n_it_edi_doi_id'
  • invoiced Monetary
    compute='_compute_invoiced' help='Total amount of sales under this Declaration of Intent' readonly=True store=True string='Invoiced'
  • issue_date Date
    copy=False default=fields.Date.context_today help='Date on which the Declaration of Intent was issued' required=True string='Date of Issue'
  • not_yet_invoiced Monetary
    compute='_compute_not_yet_invoiced' help='Total amount of planned sales under this Declaration of Intent (i.e. current quotation and sales orders) that can still be invoiced' readonly=True store=True string='Not Yet Invoiced'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' domain="['|', ('is_company', '=', True), ('parent_id', '=', False)]" index=True required=True string='Partner'
  • protocol_number_part1 Char
    copy=False readonly=False required=True string='Protocol 1'
  • protocol_number_part2 Char
    copy=False readonly=False required=True string='Protocol 2'
  • remaining Monetary
    compute='_compute_remaining' help='Remaining amount after deduction of the Invoiced and Not Yet Invoiced amounts.' readonly=True store=True string='Remaining'
  • sale_order_ids One2many → sale.order
    copy=False readonly=True string='Sales Orders / Quotations' args: 'sale.order', 'l10n_it_edi_doi_id'
  • start_date Date
    copy=False help='First date on which the Declaration of Intent is valid' required=True string='Start Date'
  • state Selection
    default='draft' help="The state of this Declaration of Intent. \n- 'Draft' means that the Declaration of Intent still needs to be confirmed before being usable. \n- 'Active' means that the Declaration of Intent is usable. \n- 'Terminated' designates that the Declaration of Intent has been marked as not to use anymore without invalidating usages of it. \n- 'Revoked' means the Declaration of Intent should not have been used. You will probably need to revert previous usages of it, if any.\n" readonly=True required=True string='State' tracking=True args: [('draft', 'Draft'), ('active', 'Active'), ('revoked', 'Revoked'), ('terminated', 'Terminated')]
  • threshold Monetary
    help='Total amount of allowed sales without VAT under this Declaration of Intent' required=True string='Threshold'
Public methods (7)
  • action_open_invoice_ids(self)
  • action_open_sale_order_ids(self)
  • action_reactivate(self)
    Resets a not 'active' Declaration of Intent back to 'active'.
  • action_reset_to_draft(self)
    Resets an 'active' Declaration of Intent back to 'draft'.
  • action_revoke(self)
    Called by the 'revoke' button of the form view.
  • action_terminate(self)
    Called by the 'terminated' button of the form view.
  • action_validate(self)
    Move a 'draft' Declaration of Intent to 'active'.

New fields (2)
  • l10n_it_edi_doi_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Declaration of Intent Fiscal Position'
  • l10n_it_edi_doi_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Declaration of Intent Tax'
Public methods (0)

No public methods.

New fields (1)
  • l10n_it_edi_doi_ids One2many → l10n_it_edi_doi.declaration_of_intent
    domain=<expr> string='Available Declarations of Intent of this partner' args: 'l10n_it_edi_doi.declaration_of_intent', 'partner_id'
Public methods (1)
  • l10n_it_edi_doi_action_open_declarations(self)

New fields (5)
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_not_yet_invoiced Monetary
    compute='_compute_l10n_it_edi_doi_not_yet_invoiced' help='Total under the Declaration of Intent of this document that can still be invoiced' readonly=True store=True string='Declaration of Intent Amount Not Yet Invoiced'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (5)
  • action_confirm(self)
  • action_open_declaration_of_intent(self)
  • action_quotation_send(self)
  • action_quotation_sent(self)
  • copy_data(self, default=None)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/l10n_it_edi_doi
VERSION
VERSION 0.1
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, niyasraphy, Dylan Kiss (dyki), Jinane Maksoud, Paolo Gatti, Sven Fuehr, asno-odoo, gteboul
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/italy.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_it_edi
    - l10n_it
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - account_edi_proxy_client
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Add support for the Declaration of Intent (Dichiarazione di Intento) to the Italian localization.
    

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_invoice_line_it_FatturaPA account_invoice_line_it_FatturaPA ir.ui.view qweb Inherits l10n_it_edi.account_invoice_line_it_FatturaPA
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_saleorder_document report_saleorder_document ir.ui.view qweb Inherits sale.report_saleorder_document
res_partner_view_search res.partner.search.inherit res.partner xpath Inherits account.res_partner_view_search
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_l10n_it_edi_doi_declaration_of_intent_search l10n_it_edi_doi.declaration_of_intent.search l10n_it_edi_doi.declaration_of_intent search New
view_l10n_it_edi_doi_form l10n_it_edi_doi.declaration_of_intent.form l10n_it_edi_doi.declaration_of_intent form New
view_l10n_it_edi_doi_tree l10n_it_edi_doi.declaration_of_intent.tree l10n_it_edi_doi.declaration_of_intent tree New
view_move_form account.move.form account.move div Inherits account.view_move_form
view_move_tree account.move.tree account.move tree New
view_order_form sale.order.form sale.order div Inherits sale.view_order_form
view_partner_l10n_form view_partner_l10n_form res.partner div Inherits base_vat.view_partner_base_vat_form
view_quotation_tree sale.order.tree sale.order tree New
view_sales_order_filter sale.order.list.select sale.order filter Inherits sale.view_sales_order_filter
Models touched (9)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • l10n_it_edi_doi_amount Monetary
    compute='_compute_l10n_it_edi_doi_amount' help='Total amount of sales under the Declaration of Intent of this document' readonly=True store=True string='Declaration of Intent Amount'
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (2)
  • action_open_declaration_of_intent(self)
  • copy_data(self, default=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True required=True string='Currency'
  • end_date Date
    copy=False help='Last date on which the Declaration of Intent is valid' required=True string='End Date'
  • invoice_ids One2many → account.move
    copy=False readonly=True string='Invoices / Refunds' args: 'account.move', 'l10n_it_edi_doi_id'
  • invoiced Monetary
    compute='_compute_invoiced' help='Total amount of sales under this Declaration of Intent' readonly=True store=True string='Invoiced'
  • issue_date Date
    copy=False default=fields.Date.context_today help='Date on which the Declaration of Intent was issued' required=True string='Date of Issue'
  • not_yet_invoiced Monetary
    compute='_compute_not_yet_invoiced' help='Total amount of planned sales under this Declaration of Intent (i.e. current quotation and sales orders) that can still be invoiced' readonly=True store=True string='Not Yet Invoiced'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' domain="['|', ('is_company', '=', True), ('parent_id', '=', False)]" index=True required=True string='Partner'
  • protocol_number_part1 Char
    copy=False readonly=False required=True string='Protocol 1'
  • protocol_number_part2 Char
    copy=False readonly=False required=True string='Protocol 2'
  • remaining Monetary
    compute='_compute_remaining' help='Remaining amount after deduction of the Invoiced and Not Yet Invoiced amounts.' readonly=True store=True string='Remaining'
  • sale_order_ids One2many → sale.order
    copy=False readonly=True string='Sales Orders / Quotations' args: 'sale.order', 'l10n_it_edi_doi_id'
  • start_date Date
    copy=False help='First date on which the Declaration of Intent is valid' required=True string='Start Date'
  • state Selection
    default='draft' help="The state of this Declaration of Intent. \n- 'Draft' means that the Declaration of Intent still needs to be confirmed before being usable. \n- 'Active' means that the Declaration of Intent is usable. \n- 'Terminated' designates that the Declaration of Intent has been marked as not to use anymore without invalidating usages of it. \n- 'Revoked' means the Declaration of Intent should not have been used. You will probably need to revert previous usages of it, if any.\n" readonly=True required=True string='State' tracking=True args: [('draft', 'Draft'), ('active', 'Active'), ('revoked', 'Revoked'), ('terminated', 'Terminated')]
  • threshold Monetary
    help='Total amount of allowed sales without VAT under this Declaration of Intent' required=True string='Threshold'
Public methods (7)
  • action_open_invoice_ids(self)
  • action_open_sale_order_ids(self)
  • action_reactivate(self)
    Resets a not 'active' Declaration of Intent back to 'active'.
  • action_reset_to_draft(self)
    Resets an 'active' Declaration of Intent back to 'draft'.
  • action_revoke(self)
    Called by the 'revoke' button of the form view.
  • action_terminate(self)
    Called by the 'terminated' button of the form view.
  • action_validate(self)
    Move a 'draft' Declaration of Intent to 'active'.

New fields (2)
  • l10n_it_edi_doi_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Declaration of Intent Fiscal Position'
  • l10n_it_edi_doi_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Declaration of Intent Tax'
Public methods (0)

No public methods.

New fields (1)
  • l10n_it_edi_doi_ids One2many → l10n_it_edi_doi.declaration_of_intent
    domain=<expr> string='Available Declarations of Intent of this partner' args: 'l10n_it_edi_doi.declaration_of_intent', 'partner_id'
Public methods (1)
  • l10n_it_edi_doi_action_open_declarations(self)

New fields (5)
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_not_yet_invoiced Monetary
    compute='_compute_l10n_it_edi_doi_not_yet_invoiced' help='Total under the Declaration of Intent of this document that can still be invoiced' readonly=True store=True string='Declaration of Intent Amount Not Yet Invoiced'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (5)
  • action_confirm(self)
  • action_open_declaration_of_intent(self)
  • action_quotation_send(self)
  • action_quotation_sent(self)
  • copy_data(self, default=None)

New fields (1)
  • qty_invoiced_posted Float
    compute='_compute_qty_invoiced_posted' digits='Product Unit of Measure' store=True string='Invoiced Quantity (posted)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/l10n_it_edi_doi
VERSION
VERSION 0.1
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSSven Fuehr
WEBSITE
WEBSITEhttps://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/italy.html
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - l10n_it_edi
    - l10n_it
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - account_edi
    - account_edi_proxy_client
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
    Add support for the Declaration of Intent (Dichiarazione di Intento) to the Italian localization.
    

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
account_invoice_line_it_FatturaPA account_invoice_line_it_FatturaPA ir.ui.view qweb Inherits l10n_it_edi.account_invoice_line_it_FatturaPA
report_invoice_document report_invoice_document ir.ui.view qweb Inherits account.report_invoice_document
report_saleorder_document report_saleorder_document ir.ui.view qweb Inherits sale.report_saleorder_document
res_partner_view_search res.partner.search.inherit res.partner xpath Inherits account.res_partner_view_search
view_account_invoice_filter account.invoice.select account.move xpath Inherits account.view_account_invoice_filter
view_l10n_it_edi_doi_declaration_of_intent_search l10n_it_edi_doi.declaration_of_intent.search l10n_it_edi_doi.declaration_of_intent search New
view_l10n_it_edi_doi_form l10n_it_edi_doi.declaration_of_intent.form l10n_it_edi_doi.declaration_of_intent form New
view_l10n_it_edi_doi_tree l10n_it_edi_doi.declaration_of_intent.tree l10n_it_edi_doi.declaration_of_intent tree New
view_move_form account.move.form account.move div Inherits account.view_move_form
view_move_tree account.move.tree account.move tree New
view_order_form sale.order.form sale.order div Inherits sale.view_order_form
view_partner_l10n_form view_partner_l10n_form res.partner div Inherits base_vat.view_partner_base_vat_form
view_quotation_tree sale.order.tree sale.order tree New
view_sales_order_filter sale.order.list.select sale.order filter Inherits sale.view_sales_order_filter
Models touched (10)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • l10n_it_edi_doi_amount Monetary
    compute='_compute_l10n_it_edi_doi_amount' help='Total amount of sales under the Declaration of Intent of this document' readonly=True store=True string='Declaration of Intent Amount'
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (2)
  • action_open_declaration_of_intent(self)
  • copy_data(self, default=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' default=<expr> readonly=True required=True string='Currency'
  • end_date Date
    copy=False help='Last date on which the Declaration of Intent is valid' required=True string='End Date'
  • invoice_ids One2many → account.move
    copy=False readonly=True string='Invoices / Refunds' args: 'account.move', 'l10n_it_edi_doi_id'
  • invoiced Monetary
    compute='_compute_invoiced' help='Total amount of sales under this Declaration of Intent' readonly=True store=True string='Invoiced'
  • issue_date Date
    copy=False default=fields.Date.context_today help='Date on which the Declaration of Intent was issued' required=True string='Date of Issue'
  • not_yet_invoiced Monetary
    compute='_compute_not_yet_invoiced' help='Total amount of planned sales under this Declaration of Intent (i.e. current quotation and sales orders) that can still be invoiced' readonly=True store=True string='Not Yet Invoiced'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' domain="['|', ('is_company', '=', True), ('parent_id', '=', False)]" index=True required=True string='Partner'
  • protocol_number_part1 Char
    copy=False readonly=False required=True string='Protocol 1'
  • protocol_number_part2 Char
    copy=False readonly=False required=True string='Protocol 2'
  • remaining Monetary
    compute='_compute_remaining' help='Remaining amount after deduction of the Invoiced and Not Yet Invoiced amounts.' readonly=True store=True string='Remaining'
  • sale_order_ids One2many → sale.order
    copy=False readonly=True string='Sales Orders / Quotations' args: 'sale.order', 'l10n_it_edi_doi_id'
  • start_date Date
    copy=False help='First date on which the Declaration of Intent is valid' required=True string='Start Date'
  • state Selection
    default='draft' help="The state of this Declaration of Intent. \n- 'Draft' means that the Declaration of Intent still needs to be confirmed before being usable. \n- 'Active' means that the Declaration of Intent is usable. \n- 'Terminated' designates that the Declaration of Intent has been marked as not to use anymore without invalidating usages of it. \n- 'Revoked' means the Declaration of Intent should not have been used. You will probably need to revert previous usages of it, if any.\n" readonly=True required=True string='State' tracking=True args: [('draft', 'Draft'), ('active', 'Active'), ('revoked', 'Revoked'), ('terminated', 'Terminated')]
  • threshold Monetary
    help='Total amount of allowed sales without VAT under this Declaration of Intent' required=True string='Threshold'
Public methods (8)
  • action_open_invoice_ids(self)
  • action_open_sale_order_ids(self)
  • action_reactivate(self)
    Resets a not 'active' Declaration of Intent back to 'active'.
  • action_reset_to_draft(self)
    Resets an 'active' Declaration of Intent back to 'draft'.
  • action_revoke(self)
    Called by the 'revoke' button of the form view.
  • action_terminate(self)
    Called by the 'terminated' button of the form view.
  • action_validate(self)
    Move a 'draft' Declaration of Intent to 'active'.
  • name_get(self)

New fields (2)
  • l10n_it_edi_doi_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' string='Declaration of Intent Fiscal Position'
  • l10n_it_edi_doi_tax_id Many2one → account.tax
    comodel_name='account.tax' string='Declaration of Intent Tax'
Public methods (0)

No public methods.

New fields (1)
  • l10n_it_edi_doi_ids One2many → l10n_it_edi_doi.declaration_of_intent
    domain=<expr> string='Available Declarations of Intent of this partner' args: 'l10n_it_edi_doi.declaration_of_intent', 'partner_id'
Public methods (1)
  • l10n_it_edi_doi_action_open_declarations(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (5)
  • l10n_it_edi_doi_date Date
    compute='_compute_l10n_it_edi_doi_date' string='Date on which Declaration of Intent is applied'
  • l10n_it_edi_doi_id Many2one → l10n_it_edi_doi.declaration_of_intent
    comodel_name='l10n_it_edi_doi.declaration_of_intent' compute='_compute_l10n_it_edi_doi_id' precompute=True readonly=False store=True string='Declaration of Intent'
  • l10n_it_edi_doi_not_yet_invoiced Monetary
    compute='_compute_l10n_it_edi_doi_not_yet_invoiced' help='Total under the Declaration of Intent of this document that can still be invoiced' readonly=True store=True string='Declaration of Intent Amount Not Yet Invoiced'
  • l10n_it_edi_doi_use Boolean
    compute='_compute_l10n_it_edi_doi_use' string='Use Declaration of Intent'
  • l10n_it_edi_doi_warning Text
    compute='_compute_l10n_it_edi_doi_warning' string='Declaration of Intent Threshold Warning'
Public methods (5)
  • action_confirm(self)
  • action_open_declaration_of_intent(self)
  • action_quotation_send(self)
  • action_quotation_sent(self)
  • copy_data(self, default=None)

New fields (1)
  • qty_invoiced_posted Float
    compute='_compute_qty_invoiced_posted' digits='Product Unit of Measure' store=True string='Invoiced Quantity (posted)'
Public methods (0)

No public methods.