ED07 - Délais de conservation & immuabilité : Git-Hooks, paquets de preuves
Problème
Les GoBD et l'AO exigent une conservation à long terme – mais la pratique échoue dans sa mise en œuvre :
- « 10 ans ? C'est le cloud qui s'en occupe. » – de nombreux entrepreneurs croient que le logiciel cloud gère automatiquement la conservation – mais en cas de résiliation du compte, les données ne sont souvent plus disponibles (voir ED01 point de douleur 6–7)
- Compte cloud résilié, données perdues – le compte de paie a été suspendu, les anciens comptes de paie ne peuvent être réactivés qu'en payant des frais supplémentaires – violation des GoBD (§ 146 Abs. 5 AO)
- Anciennes versions logicielles non réactivables – les sauvegardes nécessitent l'ancienne version logicielle, qui n'est plus installable – violation des GoBD (§ 147 Abs. 2 AO : « lisible sans délai »)
- Aucune immuabilité – écritures comptables modifiées a posteriori sans traçabilité – violation des GoBD (Rz. 146)
- Aucun paquet de preuves – lors d'un audit externe, le vérificateur ne peut pas être fourni d'un support de données (Z3) – violation des GoBD (§ 147 Abs. 6 AO)
- Délais de conservation inconnus – 10 ans ? 8 ans ? 6 ans ? De nombreux entrepreneurs ne connaissent pas les délais applicables à leurs documents
Message clé
Une conservation conforme aux GoBD avec Git signifie :
- Les Git-Bundles sont autonomes – aucun compte cloud, aucune
licence logicielle, aucun prestataire –
git clonesuffit - Les délais de conservation sont documentés dans le dépôt – chaque
artefact porte son délai dans le sidecar (
obsolescence+ date du délai) - Immuabilité par Tags et branches protégées – les versions approuvées sont cryptographiquement immuables
- Paquets de preuves pour les clôtures périodiques –
git bundle+ Static-Web (Z3+) pour les vérificateurs (voir ED04) - Contrôle des délais en tant qu'artefact Git –
checks/FRISTEN_CHECK.mdalerte sur les délais imminents
Conformité par conception : la conservation n'est pas rétroactive – elle naît du choix du support. Les Git-Bundles sont autonomes et survivent à tout blocage cloud, tout changement de version logicielle, toute résiliation de prestataire.
Délais de conservation selon l'AO § 147
Délais de conservation"] AO --> J10["10 ans
§ 147 Abs. 1 Nr. 1"] AO --> J8["8 ans
§ 147 Abs. 1 Nr. 4"] AO --> J6["6 ans
§ 147 Abs. 1 Nr. 2/3/5"] J10 --> D10["Livres, enregistrements
Inventaires, états financiers annuels
Bilan d'ouverture
Instructions de travail"] J8 --> D8["Pièces justificatives
Factures électroniques (XML)
Pièces de paie"] J6 --> D6["Correspondances commerciales
E-mails (EML)
Autres documents"] style AO fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style J10 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style J8 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style J6 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style D10 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style D8 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style D6 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
| Délai | Type de documents | Base légale | Exemples |
|---|---|---|---|
| 10 ans | Livres, enregistrements, inventaires, états financiers annuels, bilan d'ouverture, instructions de travail | § 147 Abs. 1 Nr. 1 AO | Grand livre (JSON), documentation de procédure, plan comptable |
| 8 ans | Pièces justificatives | § 147 Abs. 1 Nr. 4 AO | Factures électroniques (XML), bulletins de paie, décisions de la sécurité sociale |
| 6 ans | Correspondances commerciales, autres documents | § 147 Abs. 1 Nr. 2/3/5 AO | E-mails (EML), correspondance, notes |
Important – début du délai : le délai commence à la fin de l'année civile au cours de laquelle la dernière inscription a été effectuée, les états financiers ont été établis, la pièce a été reçue ou l'enregistrement a été réalisé (§ 147 Abs. 4 AO). Une écriture du 15.08.2026 fait courir le délai au 31.12.2026 – 10 ans expirent au 31.12.2036.
Immuabilité par Git
Commit"] B --> H["Hachage SHA-256
du Commit"] H --> T["Tag
(marqueur d'approbation)"] T --> P["Branche protégée
(pas de Force-Push)"] P --> U["Immuabilité
GoBD Rz. 146"] K["Correction nécessaire"] K --> NC["Nouveau Commit
+ marque d'obsolescence"] NC --> O["L'original reste
traçable"] style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style H fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style T fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style P fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style U fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style K fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style NC fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style O fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
| Mécanisme | Fonctionnalité Git | Référence GoBD |
|---|---|---|
| Hash de Commit | Hachage SHA-256 par Commit – toute modification génère un nouveau hash | Rz. 146 (immuabilité) |