Entrees/sorties : colonnes analytiques (regime FRA/UE, TTC+HT, taux+TVA)
Deploy via Portainer / deploy (push) Successful in 1s

This commit is contained in:
2026-07-19 15:05:18 +02:00
parent a84befbc5c
commit c67c3392be
2 changed files with 26 additions and 7 deletions
+14 -4
View File
@@ -22,6 +22,11 @@ from .models import (Entreprise, Facture, LigneFacture, Depense, Paiement,
Categorie, Activite, RegimeTva, StatutFacture, TAUX_TVA_CHOICES)
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.
EXPLIC = {
@@ -93,7 +98,8 @@ def _rows(entreprise):
"libelle": str(f.client), "categorie": f"Facture {f.numero}",
"categorie_id": "", "activite": f.activite,
"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,
"date_encaissement": f.date_encaissement, "date_emission": f.date_emission,
"editable_montant": une_ligne,
@@ -104,8 +110,12 @@ def _rows(entreprise):
"date": d.date, "libelle": d.libelle,
"categorie": d.categorie.nom if d.categorie else "(à catégoriser)",
"categorie_id": d.categorie_id or "", "activite": d.activite,
"regime": d.regime_tva, "taux": d.taux_tva,
"montant": -d.montant_ttc, "tva": d.tva_deductible_value,
"regime": d.regime_tva,
"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,
"ventile": bool(d.paiement_id),
})
@@ -122,7 +132,7 @@ def _rows(entreprise):
"categorie_id": p.categorie_id or "", "activite": "",
"regime": "", "taux": "",
"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),
"signe": Decimal("1") if p.sens == "credit" else Decimal("-1"),
"sens": p.sens, "editable_montant": True,