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

[IMP] Impostare data di chiusura alla conferma della liquidazione IVA #4479

Open
wants to merge 2 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
231 changes: 119 additions & 112 deletions account_vat_period_end_statement/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,60 +30,59 @@ ITA - Liquidazione IVA

**Italiano**

Per fare la liquidazione IVA, aprire Fatturazione > Contabilità >
Liquidazioni IVA, il menù è visibile solo quando è abilitato il
gruppo 'Mostrare funzionalità contabili complete'. Selezionare un
registro che conterrà le registrazioni contabili della liquidazione.
Il campo 'Conto IVA erario' contiene il conto dove verrà effettuata
la registrazione della liquidazione IVA.

L'oggetto 'Liquidazione IVA' permette di specificare ogni importo e
il conto utilizzato dalla liquidazione. Di norma, gli importi di
debito e credito delle imposte vengono caricati automaticamente dai
periodi selezionati (vedere Configurazione per generare correttamente
i periodi). I debiti e crediti precedenti vengono caricati dalle
liquidazioni IVA precedenti, in base allo stato del loro pagamento.

Per creare la registrazione contabile, fare clic sul pulsante 'Crea
movimento', dentro la scheda 'Conti'. Se i termini di pagamento sono
impostati viene scritta anche la scadenza (o le scadenze).

