monregistraire/README.md
Daniel Allaire be7a64a6cc Lancement v1.0 — Gestionnaire d'immobilisations fiscales (Chezlepro Inc.)
Application web locale (FastAPI + SQLite + React SPA) pour la gestion des
immobilisations fiscales d'une PME québécoise (T2 / CO-17).

─── Modèle de données ───────────────────────────────────────────────────────
• Deux niveaux : PARENT (immobilisation fiscale) + PIÈCE (inventaire physique)
• Trois vues par actif : Propriétaire, CPA, Auditeur
• Porteur d'étiquette d'assemblage (unique par immobilisation)
• Piste d'audit journalisée sur chaque modification

─── Mécanique fiscale ───────────────────────────────────────────────────────
• Pool DPA par catégorie (Cat. 8, 10, 12, 46, 50) — amortissement dégressif
• Règle de la demi-année paramétrable (coeff. 0..1 par exercice)
• Perte finale et récupération d'amortissement calculées automatiquement
• Annexe 8 / Schedule 8 multi-catégories (JSON + CSV téléchargeable)
• Rapport fiscal HTML imprimable — lignes Schedule 1 (T2 : 104/107/410/414 ;
  CO-17 : 130/135/150/155)
• Export immobilisations par catégorie (JSON + CSV)

─── Fonctionnalités ─────────────────────────────────────────────────────────
• CRUD complet : parents et pièces, rattachement/détachement (libre/stock/rebut)
• Écriture comptable générée au détachement
• Registre de pool DPA multi-exercices avec override manuel
• Sauvegarde/restauration (SQLite native backup, horodatée)
• Factures jointes aux pièces (PDF/JPG/PNG, max 20 Mo, UUID + regex)
• UI mobile-first : bottom nav, FAB, bottom sheet, safe-area iPhone
• Guide utilisateur complet in-app (aide.html, 11 sections)
• Données de démonstration riches (6 immos, 5 catégories, perte finale +
  récupération incluses)

─── Qualité ─────────────────────────────────────────────────────────────────
• 50 tests pytest — 100 % verts (calculs DPA, export, backup, factures, seed)
• Lancement en 1 commande : ./lancer.sh (Mac/Linux) ou lancer.bat (Windows)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 10:30:53 -04:00

73 lines
2.2 KiB
Markdown

# Gestionnaire d'immobilisations fiscales
Outil de gestion d'actifs pour les PME québécoises / canadiennes.
Produit les intrants pour les déclarations fiscales (Annexe 8 / Schedule 8, CO-17)
et maintient un inventaire d'équipements défendable devant un auditeur.
> **Avis** : Les calculs DPA/FNACC sont structurellement corrects mais indicatifs.
> Toute déclaration fiscale doit être validée par un CPA autorisé.
---
## Lancement
Requiert Python 3.10+ ([python.org](https://www.python.org/downloads/)).
**Mac / Linux** — dans un terminal :
```bash
./lancer.sh
```
**Windows** — double-clic sur `lancer.bat`
L'environnement Python est créé automatiquement à la première utilisation.
Les données sont conservées dans le dossier `data/` du projet.
---
## Ce que l'outil produit
| Vue | Pour qui | Contenu |
|---|---|---|
| **Propriétaire** | Dirigeant | VNC linéaire, coût de remplacement, statut, barre d'amortissement |
| **CPA** | Comptable | FNACC fiscale (décroissante), base capitalisable, catégorie DPA |
| **Auditeur** | Inspecteur | Numéro de série, fournisseur, facture, piste d'audit horodatée |
### Fonctions fiscales
- Registre pool par catégorie DPA (Cat. 50, 46, 8, 12, 10…)
- Annexe 8 / Schedule 8 multi-catégories avec export CSV
- FNACC indicative par pièce (taux dégressif + règle demi-année)
- Amortissement linéaire indicatif par pièce (usage comptable)
### Fonctions d'inventaire
- Modèle à deux niveaux : immobilisation fiscale → pièces composantes
- Porteur d'étiquette : une pièce porte le tag, les autres l'héritent
- Piste d'audit complète sur chaque actif (toutes modifications horodatées)
- Coût de remplacement pour assurances et budgets
---
## Structure
```
app/
main.py Routes FastAPI
store.py Persistance SQLite + calculs
accounting.py Comptabilité de détachement (journal)
cca_registry.py Registre pool DPA
cca_pool.py Calculs pool CCA
static/
index.html Interface React
data/
immos.db Base de données (créée au premier lancement)
```
---
## Développement
```bash
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn app.main:app --reload --port 8001
```