JB Compta v1.1 - multi-activité

This commit is contained in:
2026-06-29 23:56:40 +02:00
commit 1716cebfbd
34 changed files with 1568 additions and 0 deletions
+83
View File
@@ -0,0 +1,83 @@
# Déploiement (Portainer) & maintenance
## Principe
- Le conteneur ne contient que **l'application** (Gunicorn). Il est **sans état**.
- La **base PostgreSQL est externe** (la tienne). Aucune donnée n'est stockée dans le conteneur.
- Au démarrage, l'`entrypoint` applique les migrations, crée le compte admin (si variables
fournies), charge éventuellement les données d'exemple, puis lance Gunicorn.
## Préparer PostgreSQL
Sur ton serveur PostgreSQL existant :
```sql
CREATE DATABASE compta;
CREATE USER jb WITH PASSWORD 'ton_mot_de_passe';
GRANT ALL PRIVILEGES ON DATABASE compta TO jb;
-- PostgreSQL 15+ : donner aussi les droits sur le schéma public
\c compta
GRANT ALL ON SCHEMA public TO jb;
```
Vérifie que le serveur accepte les connexions depuis l'hôte Docker
(`listen_addresses` dans `postgresql.conf` et une ligne dans `pg_hba.conf`).
## Important : le contexte de build
`COPY . .` dans le Dockerfile copie le **contexte de build** (les fichiers fournis à Docker).
L'**éditeur web** de Portainer ne fournit **que le docker-compose** comme contexte : tes dossiers
`config/` et `compta/` sont absents, et le build échoue avec `No module named 'config'`.
Il faut donc fournir le projet complet par l'une des deux méthodes ci-dessous.
### Option A — dépôt Git (recommandé)
1. Pousse le dossier du projet dans un dépôt Git (GitHub privé, ou Gitea auto-hébergé).
2. Portainer → **Stacks → Add stack → Repository**.
3. Renseigne l'URL du dépôt, la branche, et `docker-compose.yml` comme *Compose path*.
4. **Environment variables** : ajoute les valeurs (cf. `.env.example`).
5. **Deploy the stack**. Portainer clone le dépôt → contexte complet → `build: .` fonctionne.
Mise à jour : `git push`, puis dans Portainer **Pull and redeploy**.
### Option B — image pré-construite sur l'hôte (sans Git)
1. Copie le projet sur l'hôte Docker (WinSCP/scp), ex. `/opt/jb-compta`.
2. En SSH : `cd /opt/jb-compta && docker build -t jb-compta:latest .`
3. Dans `docker-compose.yml`, commente `build: .` et décommente `image: jb-compta:latest`.
4. Portainer → **Stacks → Add stack → Web editor**, colle le compose, renseigne les variables, déploie.
Mise à jour : re-copier les fichiers, `docker build` à nouveau, puis redéployer la stack.
### Premier démarrage
Mets `SEED_DEMO=1` pour charger les barèmes 2026 et un jeu d'exemple,
puis repasse à `0` et redéploie.
## Accès
- Admin / saisie : `http://IP:8001/admin/`
- Tableau de bord : `http://IP:8001/dashboard/`
Change le port `8001` dans le compose si besoin.
## Mettre à jour l'application
1. Mets à jour le code (Git pull ou nouvelle image).
2. Dans Portainer : **Stacks → jb-compta → Update / Re-pull and redeploy**.
3. Les migrations éventuelles s'appliquent automatiquement au redémarrage.
## Sauvegarde
Sauvegarde **uniquement la base PostgreSQL** (le conteneur n'a rien à sauvegarder) :
```bash
pg_dump -h IP_DB -U jb compta > sauvegarde_compta_$(date +%F).sql
```
## Sécurité
- Génère un vrai `DJANGO_SECRET_KEY` (longue chaîne aléatoire).
- `DJANGO_DEBUG=0` en production.
- Renseigne `DJANGO_ALLOWED_HOSTS` et `DJANGO_CSRF_TRUSTED_ORIGINS` avec ton IP/domaine.
- Place l'app derrière un reverse proxy HTTPS (Nginx Proxy Manager, Traefik…) si tu l'exposes.
+39
View File
@@ -0,0 +1,39 @@
# Modèle de données
Modèles Django (`compta/models.py`). Les tables sont créées par les migrations.
## Tables
- **Entreprise** — chaque micro-entreprise gérée (la tienne et celles d'autres personnes).
Porte l'activité, le régime de TVA (`franchise_tva`), le taux de TVA par défaut et
l'option versement libératoire.
- **Client** — clients, rattachés à une entreprise.
- **Facture** — factures. Le CA micro étant compté à l'encaissement, le champ clé est
`date_encaissement` et le statut `encaissee`. Les montants HT/TVA/TTC sont recalculés
depuis les lignes (`recompute_totaux`) puis figés pour garder la valeur historique.
- **LigneFacture** — détail (désignation, quantité, prix unitaire HT, taux TVA).
- **Depense** — suivi de trésorerie ; `montant_tva` sert de TVA déductible.
- **Bareme** — taux et seuils par activité et par année (aucun taux codé en dur).
## Calculs (`compta/services.py`)
Toutes les bases s'appuient sur le **CA hors taxes (HT) encaissé** :
| Indicateur | Formule |
|-----------|---------|
| Cotisations URSSAF | CA HT × `taux_urssaf` |
| Versement libératoire | CA HT × `taux_vl` |
| Revenu imposable | CA HT × (1 `abattement_fiscal`) |
| TVA à reverser | TVA collectée (ventes encaissées) TVA déductible (dépenses) |
| % plafond | CA HT ÷ `seuil_ca` |
> Pourquoi le HT ? Quand l'entreprise est assujettie à la TVA, la base déclarée à
> l'URSSAF et au fisc est le chiffre d'affaires **hors taxes**. En franchise, HT = TTC,
> donc la formule reste correcte dans les deux cas.
## Évolutivité
- **Multi-entreprises** : tout est filtré par `entreprise`.
- **Changement de statut** : on garde les tables ventes/dépenses/clients ; on ajoute
seulement de nouvelles règles de calcul (ex. charges réelles déductibles au réel).
- **Nouvelle année** : ajoute des `Bareme` avec `annee = 2027` ; rien d'autre à changer.
+65
View File
@@ -0,0 +1,65 @@
# Règles fiscales micro-entreprise — 2026
Valeurs utilisées par l'application (table `bareme`). À revérifier chaque année sur urssaf.fr et impots.gouv.fr.
## Plafonds de chiffre d'affaires (régime micro)
Seuils revalorisés pour 2026 :
| Activité | Plafond CA |
|----------|-----------|
| Vente de marchandises / hébergement (BIC) | 203 100 € |
| Prestations de services (BIC et BNC) | 83 600 € |
Au-delà, sortie du régime micro.
## Cotisations sociales URSSAF (taux 2026)
| Activité | Taux |
|----------|------|
| Vente de marchandises (BIC) | 12,3 % |
| Prestations de services BIC | 21,2 % |
| Professions libérales BNC | 25,6 % |
| Professions libérales CIPAV | 23,2 % |
Au 1er janvier 2026, le taux des prestations BNC augmente de 1 point. Calcul : `cotisations = CA encaissé × taux`. (Le barème de l'app retient 25,6 % pour `service_bnc` ; ajustez à 23,2 % si l'activité relève de la CIPAV.)
## TVA — franchise en base (seuils 2026)
| Activité | Seuil de base | Seuil majoré |
|----------|--------------|--------------|
| Vente / hébergement | 85 000 € | 93 500 € |
| Prestations de services | 37 500 € | 41 250 € |
En franchise en base : pas de TVA facturée ni collectée, pas de déclaration ; mention obligatoire sur les factures : **« TVA non applicable, article 293 B du CGI »**. En contrepartie, la TVA sur les achats n'est pas déductible.
Important : les seuils de franchise TVA sont distincts des plafonds du régime micro. On peut dépasser le seuil TVA tout en restant en micro-entreprise. Au-delà du seuil majoré, on devient redevable de la TVA dès le jour du dépassement.
## Impôt sur le revenu
**Abattement forfaitaire** (régime de droit commun) appliqué au CA pour obtenir le revenu imposable :
| Activité | Abattement |
|----------|-----------|
| Vente de marchandises | 71 % |
| Prestations de services BIC | 50 % |
| Prestations / BNC | 34 % |
**Versement libératoire** (option) — taux appliqué directement au CA brut, sans abattement :
| Activité | Taux |
|----------|------|
| Vente (BIC) | 1 % |
| Prestations commerciales/artisanales (BIC) | 1,7 % |
| Autres prestations et BNC | 2,2 % |
Éligibilité au versement libératoire en 2026 : revenu fiscal de référence 2024 inférieur à 29 315 € par part.
## Sources
- [Seuils TVA micro-entreprise 2026 — petite-entreprise.net](https://www.petite-entreprise.net/aucune/seuils-tva-micro-entreprise-2026.html)
- [2026 : modification des seuils de chiffre d'affaires — autoentrepreneur.urssaf.fr](https://www.autoentrepreneur.urssaf.fr/portail/accueil/sinformer-sur-le-statut/toutes-les-actualites/2026--modification-des-seuils-de.html)
- [Évolution des taux de cotisations sociales — urssaf.fr](https://www.urssaf.fr/accueil/actualites/taux-cotisations-autoentrepeneur.html)
- [Micro-entreprises, montant des cotisations sociales — economie.gouv.fr](https://www.economie.gouv.fr/entreprises/gerer-sa-micro-entreprise/micro-entreprises-quel-est-le-montant-de-vos-cotisations-sociales)
- [Le versement libératoire — impots.gouv.fr](https://www.impots.gouv.fr/professionnel/le-versement-liberatoire)
- [Régime fiscal de la micro-entreprise — service-public.gouv.fr](https://entreprendre.service-public.gouv.fr/vosdroits/F23267)