Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0] [MIG] l10n_it_bill_of_entry #2986

Merged
merged 20 commits into from
Mar 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 163 additions & 0 deletions l10n_it_bill_of_entry/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
====================
ITA - Bolle doganali
====================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_bill_of_entry
:alt: OCA/l10n-italy
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-italy-12-0/l10n-italy-12-0-l10n_it_bill_of_entry
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/122/12.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module enables to manage extraUE import purchases, generating a bill of entry
according to the supplier invoice.

It involves three documents:

* Supplier Invoice
* Forwarder Invoice
* Bill of Entry

**Table of contents**

.. contents::
:local:

Configuration
=============

**English**

Mandatory settings:

* An account journal required by the closing transfer account move (e.g. "Bolle Doganali").
* An account journal for extraUE supplier invoices, apart from
ordinary supplier invoices. In this way, extraUE supplier invoices don't appear in VAT registries;
in this way, VAT registries have no missing numbers.
* Create the "Extra UE goods purchases" and add a tax mapping: purchase taxes (e.g. 22%) should be mapped to
to no one tax. In this way, every purchase invoice for extra UE fiscal position
don't show taxes in lines, according to law.
* A virtual supplier (e.g. "Customs" or "Dogana") for the bill of entry.
* The forwarder as a real supplier.

Optional settings:

* An expense account where recording the bill of entry net amount (e.g. "ACQUISTO MERCI ExtraUE").
* An expense account where recording the bill of entry VAT amount,
paid in advance by the forwarder and declared in the forwarder invoice (e.g. "SPESE DOGANALI ANTICIPATE").
* An account tax, with the same VAT rate as the ordinary one (i.e. 22% for Italy),
applied on the bill of entry net amount (e.g. "22% debito ExtraUE"). In this way,
bill of entries are highlighted in VAT registries due to this tax code.
* An account for delivery expenses, recorded in the forwarder invoice (e.g. "SPESE DI TRASPORTO").
* An account for customs duties, recorded in the forwarder invoice (e.g. "DIRITTI DOGANALI").
* An account for stamp duties, recorded in the forwarder invoice (e.g. "IMPOSTE DI BOLLO").

**Italiano**

Impostazioni obbligatorie:

* Un registro utilizzato per la registrazione di giroconto (ad es. "Bolle Doganali" o "Varie") da impostare in configurazione contabilità.
* Un imposta con aliquota standard da applicare alla bolla doganale (ad es. "22% credito ExtraUE") da impostare in configurazione contabilità.
In questo modo questa imposta viene evidenziata nei registri IVA.
* Un fornitore "Dogana" per le bolle doganali, da impostare in configurazione contabilità.
* Un registro per le fatture dei fornitori extra UE, distinto da quello delle fatture passive ordinarie.
In questo modo, le fatture dei fornitori extra non appariranno nei registri IVA ed i registri IVA non avranno numeri mancanti.
* Una posizione fiscale "Acquisti beni extra UE" e aggiungere la mappatura: l'imposta d'acquisto (ad es. 22%) deve essere mappata a nessuna imposta.
In questo modo, ogni fattura passive per questa posizione fiscale non avrà imposte sulle righe.
* Il fornitore spedizioniere

Impostazioni opzionali:

* Un conto di costo dove registrare l'importo netto della bolla doganale (ad es. "ACQUISTO MERCI ExtraUE"),
da associare eventualmente ai prodotti acquistati extra UE
* Un conto di costo dove registrare l'importo dell'IVA della bolla doganale,
pagata in anticipo dello spedizioniere e evidenziata nella fattura dello spedizioniere (ad es. "SPESE DOGANALI ANTICIPATE").
* Un conto per le spese di consegna, registrate nella fattura spedizioniere (ad es. "SPESE DI TRASPORTO")
* Un conto per i diritti doganali, registrati nella fattura spedizioniere (ad es. "DIRITTI DOGANALI")
* Un conto per le imposte di bollo, registrate nella fattura spedizioniere (ad es. "IMPOSTE DI BOLLO")

Usage
=====

**English**

From supplier invoice it is possible to generate the bill of entry.

The forwarder invoice requires one (or more) line(s) marked as the
advance customs vat.

At the forwarder invoice confirmation, it will be linked to the closing
transfer account move, which closes and reconciles the bill of entry.

**Italiano**

Dalla fattura fornitore è possibile generare la bolla doganale.

Nella fattura spedizioniere bisogna indicare quale (o quali) riga (righe)
rappresenti(no) l'IVA anticipata alla dogana.

Alla conferma della fattura spedizioniere, verrà generata la scrittura
contabile di giroconto per chiudere la bolla doganale.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-italy/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_bill_of_entry%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Agile Business Group
* CQ Creativi Quadrati
* TAKOBI

Contributors
~~~~~~~~~~~~

* Alex Comba <alex.comba@agilebg.com>
* `TAKOBI <https://takobi.online>`_:

* Lorenzo Battistini

