ITA - Bilancio UE con XBRL

l10n_it_financial_statement_eu
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_financial_statement_eu
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), MKT Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), MKT Srl
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Marco Colombo
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - report_xlsx
    - report_xml
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_edi
    - l10n_it
    - base_iban
    - base_vat
    - account_edi_proxy_client
    - certificate
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**Italiano**

In Odoo è presente il piano dei conti tradizionale e le varie
registrazioni contabili con gli importi ma non è presente una struttura
di voci che descrivano il Bilancio UE a cui associare le voci del piano
dei conti tradizionale.

Questo modulo consente di generare un bilancio riclassificato secondo lo
schema del bilancio UE con tutte le voci delle più recenti tassonomie
mettendo a disposizione le seguenti funzionalità:

- associare ai conti del piano dei conti le voci del Bilancio UE (con
  preassociazione automatica in fase di installazione del modulo)
- elaborare le registrazioni contabili di un dato periodo (per esempio
  l’anno precedente) al fine di ottenere il bilancio contabile in
  formato UE, facendo gli opportuni controlli di congruenza,
  associazione di tutti i conti movimentati nel periodo e quadratura del
  bilancio. Nei report viene riportato anche il dettaglio dei conti
  associati ad una certa voce del bilancio UE
- generare il report di anteprima del Bilancio UE
- generare la stampa PDF del Bilancio UE
- generare i file XLSX e XBRL del bilancio (utili per successive
  rielaborazioni e per trasferimento del bilancio UE al Commercialista)

**English**

In Odoo there is the traditional chart of accounts and the various
registrations accountants with amounts but there is no line item
structure that describe the EU financial statements to which to
associate the items of the traditional chart of accounts. This module
allows to generate a reclassified financial statements according to the
EU format with all the entries of the most recent taxonomies by making
available the following features:

- associate the items in the Chart of Accounts with the items in the EU
  Budget (with automatic pre-association during module installation)
- process the accounting records of a given period (for example last
  year) in order to obtain the accounting financial statements in EU
  format, carrying out the appropriate congruence checks, association of
  all the accounts moved in the period and balancing of the balance
  sheet. The reports also show the details of the accounts associated
  with a certain item of the EU financial statements
- preview then EU financial statements
- PDF printout of the EU financial statements
- download files in XLSX or XBRL format (useful for subsequent
  re-elaborations and for the transfer of the EU financial statements to
  the accountant)

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
financial_statement_eu_form_view financial.statement.eu.form financial.statement.eu form New
financial_statement_eu_log_view financial.statement.eu.log.form financial.statement.eu.log form New
financial_statement_eu_search_view financial.statement.eu.search financial.statement.eu search New
financial_statement_eu_tree_view financial.statement.eu.list financial.statement.eu list New
financial_statement_eu_wizard_view financial.statement.eu.wizard.form financial.statement.eu.wizard form New
fseu_html_report fseu_html_report ir.ui.view qweb New
l10n_it_financial_statement_eu.internal_layout l10n_it_financial_statement_eu.internal_layout ir.ui.view qweb New
view_form_account_financial_statement_eu view.form.financial.statement.eu account.account xpath Inherits account.view_account_form
Models touched (7)

New fields (2)
  • financial_statement_eu_credit_id Many2one → financial.statement.eu
    domain="[('child_ids','=',False),'|', ('code','=','PP=A9'), ('code','not like', '%=%')]" help='Add this account in a Financial statement EU line amount CREDITS' string='Credit (Financial statement EU)' args: 'financial.statement.eu'
  • financial_statement_eu_debit_id Many2one → financial.statement.eu
    domain="[('child_ids','=',False),'|', ('code','=','PP=A9'), ('code','not like','%=%')]" help='Add this account in a Financial statement EU line amount DEBITS' string='Debit (Financial statement EU)' args: 'financial.statement.eu'
Public methods (0)

No public methods.

