Files
jb-compta/compta/categories_indy.py
admin 0a4ba2001b Changes to be committed:
modified:   .env.example
	new file:   compta/__pycache__/__init__.cpython-310.pyc
	new file:   compta/__pycache__/admin.cpython-310.pyc
	new file:   compta/__pycache__/apps.cpython-310.pyc
	new file:   compta/__pycache__/models.cpython-310.pyc
	modified:   compta/admin.py
	new file:   compta/categories_indy.py
	modified:   compta/indy.py
	modified:   compta/management/commands/seed_reference.py
	new file:   compta/migrations/0010_categorie_compte_pcg.py
	modified:   compta/models.py
	modified:   compta/templates/compta/base.html
	new file:   compta/templates/compta/gestion.html
	modified:   compta/urls.py
	new file:   compta/views_gestion.py
	new file:   config/__pycache__/__init__.cpython-310.pyc
	new file:   config/__pycache__/settings.cpython-310.pyc
	modified:   config/settings.py
	modified:   entrypoint.sh
2026-07-11 20:27:51 +02:00

85 lines
4.1 KiB
Python

"""
Catalogue des catégories Indy (référentiel complet), source de vérité unique
utilisée par le seed (création des Catégorie) et par la sync Indy (mapping
numéro de compte PCG -> catégorie).
Chaque entrée : (nom, usage, exclure_calculs, compte_pcg)
- usage : "vente" | "depense" | "neutre"
- exclure_calculs=True : mouvement neutre (hors calcul du bénéfice / non déductible /
trésorerie / impôts) — exclu des calculs fiscaux.
"""
# nom, usage, exclure_calculs, compte_pcg
CATALOGUE = [
# --- Revenus (ventes) ---
("Vente de produits finis", "vente", False, "701000"),
("Prestation de services", "vente", False, "706001"),
("Vente de services annexes", "vente", False, "706002"),
("Vente de marchandise", "vente", False, "707000"),
("Autre gain divers", "vente", False, "710000"),
# --- Dépenses ---
("Matériel et outillage", "depense", False, "606000"),
("Matière première", "depense", False, ""), # (nôtre, pas de compte Indy)
("Achat", "depense", False, "605000"),
("Immobilisation", "depense", False, "210000"),
("Frais divers", "depense", False, "600000"),
("Télécom, fournitures, documentation", "depense", False, "626000"),
("Frais d'acte et de contentieux", "depense", False, "622700"),
("Honoraires payés", "depense", False, "622000"),
("Formation", "depense", False, "618000"),
("Réception et congrès", "depense", False, "625600"),
("Restaurant et repas d'affaires", "depense", False, "625700"),
("Frais de repas hors domicile", "depense", False, "625300"),
("Frais de déplacement", "depense", False, "625100"),
("Véhicule et carburant", "depense", False, "625200"),
("Location de matériel", "depense", False, "613500"),
("Loyers et charges locatives", "depense", False, "613200"),
("Entretien et réparation", "depense", False, "615000"),
("Abonnement logiciel", "depense", False, "613600"),
("Eau, gaz, électricité", "depense", False, "606100"),
("Assurance professionnelle", "depense", False, "616000"),
("Frais bancaires", "depense", False, "661000"),
("Cotisations professionnelles", "depense", False, "628100"),
("Personnel intérimaire", "depense", False, "621000"),
("[Salariés] Salaire net", "depense", False, "641000"),
("[Salariés] Charge sociale", "depense", False, "645000"),
# --- Neutres (hors calcul du bénéfice / non déductible / trésorerie / impôts) ---
("Apport personnel", "neutre", True, "108900"),
("Prélèvement personnel", "neutre", True, "108100"),
("Dépense personnelle", "neutre", True, "108200"),
("[Salariés] Prélèvement à la source", "neutre", True, "641100"),
("Amende et pénalité", "neutre", True, "108500"),
("Emprunt", "neutre", True, "164000"),
("Caution reçue", "neutre", True, "275000"),
("Caution versée", "neutre", True, ""), # même compte 275000
("Compte commun ou SCM", "neutre", True, "467000"),
("Débours pour vos clients", "neutre", True, "709800"),
("Virement interne", "neutre", True, "580000"),
("Carte à débit différé", "neutre", True, "512500"),
("Remboursement de TVA", "neutre", True, "445830"),
("Remboursement reçu", "neutre", True, ""), # (nôtre, générique)
("TVA payée", "neutre", True, "445510"),
("TVA déductible", "neutre", True, "445610"),
("TVA sur cession d'immobilisation", "neutre", True, "445775"),
("Vente d'une immobilisation", "neutre", True, "462000"),
("Cotisation sociale Urssaf", "neutre", True, "646000"),
("Cotisation retraite", "neutre", True, "646200"),
("Cotisation facultative", "neutre", True, "646100"),
("CFE", "neutre", True, "635120"),
("Autre impôt", "neutre", True, "635100"),
]
# Compte PCG -> nom de catégorie (pour la sync Indy). Premier gagnant si doublon.
COMPTE_VERS_NOM = {}
for _nom, _u, _e, _c in CATALOGUE:
if _c and _c not in COMPTE_VERS_NOM:
COMPTE_VERS_NOM[_c] = _nom
# Compte de vente -> activité (multi-activité)
COMPTE_ACTIVITE = {
"701000": "vente", "707000": "vente",
"706001": "service_bic", "706002": "service_bic",
}