* Diego Bruselli <d.bruselli@creativiquadrati.it>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-italy <https://github.com/OCA/l10n-italy/tree/12.0/l10n_it_bill_of_entry>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions l10n_it_bill_of_entry/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
from . import tests
29 changes: 29 additions & 0 deletions l10n_it_bill_of_entry/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2013-2017 Agile Business Group sagl (http://www.agilebg.com)
# Copyright 2013-2017 Alex Comba <alex.comba@agilebg.com>
# Copyright 2013-2017 Lorenzo Battistini <https://github.com/eLBati>
# Copyright 2017 CQ Creativi Quadrati (http://www.creativiquadrati.it)
# Copyright 2017 Diego Bruselli <d.bruselli@creativiquadrati.it>
# Copyright 2022 Simone Rubino - TAKOBI
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "ITA - Bolle doganali",
"version": "14.0.1.0.0",
"category": "Localization/Italy",
"author": "Agile Business Group, CQ Creativi Quadrati, TAKOBI, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/l10n-italy" "/tree/12.0/l10n_it_bill_of_entry",
"license": "AGPL-3",
"depends": [
"base",
"account",
],
"data": [
"views/company_view.xml",
"views/account_invoice_view.xml",
],
"demo": [
"demo/bill_of_entry_demo.xml",
],
"installable": True,
}
138 changes: 138 additions & 0 deletions l10n_it_bill_of_entry/demo/bill_of_entry_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
~ Copyright 2022 Simone Rubino - TAKOBI
~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-->
<odoo>
<!-- Account account -->
<record id="account_account_extraEU_purchase" model="account.account">
<field name="code">280310</field>
<field name="name">ExtraEU Goods Purchase</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="reconcile">True</field>
</record>
<record id="account_account_adv_customs_expense" model="account.account">
<field name="code">280320</field>
<field name="name">Advanced Customs Expenses</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="reconcile">True</field>
</record>
<record id="account_account_customs_expense" model="account.account">
<field name="code">421500</field>
<field name="name">Customs Expenses</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="reconcile">True</field>
</record>
<record id="account_account_stamp_duties" model="account.account">
<field name="code">421400</field>
<field name="name">Stamp Duties</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="reconcile">True</field>
</record>

<!--
When l10n_it is installed, it creates the l10n_it.1_4201 account
(420100 costi di trasporto)
-->
<record id="account_account_delivery_expense" model="account.account">
<field name="code">420101</field>
<field name="name">Delivery Expenses</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="reconcile">True</field>
</record>

<!-- Account Tax -->
<record id="tax_tag_22extraUE" model="account.account.tag">
<field name="name">22aExtraUE</field>
<field name="applicability">taxes</field>
<field name="country_id" ref="base.it" />
</record>
<record id="tax_22extraUE" model="account.tax">
<field name="name">Iva al 22% ExtraUE (credito)</field>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">22</field>
<field name="description">22aExtraUE</field>
<field name="tax_group_id" ref="account.tax_group_taxes" />
<field name="sequence">99</field>
</record>

<!-- Partner -->
<record id="partner_customs" model="res.partner">
<field name="name">Customs</field>
<field name="is_company">True</field>
</record>

<!-- Account Fiscal Position -->
<record id="fiscal_position_extraEU" model="account.fiscal.position">
<field name="name">Extra EU</field>
</record>

<!-- Account Journal -->
<record id="account_journal_purchase_extraEU" model="account.journal">
<field name="name">Supplier Invoices ExtraUE</field>
<field name="type">purchase</field>
<field name="code">NOUE</field>
</record>

<!-- Product product -->
<record id="product_product_extraEU_purchase" model="product.product">
<field name="name">ExtraEU Goods Purchase</field>
<field name="categ_id" ref="product.product_category_1" />
<field name="purchase_ok">True</field>
<field name="standard_price">1.0</field>
<field name="list_price">1.0</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
</record>
<record id="product_product_adv_customs_expense" model="product.product">
<field name="name">Advance Customs Expense</field>
<field name="categ_id" ref="product.product_category_1" />
<field name="purchase_ok">True</field>
<field name="standard_price">1.0</field>
<field name="list_price">1.0</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
</record>
<record id="product_product_customs_expense" model="product.product">
<field name="name">Customs Expense</field>
<field name="categ_id" ref="product.product_category_1" />
<field name="purchase_ok">True</field>
<field name="standard_price">1.0</field>
<field name="list_price">1.0</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
</record>
<record id="product_product_delivery" model="product.product">
<field name="name">Delivery Expense</field>
<field name="categ_id" ref="product.product_category_1" />
<field name="purchase_ok">True</field>
<field name="standard_price">1.0</field>
<field name="list_price">1.0</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
<!-- Usually this is standard VAT -->
<field name="supplier_taxes_id" eval="[(6, 0, [ref('tax_22extraUE')])]" />
</record>
<record id="product_product_stamp_duties" model="product.product">
<field name="name">Stamp Duties</field>
<field name="categ_id" ref="product.product_category_1" />
<field name="purchase_ok">True</field>
<field name="standard_price">1.0</field>
<field name="list_price">1.0</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="uom_po_id" ref="uom.product_uom_unit" />
<field name="property_account_expense_id" ref="account_account_stamp_duties" />
</record>
</odoo>
Loading