CA3 hierarchise (cadres A/B, refs de lignes, split immo) + periodicite mensuelle/trimestrielle URSSAF et TVA
Deploy via Portainer / deploy (push) Successful in 1s

This commit is contained in:
2026-07-15 11:57:40 +02:00
parent cd5605819a
commit 9a155b1b4c
6 changed files with 186 additions and 76 deletions
+32 -26
View File
@@ -2,45 +2,51 @@
{% block titre %}Déclaration TVA{% endblock %}
{% block extrafilters %}
<select name="mois" onchange="this.form.submit()">
{% for num, nom in mois_liste %}
<option value="{{ num }}" {% if num == mois_sel %}selected{% endif %}>{{ nom }}</option>
{% endfor %}
</select>
<label>{% if periode_type == 'trimestre' %}Trimestre{% else %}Mois{% endif %}
<select name="periode" onchange="this.form.submit()">
{% for val, lab in periode_options %}
<option value="{{ val }}" {% if val == periode_sel %}selected{% endif %}>{{ lab }}</option>
{% endfor %}
</select></label>
{% endblock %}
{% block content %}
<h2>Déclaration TVA — {{ decl.mois_nom }} {{ annee }}</h2>
<div class="sub">
Mode :
<a href="/declaration/tva/?entreprise={{ entreprise.pk }}&annee={{ annee }}&mois={{ mois_sel }}&mode=simplifie"
<a href="/declaration/tva/?entreprise={{ entreprise.pk }}&annee={{ annee }}&periode={{ periode_sel }}&mode=simplifie"
{% if mode != 'ca3' %}class="on" style="padding:2px 8px;border-radius:6px;"{% endif %}>Résumé</a> ·
<a href="/declaration/tva/?entreprise={{ entreprise.pk }}&annee={{ annee }}&mois={{ mois_sel }}&mode=ca3"
<a href="/declaration/tva/?entreprise={{ entreprise.pk }}&annee={{ annee }}&periode={{ periode_sel }}&mode=ca3"
{% if mode == 'ca3' %}class="on" style="padding:2px 8px;border-radius:6px;"{% endif %}>Champs CA3</a>
&nbsp;(réglage par défaut de l'entreprise : {{ entreprise.get_vue_tva_display }})
&nbsp;(réglage par défaut : {{ entreprise.get_vue_tva_display }})
</div>
{% if mode == 'ca3' %}
<div class="card">
<table>
<thead><tr><th>Ligne CA3</th><th>Libellé</th><th>Base HT</th><th>TVA</th></tr></thead>
<tbody>
<tr><td>01</td><td>Ventes / prestations taxables</td><td>{{ decl.ca3.l01_base_taxable }} €</td><td></td></tr>
<tr><td>08</td><td>Taux normal 20 %</td><td>{{ decl.ca3.l08_base }} €</td><td>{{ decl.ca3.l08_tva }}</td></tr>
<tr><td>9B</td><td>Taux réduit 10 %</td><td>{{ decl.ca3.l9B_base }} €</td><td>{{ decl.ca3.l9B_tva }} €</td></tr>
<tr><td>09</td><td>Taux réduit 5,5 %</td><td>{{ decl.ca3.l09_base }} €</td><td>{{ decl.ca3.l09_tva }} €</td></tr>
<tr><td>03</td><td>Acquisitions intracommunautaires</td><td>{{ decl.ca3.l03_intra_base }} €</td><td></td></tr>
<tr><td>17</td><td>dont TVA sur acquisitions intracom</td><td></td><td>{{ decl.ca3.l17_intra_tva }} €</td></tr>
<tr class="total"><td>16</td><td>TVA brute due</td><td></td><td>{{ decl.ca3.l16_tva_brute }} €</td></tr>
<tr><td>20</td><td>TVA déductible (biens et services)</td><td></td><td>{{ decl.ca3.l20_tva_deductible }}</td></tr>
<tr class="total"><td>28</td><td>Total TVA déductible</td><td></td><td>{{ decl.ca3.l28_total_deductible }}</td></tr>
<tr class="total"><td>32</td><td>TVA à payer</td><td></td><td>{{ decl.ca3.l32_a_payer }} €</td></tr>
{% if decl.ca3.l25_credit %}<tr class="total"><td>25</td><td>Crédit de TVA</td><td></td><td>{{ decl.ca3.l25_credit }} €</td></tr>{% endif %}
</tbody>
</table>
{% for cadre in decl.cadres %}
{% if cadre.sous %}
<h3 style="margin:18px 0 4px;font-size:15px;">Cadre {{ cadre.titre }}</h3>
{% for sous in cadre.sous %}
<div style="color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin:12px 0 2px;">{{ sous.titre }}</div>
<table>
<thead><tr><th style="width:64px">Ligne</th><th>Libellé</th><th>Base HT</th><th>TVA</th></tr></thead>
<tbody>
{% for l in sous.lignes %}
<tr {% if l.total %}class="total"{% endif %}>
<td>{{ l.ref }}</td>
<td>{{ l.libelle }}</td>
<td>{% if l.base is not None %}{{ l.base }} €{% endif %}</td>
<td>{% if l.tva is not None %}{{ l.tva }} €{% endif %}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endfor %}
{% endif %}
{% endfor %}
</div>
<div class="sub">Numéros de lignes du formulaire 3310-CA3 (régime réel normal). À recouper
avec ta déclaration officielle — vérifie notamment la ventilation par taux.</div>
<div class="sub">Numéros de lignes du formulaire 3310-CA3 (régime réel normal).
Seules les lignes utilisées sont affichées. Montants arrondis à l'euro, comme le formulaire.</div>
{% else %}
<div class="grid">
<div class="card"><div class="label">TVA collectée sur ventes</div><div class="value">{{ decl.tva_sur_ventes }} €</div></div>
+6 -5
View File
@@ -2,11 +2,12 @@
{% block titre %}Déclaration URSSAF{% endblock %}
{% block extrafilters %}
<select name="mois" onchange="this.form.submit()">
{% for num, nom in mois_liste %}
<option value="{{ num }}" {% if num == mois_sel %}selected{% endif %}>{{ nom }}</option>
{% endfor %}
</select>
<label>{% if periode_type == 'trimestre' %}Trimestre{% else %}Mois{% endif %}
<select name="periode" onchange="this.form.submit()">
{% for val, lab in periode_options %}
<option value="{{ val }}" {% if val == periode_sel %}selected{% endif %}>{{ lab }}</option>
{% endfor %}
</select></label>
{% endblock %}
{% block content %}