New fields (11)
  • child_ids One2many → financial.statement.eu
    comodel_name='financial.statement.eu' inverse_name='parent_id' string='Childs'
  • code Char
    size=8
  • complete_name Char
    compute='_compute_complete_name' recursive=True store=True
  • long_desc Char
    string='Complete Description'
  • name Char
    string='Description'
  • parent_id Many2one → financial.statement.eu
    comodel_name='financial.statement.eu' index=True string='Parent'
  • sequence Integer
    required=False string='#'
  • sign_calculation Selection
    selection=[('-', 'Subtract'), ('', 'Add')] string='Sign (calc)'
  • sign_display Selection
    selection=[('+', 'Positive'), ('-', 'Negative')] string='Sign (view)'
  • tag_xbrl Char
    string='Name XBRL'
  • zone_bal Selection
    required=True string='Zone' args: [('PA', 'Assets'), ('PP', 'Liabilities'), ('EC', 'Income statement'), ('--', 'Ignore')]
Public methods (9)
  • add_calc_type_domain(self, domain, calc_type, financial_statement_eu_id)
  • cal_financial_statement_eu_data(self, form_data)
  • cal_financial_statement_eu_line_amount(self, financial_statement_eu_lines, code)
  • financial_statement_eu_account_assoc_code(self, acc_code, debit_financial_statement_eu_code, credit_financial_statement_eu_code)
    @api.model
  • financial_statement_eu_account_association(self, acc_code, debit_fse_id, credit_fse_id, force_update)
    @api.model
  • get_account_list_amount(self, company_id, currency_id, date_from, date_to, only_posted_move, hide_acc_amount_0, ignore_closing_move, calc_type, financial_statement_eu_id, sign_display, financial_statement_line_amount, account_list)
  • get_parent_path(self)
  • name_get(self)
  • round_bal_val(self, val, precision)

New fields (3)
  • account_id Many2one → account.account
    readonly=True string='Account unlinked' args: 'account.account'
  • amount Float
    readonly=True
  • financial_statement_id Many2one → financial.statement.eu.wizard
    string='Financial statement' args: 'financial.statement.eu.wizard'
Public methods (0)

No public methods.

New fields (23)
  • address Char
  • city Char
  • company_id Many2one → res.company
    string='Company' args: 'res.company'
  • company_name Char
  • currency_id Many2one → res.currency
    string='Currency' args: 'res.currency'
  • date_from Date
    default=_default_date_from required=True string='From date'
  • date_range_id Many2one → date.range
    comodel_name='date.range' default=_default_date_range string='Date range'
  • date_to Date
    default=_default_date_to required=True string='To date'
  • financial_statement_log_ids One2many → financial.statement.eu.log
    auto_join=True string='Unlinked Account' args: 'financial.statement.eu.log', 'financial_statement_id'
  • fiscalcode Char
    string='Fiscal Code'
  • hide_acc_amount_0 Boolean
    default=True help='Financial statements lines will showed anyway, hide only accounts with balance 0' string='Hide account with amount 0'
  • ignore_closing_move Boolean
    default=True string='Ignore closing registration'
  • l10n_it_eco_index_number Char
    string='REA number'
  • l10n_it_eco_index_office Char
    string='REA office'
  • l10n_it_eco_index_share_capital Float
    string='Share Capital'
  • log_warnings Text
    default='' string='WARNING:'
  • name Char
    compute='_compute_period_data'
  • only_posted_move Boolean
    default=True string='Use only posted registration'
  • state Selection
    default='OK' readonly=True args: [('OK', 'COMPLETE'), ('UNLINKED_ACCOUNTS', 'CHECK ACCOUNTS'), ('UNBALANCED', 'UNBALANCED')]
  • values_precision Selection
    default='d' required=True string='Values show as' args: [('d', '2 decimals Euro'), ('u', 'euro units')]
  • vat_code Char
    string='VAT number'
  • vat_code_nation Char
    string='VAT number nation'
  • year Integer
    compute='_compute_period_data'
Public methods (6)
  • cal_warnings_and_unlinked_acc(self, form_data)
  • financial_statement_eu_html_report(self)
  • financial_statement_eu_xbrl_report(self)
  • financial_statement_eu_xlsx_report(self)
  • get_data(self)
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • generate_report(self, ir_report, docids, data=None)
  • get_financial_statement_line_tags(self, financial_statement_line_id, financial_statement_eu_lines, str_year, decimal_precision)
  • get_xbrl_data_tag(self, str_field, str_year, value, decimal_precision=-1)

New fields (0)

No new fields.

Public methods (1)
  • generate_xlsx_report(self, workbook, data, record_data)
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_financial_statement_eu
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYLocalization/Italy
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), MKT Srl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), MKT Srl
COMMITTERS
COMMITTERSeLBati, Weblate, OCA-git-bot, Simone Rubino, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-italy
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:11:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/l10n-italy:
    - l10n_it_rea
    - l10n_it_fiscalcode
