# JB — Compta Micro-Entreprise Application **Django** de gestion comptable pour micro-entreprise(s) française(s), au-dessus de **PostgreSQL**. Complète Indy (qui garde devis + factures + suivi bancaire) en gérant ce que sa version gratuite ne fait pas : saisie des ventes/dépenses, calculs **TVA / URSSAF / impôt**, statistiques et **exports CSV**. Conçue pour évoluer : aucun taux n'est codé en dur (table `Bareme` par activité/année), multi-entreprises, et logique fiscale en Python que tu contrôles. ## Ce que ça fait - Saisie des **ventes** (factures) et **dépenses** via l'admin Django (formulaires auto). - **CA HT encaissé**, suivi des plafonds micro et du seuil de franchise TVA. - **Cotisations URSSAF**, **versement libératoire** et **TVA à reverser** calculés sur la base HT. - **Tableau de bord** avec graphique mensuel + montants à provisionner. - **Exports CSV** (ventes, TVA, URSSAF) pour tes déclarations. ## Déploiement avec Portainer (recommandé) La base PostgreSQL est **externe** (la tienne) ; le conteneur ne contient que l'app (sans état). 1. Dans Portainer → **Stacks** → **Add stack** → colle le contenu de `docker-compose.yml` (ou pointe sur ce dépôt Git). 2. Renseigne les variables d'environnement (voir `.env.example`) : `DB_HOST`, `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `DJANGO_SECRET_KEY`, `DJANGO_ALLOWED_HOSTS`, `DJANGO_CSRF_TRUSTED_ORIGINS`, et le compte admin `DJANGO_SUPERUSER_*`. 3. Mets `SEED_DEMO=1` au premier lancement pour charger les barèmes 2026 + données d'exemple (repasse-le à `0` ensuite). 4. Déploie. Au démarrage le conteneur applique les migrations, crée l'admin, puis sert l'app. 5. Accède à `http://IP_DU_SERVEUR:8001` → `/admin/` pour saisir, `/dashboard/` pour les stats. > Prérequis côté PostgreSQL : crée la base (ex. `compta`) et un utilisateur ayant les droits dessus. > Les **tables sont créées automatiquement** par les migrations Django (rien à exécuter à la main). ## Lancer en local (développement) ```bash python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # renseigne DB_* (ou laisse vide pour SQLite de test) python manage.py migrate python manage.py seed_demo # barèmes 2026 + données d'exemple (optionnel) python manage.py createsuperuser python manage.py runserver # http://127.0.0.1:8000/ ``` ## Structure ``` JB - compta/ ├── manage.py ├── requirements.txt ├── Dockerfile / entrypoint.sh / docker-compose.yml # packaging Portainer ├── .env.example ├── config/ # projet Django (settings, urls, wsgi) ├── compta/ # application métier │ ├── models.py # Entreprise, Client, Facture, Ligne, Depense, Bareme │ ├── admin.py # formulaires de saisie │ ├── services.py # calculs TVA / URSSAF / versement libératoire (base HT) │ ├── views.py # dashboard + exports CSV │ └── templates/compta/dashboard.html └── docs/ ├── regles-fiscales-2026.md # seuils & taux sourcés ├── modele-donnees.md # description du schéma └── deploiement.md # détails Portainer / mise à jour ``` ## Avertissement Les taux et seuils sont ceux connus pour 2026 (voir `docs/regles-fiscales-2026.md`, sourcé). Cet outil aide au suivi mais ne remplace pas un expert-comptable. Vérifie toujours les chiffres officiels sur urssaf.fr et impots.gouv.fr.