Skip to content
Extraits de code Groupes Projets
Valider 78e5d3d6 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[UPD] add refund_contribution_type & button to refresh contribution on liasse

parent 12195092
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -30,6 +30,14 @@ class ScopAccountMove(models.Model): ...@@ -30,6 +30,14 @@ class ScopAccountMove(models.Model):
currency_field="company_currency_id", currency_field="company_currency_id",
compute="_compute_amount_called", compute="_compute_amount_called",
) )
refund_contribution_type = fields.Selection(
[
("correction", "Correction"),
("exemption", "Exonération"),
("cancel", "Annulation"),
],
string="Type d'avoir de cotisation",
)
# ------------------------------------------------------ # ------------------------------------------------------
# Compute fields # Compute fields
......
...@@ -835,14 +835,12 @@ class Bordereau(models.Model): ...@@ -835,14 +835,12 @@ class Bordereau(models.Model):
"cgscop_partner.cotiz_fede_indus" "cgscop_partner.cotiz_fede_indus"
).id ).id
# Calcul de la cotisation de la fédé de l'industrie # Calcul de la cotisation de la fédé de l'industrie
if partner.staff_last == 0:
# Forfait de 4 € si pas de salariés
amount_fede_indus = 4
else:
if liasse: if liasse:
amount_fede_indus = base_cotiz.round_to_closest_multiple( amount_fede_indus = base_cotiz.round_to_closest_multiple(
liasse.contribution_indus, 4 liasse.contribution_indus, 4
) )
elif partner.staff_last == 0:
amount_fede_indus = 4
else: else:
amount_fede_indus = 120 amount_fede_indus = 120
......
...@@ -311,6 +311,10 @@ class ScopLiasseFiscale(models.Model): ...@@ -311,6 +311,10 @@ class ScopLiasseFiscale(models.Model):
""" """
for liasse in self: for liasse in self:
if liasse.is_federation_indus: if liasse.is_federation_indus:
if liasse.partner_id.staff_last == 0:
# Forfait de 4 € si pas de salariés
liasse.contribution_indus = 4
else:
va = liasse.get_va() va = liasse.get_va()
contrib = round(va * 0.0003, 2) contrib = round(va * 0.0003, 2)
if contrib < 120: if contrib < 120:
...@@ -341,6 +345,19 @@ class ScopLiasseFiscale(models.Model): ...@@ -341,6 +345,19 @@ class ScopLiasseFiscale(models.Model):
else: else:
liasse.contribution_idf = contribution_idf liasse.contribution_idf = contribution_idf
# ------------------------------------------------------
# Action button
# ------------------------------------------------------
def action_recompute_contribution(self):
for liasse in self:
liasse._compute_contribution_cg()
liasse._compute_contribution_hdf()
liasse._compute_contribution_med()
liasse._compute_contribution_com()
liasse._compute_contribution_cae()
liasse._compute_contribution_indus()
liasse._compute_contribution_idf()
# ------------------------------------------------------ # ------------------------------------------------------
# Business Function # Business Function
# ------------------------------------------------------ # ------------------------------------------------------
......
...@@ -42,6 +42,10 @@ ...@@ -42,6 +42,10 @@
<group> <group>
<field name="liasse_fiscale_id" readonly="1" /> <field name="liasse_fiscale_id" readonly="1" />
<field name="bordereau_id" readonly="1" /> <field name="bordereau_id" readonly="1" />
<field
name="refund_contribution_type"
attrs="{'invisible': [('move_type', '!=', 'out_refund')]}"
/>
</group> </group>
<group> <group>
<field name="amount_cg_calculated" readonly="1" /> <field name="amount_cg_calculated" readonly="1" />
......
...@@ -19,7 +19,15 @@ ...@@ -19,7 +19,15 @@
<strong><u>Cotisations théoriques</u></strong><br /> <strong><u>Cotisations théoriques</u></strong><br />
Cette section donne les montants théoriques des diverses cotisations en fonction des valeurs de la liasse fiscale. Cette section donne les montants théoriques des diverses cotisations en fonction des valeurs de la liasse fiscale.
</div> </div>
<button
name="action_recompute_contribution"
type="object"
string="Recalculer les cotisations"
class="btn-outline-primary"
groups="cgscop_partner.group_cg_administrative"
/>
<group name="simulation"> <group name="simulation">
<group> <group>
<field <field
name="contribution_base_type" name="contribution_base_type"
......
...@@ -32,6 +32,14 @@ class ScopBordereauRefundWizard(models.TransientModel): ...@@ -32,6 +32,14 @@ class ScopBordereauRefundWizard(models.TransientModel):
comodel_name="scop.bordereau.refund.wizard.quarter", comodel_name="scop.bordereau.refund.wizard.quarter",
string="Trimestres", string="Trimestres",
) )
refund_contribution_type = fields.Selection(
[
("correction", "Correction"),
("exemption", "Exonération"),
("cancel", "Annulation"),
],
string="Type d'avoir de cotisation",
)
# ------------------------------------------------------ # ------------------------------------------------------
# Constrains # Constrains
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<field name="cotiz_reminder" /> <field name="cotiz_reminder" />
<hr /> <hr />
<field name="type_cotiz" /> <field name="type_cotiz" />
<field name="refund_contribution_type" required="True" />
<field name="date_refund" /> <field name="date_refund" />
<separator /> <separator />
<field name="amount_refund" /> <field name="amount_refund" />
......
...@@ -70,6 +70,16 @@ class ScopCotisationRegul(models.TransientModel): ...@@ -70,6 +70,16 @@ class ScopCotisationRegul(models.TransientModel):
amount_fede_indus = fields.Float(related="liasse_fiscale_new_id.contribution_indus") amount_fede_indus = fields.Float(related="liasse_fiscale_new_id.contribution_indus")
is_payment = fields.Boolean("Paiements liés") is_payment = fields.Boolean("Paiements liés")
refund_contribution_type = fields.Selection(
[
("correction", "Correction"),
("exemption", "Exonération"),
("cancel", "Annulation"),
],
string="Type d'avoir de cotisation",
default="correction",
required=True
)
# ------------------------------------------------------ # ------------------------------------------------------
# Constrains # Constrains
......
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
<div class="col-6"> <div class="col-6">
<group string="Nouveaux calculs"> <group string="Nouveaux calculs">
<field name="date_regul" required="1" /> <field name="date_regul" required="1" />
<field name="refund_contribution_type" required="1" />
<separator /> <separator />
<field <field
name="liasse_fiscale_new_id" name="liasse_fiscale_new_id"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter