Entrees/sorties : colonnes analytiques (regime FRA/UE, TTC+HT, taux+TVA)
Deploy via Portainer / deploy (push) Successful in 1s
Deploy via Portainer / deploy (push) Successful in 1s
This commit is contained in:
@@ -10,6 +10,9 @@
|
|||||||
.tag.operation { color:var(--accent); border-color:#25566e; }
|
.tag.operation { color:var(--accent); border-color:#25566e; }
|
||||||
.neutre-badge { font-size:10px; color:var(--muted); border:1px dashed var(--line); border-radius:6px; padding:1px 5px; margin-left:6px; }
|
.neutre-badge { font-size:10px; color:var(--muted); border:1px dashed var(--line); border-radius:6px; padding:1px 5px; margin-left:6px; }
|
||||||
.ventile-badge { font-size:10px; color:var(--accent); border:1px solid #25566e; border-radius:6px; padding:1px 5px; margin-left:6px; }
|
.ventile-badge { font-size:10px; color:var(--accent); border:1px solid #25566e; border-radius:6px; padding:1px 5px; margin-left:6px; }
|
||||||
|
.regime-badge { font-size:11px; font-weight:600; color:var(--muted); border:1px solid var(--line); border-radius:6px; padding:2px 7px; }
|
||||||
|
.ht { color:var(--muted); font-size:11.5px; margin-top:1px; }
|
||||||
|
.sub2 { color:var(--muted); font-size:10px; margin-left:4px; }
|
||||||
.btn-mini { padding:5px 11px; font-size:12.5px; border-radius:8px; }
|
.btn-mini { padding:5px 11px; font-size:12.5px; border-radius:8px; }
|
||||||
#gtable td, #gtable th { border-bottom:1px solid var(--line); }
|
#gtable td, #gtable th { border-bottom:1px solid var(--line); }
|
||||||
#gtable tbody tr:hover td { background:#243247; }
|
#gtable tbody tr:hover td { background:#243247; }
|
||||||
@@ -97,7 +100,7 @@
|
|||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th class="chkcol"><input type="checkbox" id="chkall" title="Tout sélectionner"></th>
|
<th class="chkcol"><input type="checkbox" id="chkall" title="Tout sélectionner"></th>
|
||||||
<th>Date</th><th>Type</th><th>Libellé</th><th>Catégorie</th>
|
<th>Date</th><th>Type</th><th>Libellé</th><th>Catégorie</th>
|
||||||
<th>Montant</th><th>TVA</th><th></th>
|
<th>Régime</th><th>Montant</th><th>Taux / TVA</th><th></th>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for r in rows %}
|
{% for r in rows %}
|
||||||
@@ -107,8 +110,14 @@
|
|||||||
<td><span class="tag {{ r.type }}">{{ r.type_label }}</span></td>
|
<td><span class="tag {{ r.type }}">{{ r.type_label }}</span></td>
|
||||||
<td>{{ r.libelle }}</td>
|
<td>{{ r.libelle }}</td>
|
||||||
<td>{{ r.categorie }}{% if r.neutre %}<span class="neutre-badge">neutre</span>{% endif %}{% if r.ventile %}<span class="ventile-badge" title="Part d'une dépense ventilée (plusieurs taux de TVA)">ventilé</span>{% endif %}</td>
|
<td>{{ r.categorie }}{% if r.neutre %}<span class="neutre-badge">neutre</span>{% endif %}{% if r.ventile %}<span class="ventile-badge" title="Part d'une dépense ventilée (plusieurs taux de TVA)">ventilé</span>{% endif %}</td>
|
||||||
<td class="{% if r.montant >= 0 %}pos{% else %}neg{% endif %}">{{ r.montant|floatformat:2|unlocalize }} €</td>
|
<td>{% if r.regime_court %}<span class="regime-badge">{{ r.regime_court }}</span>{% else %}—{% endif %}</td>
|
||||||
<td>{% if r.tva %}{{ r.tva|floatformat:2|unlocalize }}{% else %}—{% endif %}</td>
|
<td class="num {% if r.montant >= 0 %}pos{% else %}neg{% endif %}">
|
||||||
|
{{ r.montant|floatformat:2|unlocalize }} €<span class="sub2">TTC</span>
|
||||||
|
{% if r.ht is not None %}<div class="ht">{{ r.ht|floatformat:2|unlocalize }} € HT</div>{% endif %}
|
||||||
|
</td>
|
||||||
|
<td class="num">
|
||||||
|
{% if r.tva is not None %}{{ r.taux|floatformat:"-2"|unlocalize }} %<div class="ht">{{ r.tva|floatformat:2|unlocalize }} €</div>{% else %}—{% endif %}
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button type="button" class="btn-mini"
|
<button type="button" class="btn-mini"
|
||||||
data-edit
|
data-edit
|
||||||
|
|||||||
+14
-4
@@ -22,6 +22,11 @@ from .models import (Entreprise, Facture, LigneFacture, Depense, Paiement,
|
|||||||
Categorie, Activite, RegimeTva, StatutFacture, TAUX_TVA_CHOICES)
|
Categorie, Activite, RegimeTva, StatutFacture, TAUX_TVA_CHOICES)
|
||||||
|
|
||||||
CENT = Decimal("0.01")
|
CENT = Decimal("0.01")
|
||||||
|
REGIME_COURT = {"nationale": "FRA", "intracom": "UE", "import": "Hors-UE"}
|
||||||
|
|
||||||
|
|
||||||
|
def _regime_court(r):
|
||||||
|
return REGIME_COURT.get(r, "")
|
||||||
|
|
||||||
# Explications spécifiques (affichées dans la popup). Sinon, texte générique par usage.
|
# Explications spécifiques (affichées dans la popup). Sinon, texte générique par usage.
|
||||||
EXPLIC = {
|
EXPLIC = {
|
||||||
@@ -93,7 +98,8 @@ def _rows(entreprise):
|
|||||||
"libelle": str(f.client), "categorie": f"Facture {f.numero}",
|
"libelle": str(f.client), "categorie": f"Facture {f.numero}",
|
||||||
"categorie_id": "", "activite": f.activite,
|
"categorie_id": "", "activite": f.activite,
|
||||||
"regime": "nationale", "taux": f.lignes.first().taux_tva if une_ligne else "",
|
"regime": "nationale", "taux": f.lignes.first().taux_tva if une_ligne else "",
|
||||||
"montant": f.montant_ttc, "tva": f.montant_tva, "neutre": False,
|
"montant": f.montant_ttc, "ht": f.montant_ht, "tva": f.montant_tva,
|
||||||
|
"regime_court": "FRA", "neutre": False,
|
||||||
"signe": Decimal("1"), "statut": f.statut,
|
"signe": Decimal("1"), "statut": f.statut,
|
||||||
"date_encaissement": f.date_encaissement, "date_emission": f.date_emission,
|
"date_encaissement": f.date_encaissement, "date_emission": f.date_emission,
|
||||||
"editable_montant": une_ligne,
|
"editable_montant": une_ligne,
|
||||||
@@ -104,8 +110,12 @@ def _rows(entreprise):
|
|||||||
"date": d.date, "libelle": d.libelle,
|
"date": d.date, "libelle": d.libelle,
|
||||||
"categorie": d.categorie.nom if d.categorie else "(à catégoriser)",
|
"categorie": d.categorie.nom if d.categorie else "(à catégoriser)",
|
||||||
"categorie_id": d.categorie_id or "", "activite": d.activite,
|
"categorie_id": d.categorie_id or "", "activite": d.activite,
|
||||||
"regime": d.regime_tva, "taux": d.taux_tva,
|
"regime": d.regime_tva,
|
||||||
"montant": -d.montant_ttc, "tva": d.tva_deductible_value,
|
"taux": ("" if d.neutre else d.taux_tva),
|
||||||
|
"montant": -d.montant_ttc,
|
||||||
|
"ht": (None if d.neutre else -d.montant_ht),
|
||||||
|
"tva": (None if d.neutre else d.tva_deductible_value),
|
||||||
|
"regime_court": ("" if d.neutre else _regime_court(d.regime_tva)),
|
||||||
"neutre": d.neutre, "signe": Decimal("-1"), "editable_montant": True,
|
"neutre": d.neutre, "signe": Decimal("-1"), "editable_montant": True,
|
||||||
"ventile": bool(d.paiement_id),
|
"ventile": bool(d.paiement_id),
|
||||||
})
|
})
|
||||||
@@ -122,7 +132,7 @@ def _rows(entreprise):
|
|||||||
"categorie_id": p.categorie_id or "", "activite": "",
|
"categorie_id": p.categorie_id or "", "activite": "",
|
||||||
"regime": "", "taux": "",
|
"regime": "", "taux": "",
|
||||||
"montant": p.montant_total if p.sens == "credit" else -p.montant_total,
|
"montant": p.montant_total if p.sens == "credit" else -p.montant_total,
|
||||||
"tva": Decimal("0"),
|
"ht": None, "tva": None, "regime_court": "",
|
||||||
"neutre": bool(p.categorie and p.categorie.exclure_calculs),
|
"neutre": bool(p.categorie and p.categorie.exclure_calculs),
|
||||||
"signe": Decimal("1") if p.sens == "credit" else Decimal("-1"),
|
"signe": Decimal("1") if p.sens == "credit" else Decimal("-1"),
|
||||||
"sens": p.sens, "editable_montant": True,
|
"sens": p.sens, "editable_montant": True,
|
||||||
|
|||||||
Reference in New Issue
Block a user