La scheda 'Erario' contiene informazioni sui pagamenti, qui si
possono visualizzare i risultati della liquidazione ('Importo IVA
erario') e l'importo residuo da pagare ('Importo a saldo'). La
liquidazione può essere pagata come qualunque altro debito, con la
riconciliazione delle registrazioni contabili.

È inoltre possibile stampare la liquidazione IVA facendo clic su
Stampa > Stampa liquidazione IVA.
Per fare la liquidazione IVA, aprire Fatturazione > Contabilità >
Liquidazioni IVA, il menù è visibile solo quando è abilitato il gruppo
'Mostrare funzionalità contabili complete'. Selezionare un registro che
conterrà le registrazioni contabili della liquidazione. Il campo 'Conto
IVA erario' contiene il conto dove verrà effettuata la registrazione
della liquidazione IVA.

L'oggetto 'Liquidazione IVA' permette di specificare ogni importo e il
conto utilizzato dalla liquidazione. Di norma, gli importi di debito e
credito delle imposte vengono caricati automaticamente dai periodi
selezionati (vedere Configurazione per generare correttamente i
periodi). I debiti e crediti precedenti vengono caricati dalle
liquidazioni IVA precedenti, in base allo stato del loro pagamento.

Per creare la registrazione contabile, fare clic sul pulsante 'Crea
movimento', dentro la scheda 'Conti'. Se i termini di pagamento sono
impostati viene scritta anche la scadenza (o le scadenze).

La scheda 'Erario' contiene informazioni sui pagamenti, qui si possono
visualizzare i risultati della liquidazione ('Importo IVA erario') e
l'importo residuo da pagare ('Importo a saldo'). La liquidazione può
essere pagata come qualunque altro debito, con la riconciliazione delle
registrazioni contabili.

È inoltre possibile stampare la liquidazione IVA facendo clic su Stampa
> Stampa liquidazione IVA.

**English**

In order to create a 'VAT Statement', open Accounting > Adviser > VAT
Statements, this menu is only visible when the group 'Show Full
Accounting Features' is enabled. Select a Journal that will contain
the journal entries of the statement. The field 'Tax authority VAT'
account contains the account where the statement balance will be
registered.
In order to create a 'VAT Statement', open Accounting > Adviser > VAT
Statements, this menu is only visible when the group 'Show Full
Accounting Features' is enabled. Select a Journal that will contain the
journal entries of the statement. The field 'Tax authority VAT' account
contains the account where the statement balance will be registered.

The 'VAT statement' object allows to specify every amount and
relative account used by the statement. By default, amounts of debit
and credit taxes are automatically loaded from taxes of the selected
periods (see Configuration to correctly generate the periods).
Previous debit or credit is loaded from previous VAT statement,
according to its payments status.
The 'VAT statement' object allows to specify every amount and relative
account used by the statement. By default, amounts of debit and credit
taxes are automatically loaded from taxes of the selected periods (see
Configuration to correctly generate the periods). Previous debit or
credit is loaded from previous VAT statement, according to its payments
status.

In order to generate the journal entry, click on 'Create move'
button, inside the 'Accounts' tab. If you select a payment term, the
due date(s) will be set.
In order to generate the journal entry, click on 'Create move' button,
inside the 'Accounts' tab. If you select a payment term, the due date(s)
will be set.

The 'tax authority' tab contains information about payment(s), here
you can see statement's result ('authority VAT amount') and residual
amount to pay ('Balance'). The statement can be paid like every other
debit, by journal item reconciliation.
The 'tax authority' tab contains information about payment(s), here you
can see statement's result ('authority VAT amount') and residual amount
to pay ('Balance'). The statement can be paid like every other debit, by
journal item reconciliation.

It is also possible to print the 'VAT statement' clicking on print >
Print VAT period end statement.
It is also possible to print the 'VAT statement' clicking on print >
Print VAT period end statement.

**Table of contents**

Expand All @@ -95,58 +94,66 @@ Configuration

**Italiano**

Per generare i periodi della dichiarazione IVA, aprire Fatturazione >
Configurazione > Contabilità > Intervalli date > Generazione
intervalli data (visibile solo in modalità debug):

- prefisso nome intervallo: prefisso identificativo per i periodi da
generare (tipicamente l'anno)
- durata: 1 mese
- numero di intervalli da generare: 12
- tipo: creare un tipo o utilizzarne uno esistente, non è richiesta
una configurazione particolare
- data iniziale: primo giorno del primo periodo che sarà generato
(tipicamente il primo giorno dell'anno i.e. 01/01/2018)

Per caricare l'importo corretto, un'imposta deve essere associata al
conto utilizzato nella liquidazione:

1. aprire l'imposta da Fatturazione > Configurazione > Contabilità >
Imposte,
2. nella scheda 'Opzioni avanzate' selezionare il conto corretto (ad
esempio IVA debito) per il campo 'Conto utilizzato per la
liquidazione IVA'.

Per calcolare gli interessi, è possibile aggiungere le informazioni
da utilizzare (conto e percentuale) nei dati aziendali, nella scheda
'Liquidazione IVA'.
Per generare i periodi della dichiarazione IVA, aprire Fatturazione >
Configurazione > Contabilità > Intervalli date > Generazione intervalli
data (visibile solo in modalità debug):

- prefisso nome intervallo: prefisso identificativo per i periodi da
generare (tipicamente l'anno)
- durata: 1 mese
- numero di intervalli da generare: 12
- tipo: creare un tipo o utilizzarne uno esistente, non è richiesta una
configurazione particolare
- data iniziale: primo giorno del primo periodo che sarà generato
(tipicamente il primo giorno dell'anno i.e. 01/01/2018)

Per caricare l'importo corretto, un'imposta deve essere associata al
conto utilizzato nella liquidazione:

1. aprire l'imposta da Fatturazione > Configurazione > Contabilità >
Imposte,
2. nella scheda 'Opzioni avanzate' selezionare il conto corretto (ad
esempio IVA debito) per il campo 'Conto utilizzato per la
liquidazione IVA'.

Per calcolare gli interessi, è possibile aggiungere le informazioni da
utilizzare (conto e percentuale) nei dati aziendali, nella scheda
'Liquidazione IVA'.

Per impostare la "Data di blocco dichiarazione fiscale" alla conferma
della dichiarazione, abilitare "Impostare data di chiusura per
non-consulenti" nella scheda "Liquidazione IVA" della vista scheda
dell'azienda.

**English**

In order to generate VAT statement's periods, open Accounting >
Configuration > Accounting > Date ranges > Generate Date Ranges
(visible only in debug mode):
In order to generate VAT statement's periods, open Accounting >
Configuration > Accounting > Date ranges > Generate Date Ranges (visible
only in debug mode):

- range name prefix: prefix identifying the periods to be generated
(usually the year)
- duration: 1 month
- number of ranges to generate: 12
- type: create a type or use an existing one, no specific configuration
is required
- date start: first day of the first period to be generated (usually
the first day of the year e.g. 01/01/2018)

- range name prefix: prefix identifying the periods to be generated
(usually the year)
- duration: 1 month
- number of ranges to generate: 12
- type: create a type or use an existing one, no specific
configuration is required
- date start: first day of the first period to be generated (usually
the first day of the year e.g. 01/01/2018)
In order to load the correct amount from tax, the tax has to be
associated to the account involved in the statement:

In order to load the correct amount from tax, the tax has to be
associated to the account involved in the statement:
1. open a tax in Accounting > Configuration > Accounting > Taxes,
2. in the tab 'Advanced Options' select the correct account (for
instance the account debit VAT) for the field 'Account used for VAT
statement'.

1. open a tax in Accounting > Configuration > Accounting > Taxes,
2. in the tab 'Advanced Options' select the correct account (for
instance the account debit VAT) for the field 'Account used for
VAT statement'.
If you need to calculate interest, you can add default information in
your company data (percentage and account), in the 'VAT statement' tab.

If you need to calculate interest, you can add default information in
your company data (percentage and account), in the 'VAT statement'
tab.
In order to set the "Tax Return Lock Date" when a statement is
confirmed, enable "Set Lock Date on Confirmation" in the "VAT statement"
tab of the Company form view.

Bug Tracker
===========
Expand All @@ -170,26 +177,26 @@ Authors
Contributors
------------

- Lorenzo Battistini <https://github.com/eLBati>
- Elena Carlesso
- Marco Marchiori <[email protected]>
- Sergio Corato <[email protected]>
- Andrea Gallina <[email protected]>
- Alex Comba <[email protected]>
- Alessandro Camilli <[email protected]>
- Simone Rubino <[email protected]>
- Giacomo Grasso <[email protected]>
- Lara Baggio <http://linkgroup.it/>
- Gianmarco Conte <[email protected]>
- Michele Rusticucci <[email protected]>
- Salvo Rapisarda <[email protected]>
- `TAKOBI <https://takobi.online>`__:

- Simone Rubino <[email protected]>

- `Aion Tech <https://aiontech.company/>`__:

- Simone Rubino <[email protected]>
- Lorenzo Battistini <https://github.com/eLBati>
- Elena Carlesso
- Marco Marchiori <[email protected]>
- Sergio Corato <[email protected]>
- Andrea Gallina <[email protected]>
- Alex Comba <[email protected]>
- Alessandro Camilli <[email protected]>
- Simone Rubino <[email protected]>
- Giacomo Grasso <[email protected]>
- Lara Baggio <http://linkgroup.it/>
- Gianmarco Conte <[email protected]>
- Michele Rusticucci <[email protected]>
- Salvo Rapisarda <[email protected]>
- `TAKOBI <https://takobi.online>`__:

- Simone Rubino <[email protected]>

- `Aion Tech <https://aiontech.company/>`__:

- Simone Rubino <[email protected]>

Maintainers
-----------
Expand Down
1 change: 1 addition & 0 deletions account_vat_period_end_statement/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
# Copyright 2015 Associazione Odoo Italia (<http://www.odoo-italia.org>)
# Copyright 2021 Gianmarco Conte
# - Dinamiche Aziendali Srl (<www.dinamicheaziendali.it>)
# Copyright 2022 ~ 2023 Simone Rubino - TAKOBI
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
Expand Down
26 changes: 24 additions & 2 deletions account_vat_period_end_statement/models/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright 2012-15 Agile Business Group sagl (<http://www.agilebg.com>)
# Copyright 2015 Associazione Odoo Italia (<http://www.odoo-italia.org>)
# Copyright 2021 Gianmarco Conte - Dinamiche Aziendali Srl (<www.dinamicheaziendali.it>)
# Copyright 2022 Simone Rubino - TAKOBI
# Copyright 2022 ~ 2023 Simone Rubino - TAKOBI
# Copyright 2023 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

Expand Down Expand Up @@ -392,9 +392,31 @@ def statement_paid(self):
for statement in self:
statement.state = "paid"

def _get_end_date(self):
self.ensure_one()
periods = self.date_range_ids
end_date = max(
periods.mapped("date_end"),
default=None,
)
return end_date

def _set_company_lock_date(self):
self.ensure_one()
company = self.company_id or self.env.company
if company.account_vat_period_end_statement_set_lock_date:
end_date = self._get_end_date()
if end_date:
lock_date_values = {
"tax_lock_date": end_date,
}
company.update(lock_date_values)
return True

def statement_confirmed(self):
for statement in self:
statement.state = "confirmed"
statement._set_company_lock_date()

def _prepare_account_move_line(
self, name, account_id, move_id, statement, statement_date, partner_id=False
Expand Down Expand Up @@ -452,7 +474,7 @@ def create_move(self):

move.line_ids = lines_to_create
move.action_post()
statement.state = "confirmed"
statement.statement_confirmed()

return True

Expand Down
6 changes: 6 additions & 0 deletions account_vat_period_end_statement/models/config.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright 2015 Alessandro Camilli ([email protected])
# Copyright 2023 Simone Rubino - TAKOBI
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models
Expand All @@ -18,3 +19,8 @@ class ResCompany(models.Model):
"Interest on End Vat Statement - Account",
help="Apply interest on end vat statement",
)
account_vat_period_end_statement_set_lock_date = fields.Boolean(
string="Set Lock Date on Confirmation",
help="When confirming the VAT period end statement, "
"the Tax Return Lock Date is set to the Statement's end date.",
)
Loading
Loading