Repository
OCA/l10n-italy · module folder · Try on Runboat
Module version
1.0.11
Category
Localization/Italy
Folder size
1.4 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/l10n-italy
Last tracking update
2026-08-07 08:09:16
Authors
Odoo Community Association (OCA), Odoo Italia Network
Maintainers
Odoo Community Association (OCA), Odoo Italia Network
Committers
eLBati, Simone Rubino, Weblate, OCA-git-bot, oca-ci, odooNextev, Borruso, Simone
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
l10n_it_fatturapa_in_rc, l10n_it_fatturapa_out_rc, l10n_it_reverse_charge_start_end_dates, l10n_it_vat_registries_rc, l10n_it_vat_settlement_date_rc
Description
**Italiano**

Modulo per gestire l'inversione contabile (reverse charge) nelle fatture
fornitore.

Il modulo permette di automatizzare le registrazioni contabili derivate
dalle fatture fornitori intra UE ed extra UE mediante l'inversione
contabile IVA. Inoltre è automatizzata la procedura di annullamento e
riapertura della fattura fornitore.

È inoltre possibile utilizzare la modalità "con autofattura fornitore
aggiuntiva". Questa modalità è usata tipicamente per i fornitori extra
UE per mostrare, nel registro IVA acquisti, una fattura intestata alla
propria azienda (autofattura passiva). L'autofattura passiva verrà poi
totalmente riconciliata con l'autofattura attiva, anch'essa intestata
alla propria azienda.

**English**

Module to handle reverse charge IVA in vendor bills.

The module allows you to automate the accounting entries derived from
invoices of intra-EU and extra-EU suppliers through the VAT reverse
charge. Furthermore, the vendor bill cancellation and reopening
procedure is automated.

It is also possible to use the "additional vendor self billing" mode.
This mode is typically used for non-EU suppliers to show, in the
purchases VAT journal, a vendor bill addressed to your own company
(self-bill). The self-bill will then be completely reconciled with the
self-invoice, which is also addressed to your own company.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_fiscal_position_form_rc account.fiscal.position.form.rc account.fiscal.position form Inherits account.view_account_position_form
view_invoice_line_form_rc view_invoice_line_form_rc account.move.line form Inherits account.view_move_line_form
view_invoice_supplier_form_rc account.invoice.supplier.form.rc account.move form Inherits account.view_move_form
view_rc_type_form account.rc.type.form account.rc.type form New
view_rc_type_tree account.rc.type.tree account.rc.type tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (5)

New fields (1)
  • rc_type_id Many2one → account.rc.type
    args: 'account.rc.type', 'RC Type'
Public methods (0)

No public methods.

New fields (5)
  • rc_original_purchase_invoice_ids One2many → account.move
    copy=False readonly=True string='Original purchase invoices' args: 'account.move', 'rc_self_purchase_invoice_id'
  • rc_payment_move_id Many2one → account.move
    comodel_name='account.move' copy=False readonly=True string='RC Payment Move'
  • rc_purchase_invoice_id Many2one → account.move
    comodel_name='account.move' copy=False readonly=True string='RC Purchase Invoice'
  • rc_self_invoice_id Many2one → account.move
    comodel_name='account.move' copy=False readonly=True string='RC Self Invoice'
  • rc_self_purchase_invoice_id Many2one → account.move
    comodel_name='account.move' copy=False readonly=True string='RC Self Purchase Invoice'
Public methods (18)
  • action_post(self)
  • button_cancel(self)
  • button_draft(self)
  • compute_rc_amount_tax_main_currency(self)
    Get Tax for all RC lines in Invoice's Company Currency. The result is converted and rounded based on Company Currency because this value is used for credit/debit.
  • generate_self_invoice(self)
  • generate_supplier_self_invoice(self)
  • get_tax_amount_added_for_rc(self)
  • rc_credit_line_vals(self, account, amount_ic, amount_cc)
  • rc_debit_line_vals(self, account, amount_ic, amount_cc)
  • rc_inv_line_vals(self, line)
  • rc_inv_vals(self, partner, rc_type, lines, currency)
  • rc_payment_credit_line_vals(self, line_to_reconcile)
    Values for the credit line of the RC Payment Move.
  • rc_payment_debit_line_vals(self, line_to_reconcile, account)
    Values for the debit line of the RC Payment Move.
  • rc_payment_vals(self, rc_type)
    Values for the RC Payment Move.
  • reconcile_rc_invoice(self)
  • reconcile_supplier_invoice(self)
  • remove_invoice_payment(self)
  • remove_rc_payment(self, delete_self_invoice=True)

New fields (2)
  • rc Boolean
    compute='_compute_rc_flag' readonly=False store=True args: 'RC'
  • rc_source_line_id Many2one → account.move.line
    readonly=True args: 'account.move.line'
Public methods (0)

No public methods.

New fields (13)
  • company_id Many2one → res.company
    default=<expr> required=True string='Company' args: 'res.company'
  • description Text
  • journal_id Many2one → account.journal
    help='Journal used on RC self invoices.' string='Self Invoice Journal' args: 'account.journal'
  • method Selection
    required=True selection=[('integration', 'VAT Integration'), ('selfinvoice', 'Self Invoice')]
  • name Char
    required=True
  • partner_id Many2one → res.partner
    help='Partner used on RC self invoices.' string='Self Invoice Partner' args: 'res.partner'
  • partner_type Selection
    selection=[('supplier', 'Supplier'), ('other', 'Other')] string='Self Invoice Partner Type'
  • payment_journal_id Many2one → account.journal
    help='Journal used to pay RC self invoices.' string='Self Invoice Payment Journal' args: 'account.journal'
  • self_invoice_text Text
    args: 'Text in Self Invoice'
  • supplier_journal_id Many2one → account.journal
    help='Journal used on RC supplier self invoices.' string='Supplier Self Invoice Journal' args: 'account.journal'
  • tax_ids One2many → account.rc.type.tax
    copy=False help='Example: 22_A_I_UE, 22_V_I_UE' string='Self Invoice Tax Mapping' args: 'account.rc.type.tax', 'rc_type_id'
  • transitory_account_id Many2one → account.account
    help='Transitory account used on self invoices.' string='Self Invoice Transitory Account' args: 'account.account'
  • with_supplier_self_invoice Boolean
    help='Flag this to enable the creation of an additional supplier self invoice. This is tipically used for extraUE suppliers, in order to show, in supplier register, an invoice to the specified partner (tipically, my company), instead of the extraUE partner' args: 'With additional supplier self invoice'
Public methods (1)
  • map_tax(self, taxes, key_tax_field, value_tax_field)
    Map each tax in `taxes`, based on the mapping defined by `self.tax_ids`. Raise an exception if a mapping is not found for some of `taxes`. :param key_tax_field: Field of the mapping lines to be used as key for searching the tax :param value_tax_field: Field of the mapping lines to be used as value for mapping the tax :param taxes: Taxes to be mapped

New fields (5)
  • company_id Many2one → res.company
    related='rc_type_id.company_id' store=True string='Company' args: 'res.company'
  • original_purchase_tax_id Many2one → account.tax
    required=False string='Original Purchase Tax' args: 'account.tax'
  • purchase_tax_id Many2one → account.tax
    required=True string='Purchase Tax' args: 'account.tax'
  • rc_type_id Many2one → account.rc.type
    ondelete='cascade' required=True string='RC type' args: 'account.rc.type'
  • sale_tax_id Many2one → account.tax
    required=True string='Sale Tax' args: 'account.tax'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…