OCA/reporting-engine:
    - report_xlsx
    - report_xml
OCA/server-ux:
    - date_range
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES codicefiscale
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
**Italiano**

In Odoo è presente il piano dei conti tradizionale e le varie
registrazioni contabili con gli importi ma non è presente una struttura
di voci che descrivano il Bilancio UE a cui associare le voci del piano
dei conti tradizionale.

Questo modulo consente di generare un bilancio riclassificato secondo lo
schema del bilancio UE con tutte le voci delle più recenti tassonomie
mettendo a disposizione le seguenti funzionalità:

- associare ai conti del piano dei conti le voci del Bilancio UE (con
  preassociazione automatica in fase di installazione del modulo)
- elaborare le registrazioni contabili di un dato periodo (per esempio
  l’anno precedente) al fine di ottenere il bilancio contabile in
  formato UE, facendo gli opportuni controlli di congruenza,
  associazione di tutti i conti movimentati nel periodo e quadratura del
  bilancio. Nei report viene riportato anche il dettaglio dei conti
  associati ad una certa voce del bilancio UE
- generare il report di anteprima del Bilancio UE
- generare la stampa PDF del Bilancio UE
- generare i file XLSX e XBRL del bilancio (utili per successive
  rielaborazioni e per trasferimento del bilancio UE al Commercialista)

**English**

In Odoo there is the traditional chart of accounts and the various
registrations accountants with amounts but there is no line item
structure that describe the EU financial statements to which to
associate the items of the traditional chart of accounts. This module
allows to generate a reclassified financial statements according to the
EU format with all the entries of the most recent taxonomies by making
available the following features:

- associate the items in the Chart of Accounts with the items in the EU
  Budget (with automatic pre-association during module installation)
- process the accounting records of a given period (for example last
  year) in order to obtain the accounting financial statements in EU
  format, carrying out the appropriate congruence checks, association of
  all the accounts moved in the period and balancing of the balance
  sheet. The reports also show the details of the accounts associated
  with a certain item of the EU financial statements
- preview then EU financial statements
- PDF printout of the EU financial statements
- download files in XLSX or XBRL format (useful for subsequent
  re-elaborations and for the transfer of the EU financial statements to
  the accountant)

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
financial_statement_eu_form_view financial.statement.eu.form financial.statement.eu form New
financial_statement_eu_log_view financial.statement.eu.log.form financial.statement.eu.log form New
financial_statement_eu_search_view financial.statement.eu.search financial.statement.eu search New
financial_statement_eu_tree_view financial.statement.eu.tree financial.statement.eu tree New
financial_statement_eu_wizard_view financial.statement.eu.wizard.form financial.statement.eu.wizard form New
fseu_html_report fseu_html_report ir.ui.view qweb New
l10n_it_financial_statement_eu.internal_layout l10n_it_financial_statement_eu.internal_layout ir.ui.view qweb New
view_form_account_financial_statement_eu view.form.financial.statement.eu account.account xpath Inherits account.view_account_form
Models touched (7)

New fields (2)
  • financial_statement_eu_credit_id Many2one → financial.statement.eu
    domain="[('child_ids','=',False),'|', ('code','=','PP=A9'), ('code','not like', '%=%')]" help='Add this account in a Financial statement EU line amount CREDITS' string='Credit (Financial statement EU)' args: 'financial.statement.eu'
  • financial_statement_eu_debit_id Many2one → financial.statement.eu
    domain="[('child_ids','=',False),'|', ('code','=','PP=A9'), ('code','not like','%=%')]" help='Add this account in a Financial statement EU line amount DEBITS' string='Debit (Financial statement EU)' args: 'financial.statement.eu'
Public methods (0)

No public methods.

