# Walk The Line — V15.0 — Comptabilité associative

## Objectif

Ajouter une gestion financière simple pour l'association, sans transformer le back-office en logiciel comptable complexe.

## Fonctionnalités

- Exercices et périodes mensuelles générés automatiquement.
- Date de début du suivi comptable dans la fiche Association : le premier exercice est tronqué automatiquement et aucun relevé n'est attendu avant cette date.
- Comptes financiers : banque, SumUp/prestataire de paiement, caisse espèces, autre, avec date d'ouverture/fermeture et contrôle optionnel du relevé mensuel.
- Paiements de factures : non payée / partiellement payée / payée calculé à partir des encaissements.
- Une facture générée par l'application est automatiquement référencée dans la GED comptable sans duplication du PDF.
- Dépenses/prestations : HT, taux TVA, TVA, TVA déductible, TTC, projet facultatif, compte et mode de paiement.
- Recettes complémentaires : dons, cotisations, subventions, remboursements et autres.
- GED comptable logique par exercice/période/type de pièce.
- Contrats et sous-traitance.
- Merchandising : saisie d'un récapitulatif de vente par projet, compte d'encaissement et frais de prestataire.
- Historique des régimes TVA avec date d'effet et assistant mensuel indicatif.
- Détection des relevés manquants uniquement pour les périodes réellement existantes et les comptes déjà ouverts.

## Migration

```bash
php bin/console doctrine:migrations:migrate
php bin/console cache:clear
php bin/console doctrine:schema:validate
php bin/console doctrine:schema:update --dump-sql
```

Après migration, renseigner une fois **Administration > Association > Début du suivi comptable** puis ajouter le compte bancaire principal dans **Paramétrage comptable**.

## Docker local

Le `docker-compose.yml` a été optimisé pour Docker Desktop/Windows :

- suppression des limites CPU/RAM artificielles ;
- `vendor/` et `var/` dans des volumes Docker natifs au lieu du bind mount Windows ;
- dépendances Composer préchargées dans l'image ;
- OPcache et realpath cache configurés pour le développement ;
- MariaDB avec buffer InnoDB de 512 Mo ;
- healthcheck avant démarrage du web/phpMyAdmin.

Premier démarrage après cette version :

```bash
docker compose down
docker compose build --no-cache web
docker compose up -d
```

Les démarrages suivants restent classiques : `docker compose up -d`.

Si le projet est stocké directement sur `C:\`, Docker Desktop conserve malgré tout un coût de bind mount pour `src/`, `templates/`, etc. Le gain principal de cette version vient du retrait de `vendor/` et `var/` de ce bind mount. Pour les performances maximales sous Windows, placer le dépôt dans le filesystem WSL2 reste encore plus rapide.
