monregistraire/README.md
Daniel Allaire 520b12bae3 README : URL de clone corrigée (forge.alliance-boreale.ca)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 20:02:19 -04:00

119 lines
4 KiB
Markdown

# Mon Registraire
**Registre d'immobilisations fiscales pour PME canadiennes.**
Calcule la DPA, produit l'Annexe 8 / Schedule 8, et maintient une piste d'audit défendable — pour le dirigeant, son CPA et son auditeur.
Licence MIT · Python 3.10+ · Fonctionne hors ligne · Données sur votre machine
> Les calculs DPA/FNACC sont structurellement corrects mais indicatifs.
> Toute déclaration fiscale doit être validée par un CPA autorisé.
---
## Le problème qu'il résout
Les PME canadiennes avec un parc d'actifs significatif tombent dans un vide : trop petites pour un ERP, trop complexes pour un chiffrier Excel. Résultat : un registre DPA bricolé, refait à chaque exercice, sans lien avec l'inventaire physique.
**Mon Registraire** comble ce vide. Il remplace le chiffrier, pas le CPA.
---
## Trois vues. Un seul registre.
| Vue | Pour qui | Ce qu'on y trouve |
|---|---|---|
| **Propriétaire** | Dirigeant | VNC, coût de remplacement, statut opérationnel, barre d'amortissement |
| **CPA** | Comptable | FNACC fiscale, base capitalisable, catégorie DPA, perte finale / récupération |
| **Auditeur** | Vérificateur | Numéro de série, fournisseur, facture jointe, piste d'audit horodatée |
---
## Démarrage en 2 minutes
Requiert Python 3.10+ · [python.org](https://www.python.org/downloads/)
**Mac / Linux**
```bash
git clone https://forge.alliance-boreale.ca/Chezlepro/monregistraire
cd monregistraire
./lancer.sh
```
**Windows**
```
Double-clic sur lancer.bat
```
Le venv Python est créé automatiquement. L'interface s'ouvre sur `http://localhost:8000`.
Cliquez **Données démo** pour voir l'outil en action immédiatement.
---
## Fonctionnalités
**Fiscal**
- Registre pool DPA multi-catégories, multi-exercices (Cat. 8, 10, 12, 46, 50…)
- DPA dégressive, règle de la demi-année (Règl. 1100(2))
- Perte finale (LIR 20(16)) et récupération (LIR 13(1)) détectées automatiquement
- Annexe 8 / Schedule 8 avec export CSV
- Rapport fiscal HTML — lignes T2 (104/107/410/414) et CO-17 (130/135/150/155)
**Inventaire**
- Modèle à deux niveaux : immobilisation fiscale → pièces composantes
- Factures jointes par pièce (PDF/JPG/PNG, jusqu'à 20 Mo)
- Piste d'audit complète et horodatée sur chaque actif
- Sauvegardes horodatées, restauration en un clic
**Interface**
- Mobile-first : fonctionne sur téléphone et tablette
- Données démo prêtes à l'emploi (6 immobilisations, 5 catégories, cas de perte finale et récupération)
- Guide utilisateur intégré (11 sections)
---
## Références législatives
Les algorithmes sont documentés et référencés directement dans le code source :
- [LIR art. 13](https://laws-lois.justice.gc.ca/fra/lois/I-3.3/section-13.html) — FNACC, récupération
- [LIR art. 20](https://laws-lois.justice.gc.ca/fra/lois/I-3.3/section-20.html) — DPA, perte finale
- [Règl. art. 1100](https://laws-lois.justice.gc.ca/fra/reglements/C.R.C.,_ch._945/section-1100.html) — méthode dégressive, demi-année
- [Guide T2 (T4012)](https://www.canada.ca/fr/agence-revenu/services/formulaires-publications/publications/t4012.html) — Annexe 8 / Schedule 8
---
## Structure du projet
```
app/
main.py 28 routes FastAPI
store.py AssetStore — SQLite, modèle parent/pièce, 3 vues
cca_registry.py Registre pool DPA par catégorie
cca_pool.py Mécanique fiscale (demi-année, perte finale, récupération)
accounting.py Écritures comptables au détachement
static/
index.html SPA React/Babel — interface mobile-first
aide.html Guide utilisateur (11 sections)
apropos.html À propos — intention, personas, capacités, limitations
tests/
test_api.py 50 tests pytest — 100 % verts
data/
immos.db Base SQLite (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
.venv/bin/pytest tests/ -v
```
---
## Licence
[MIT](LICENSE) — libre d'utilisation, de modification et de distribution, y compris à des fins commerciales.