New fields (11)
  • child_ids One2many → financial.statement.eu
    comodel_name='financial.statement.eu' inverse_name='parent_id' string='Childs'
  • code Char
    size=8
  • complete_name Char
    compute='_compute_complete_name' recursive=True store=True
  • long_desc Char
    string='Complete Description'
  • name Char
    string='Description'
  • parent_id Many2one → financial.statement.eu
    comodel_name='financial.statement.eu' index=True string='Parent'
  • sequence Integer
    required=False string='#'
  • sign_calculation Selection
    selection=[('-', 'Subtract'), ('', 'Add')] string='Sign (calc)'
  • sign_display Selection
    selection=[('+', 'Positive'), ('-', 'Negative')] string='Sign (view)'
  • tag_xbrl Char
    string='Name XBRL'
  • zone_bal Selection
    required=True string='Zone' args: [('PA', 'Assets'), ('PP', 'Liabilities'), ('EC', 'Income statement'), ('--', 'Ignore')]
Public methods (9)
  • add_calc_type_domain(self, domain, calc_type, financial_statement_eu_id)
  • cal_financial_statement_eu_data(self, form_data)
  • cal_financial_statement_eu_line_amount(self, financial_statement_eu_lines, code)
  • financial_statement_eu_account_assoc_code(self, acc_code, debit_financial_statement_eu_code, credit_financial_statement_eu_code)
    @api.model
  • financial_statement_eu_account_association(self, acc_code, debit_fse_id, credit_fse_id, force_update)
    @api.model
  • get_account_list_amount(self, company_id, currency_id, date_from, date_to, only_posted_move, hide_acc_amount_0, ignore_closing_move, calc_type, financial_statement_eu_id, sign_display, financial_statement_line_amount, account_list)
  • get_parent_path(self)
  • name_get(self)
  • round_bal_val(self, val, precision)

New fields (3)
  • account_id Many2one → account.account
    readonly=True string='Account unlinked' args: 'account.account'
  • amount Float
    readonly=True
  • financial_statement_id Many2one → financial.statement.eu.wizard
    string='Financial statement' args: 'financial.statement.eu.wizard'
Public methods (0)

No public methods.

New fields (23)
  • address Char
  • city Char
  • company_id Many2one → res.company
    string='Company' args: 'res.company'
  • company_name Char
  • currency_id Many2one → res.currency
    string='Currency' args: 'res.currency'
  • date_from Date
    default=_default_date_from required=True string='From date'
  • date_range_id Many2one → date.range
    comodel_name='date.range' default=_default_date_range string='Date range'
  • date_to Date
    default=_default_date_to required=True string='To date'
  • financial_statement_log_ids One2many → financial.statement.eu.log
    auto_join=True string='Unlinked Account' args: 'financial.statement.eu.log', 'financial_statement_id'
  • fiscalcode Char
    string='Fiscal Code'
  • hide_acc_amount_0 Boolean
    default=True help='Financial statements lines will showed anyway, hide only accounts with balance 0' string='Hide account with amount 0'
  • ignore_closing_move Boolean
    default=True string='Ignore closing registration'
  • log_warnings Text
    default='' string='WARNING:'
  • name Char
    compute='_compute_period_data'
  • only_posted_move Boolean
    default=True string='Use only posted registration'
  • rea_capital Float
    string='Share Capital'
  • rea_num Char
    string='REA number'
  • rea_office Char
    string='REA office'
  • state Selection
    default='OK' readonly=True args: [('OK', 'COMPLETE'), ('UNLINKED_ACCOUNTS', 'CHECK ACCOUNTS'), ('UNBALANCED', 'UNBALANCED')]
  • values_precision Selection
    default='d' required=True string='Values show as' args: [('d', '2 decimals Euro'), ('u', 'euro units')]
  • vat_code Char
    string='VAT number'
  • vat_code_nation Char
    string='VAT number nation'
  • year Integer
    compute='_compute_period_data'
Public methods (6)
  • cal_warnings_and_unlinked_acc(self, form_data)
  • financial_statement_eu_html_report(self)
  • financial_statement_eu_xbrl_report(self)
  • financial_statement_eu_xlsx_report(self)
  • get_data(self)
  • onchange_date_range_id(self)
    @api.onchange('date_range_id')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • generate_report(self, ir_report, docids, data=None)
  • get_financial_statement_line_tags(self, financial_statement_line_id, financial_statement_eu_lines, str_year, decimal_precision)
  • get_xbrl_data_tag(self, str_field, str_year, value, decimal_precision=-1)

New fields (0)

No new fields.

Public methods (1)
  • generate_xlsx_report(self, workbook, data, record_data)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/l10n-italy
PULL REQUEST
PULL REQUEST[19.0][MIG] l10n_it_financial_statement_eu: Migration to 19.0 (#5085)