ED01 - Motivation : Pourquoi un entrepreneur tient son journal dans Git
Problème
Un entrepreneur fonde une organisation - et se trouve face à une image floue des risques futurs. Quelles obligations naissent quand ? Quels justificatifs doivent être conservés combien de temps ? Quels délais risquent d'être manqués ? Quelles administrations se manifestent quand pour quel contrôle ?
La pratique actuelle dans le secteur des PME est marquée par :
- paperasse dispersée et listes Excel locales - non traçables, non conformes à l'audit
- chaos de PDF et d'e-mails lors des contrôles - les documents sont rassemblés à la hâte
- solutions isolées (logiciel de paie ici, comptabilité là, archive de justificatifs ailleurs) - sans chaîne de preuve continue
- lacunes open source pour des obligations particulières (temps de travail, frais de déplacement, primes, BEM, FZul/BSFZ, utilité publique) - il n'existe pratiquement aucun support libre ici
- accumulation de risques - les obligations sont aujourd'hui ignorées à faible coût, jusqu'à ce qu'elles deviennent coûteuses demain sous forme d'amendes, de majorations de retard ou de retraits
Tag 0"] --> B["Pflichten
unklar"] B --> C["Heute cheap
ignoriert"] C --> D["Morgen teuer
Bußgeld/Aberkennung"] D --> E["Risiko
realisiert"] style A fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style B fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style C fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style D fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style E fill:#FF3333,stroke:#0F1B33,color:#FBFAF7
Message clé
Non seulement les documents doivent être conformes à l'audit - mais aussi les décisions, délais et références de justificatifs doivent être traçables, reproductibles et auditables. Un journal natif Git fait exactement cela : il transforme des faits saisis aujourd'hui à faible coût (bon marché) (un enregistrement JSON avec V7GUID + référence de justificatif SHA-256) en futures preuves conformes à l'audit. La conformité devient un levier, non un frein.
Compliance by Design : L'« image floue » des risques futurs est réduite par les techniques GitCover (OSCAL, OPA, V7GUID, hooks Git) dès le départ, et non seulement lorsque le contrôleur sonne à la porte.
Le journal comme agenda de travail entrepreneurial
Le journal n'est pas un carnet privé et pas non plus un calendrier de temps de travail tenu après coup. Il est la SSoT temporelle du travail : l'agenda montre quelle prestation, décision ou clarification a vu le jour quand et à quel justificatif, contrat ou dossier elle renvoie. Ainsi, la même preuve de travail peut servir différents objectifs, sans construire une nouvelle histoire pour chaque contrôle :
- BSFZ/FZulG : les projets de R&D, le temps de prestation et la délimitation sont documentés sans délai.
- FA/EStG/EÜR : la motivation entrepreneuriale et les parts privées/professionnelles restent traçables.
- USt : la période de prestation, l'exécution du contrat et la référence à la facture deviennent liables.
- GoBD/AO : le justificatif, la décision, la validation et la modification forment une chaîne rétrograde/progressive.
- Risque et portabilité : l'exploitation ne dépend pas de la mémoire d'une seule personne ou d'un portail fournisseur ; les faits se trouvent dans des artefacts Git ouverts et versionnés.
La règle est simple : Le journal décrit l'agenda ; les dépôts conservent la preuve. Un agent ne peut déduire du journal que ce que portent les Ur-Docs liés et les sidecars. Ainsi, la conformité n'est pas gérée comme un travail supplémentaire ultérieur, mais comme un flux de travail normal.
Genèse : le contrôle SV comme déclencheur pratique
L'idée GitCover n'est pas née dans une tour d'ivoire, mais de
expériences pratiques concrètes : plus récemment d'un contrôle d'entreprise SV auprès d'une micro-UG
(ici anonymisée en ORG-V pour « organisation précurseur ») pour la période
2021–2023 ; réalisé sur la période 02/2024–03/2025. Le contrôle a révélé des points de douleur que les techniques GitCover adressent.
Chronologie du contrôle SV
Que s'est-il passé ?
| Date | Événement | Statut |
|---|---|---|
| 02/2024 | La DRV annonce un contrôle d'entreprise selon § 28p SGB IV | ⏳ |
| 12/2024 | La DRV demande les documents de contrôle (comptes de paie 2021–2023, questionnaire, lettre d'accompagnement) | ⏳ |
| 12/2024 | Les documents sont rassemblés à la hâte et envoyés par e-mail en PDF/ZIP | ✅ |
| 02/2025 | La DRV transmet les résultats du contrôle (audition § 24 SGB X, feuille récapitulative, annexes HEK/Minijob-Zentrale) | ✅ |
| 02/2025 | Acceptation sans objections ; demande de remboursement déposée auprès de la KK | ✅ |
| 03/2025 | Contrôle SV terminé - idée GitCover née | ✅ |
Résultat financier (net)
| Position | Montant |
|---|---|
| Remboursement de cotisations U1 payées en trop | +121 EUR |
| Rappel de cotisations forfaitaires KV | −30 EUR |
| Remboursement net | +91 EUR |
| Coûts du prestataire | >100 EUR |
| Charge de travail | plusieurs jours de compilation manuelle |
Points de douleur - ce que le contrôle a révélé
Prüfung nur per E-Mail"] P2["Beleg-Echtheit unklar
PDFs ohne kryptographische Verankerung"] P3["Keine Nachweiskette
Lohnkonten/SV/Erstattung an verschiedenen Orten"] P4["Fristen ad-hoc
manuell im Kalender gepflegt"] P5["Audit-Export fehlt
euBP/eXTra, Z3 nur mit Spezialsoftware"] P6["Lohn-Account pausiert
nach Mitarbeiter-Ausscheiden
Extra-Kosten > Erstattung"] P7["Alte Sicherungen
alter Software-Stand
GoBD-Auflage verletzt"] P1 --> G["GitCover-Idee
geboren"] P2 --> G P3 --> G P4 --> G P5 --> G P6 --> G P7 --> G G --> S["GitCover-Lösungen
SHA-256+V7GUID, Hooks, Fristen-Check
Evidence-Packages, Git-Bundles self-contained"] style P1 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P2 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P3 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P4 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P5 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P6 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P7 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style G fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
- Pas de bureau, pas de fax, pas de salarié - et devoir néanmoins traiter un contrôle d'entreprise uniquement par e-mail avec des fichiers PDF et ZIP. Les outils n'existaient pas pour ce cas minuscule.
- Authenticité des justificatifs incertaine - les PDF envoyés par e-mail n'ont pas d'ancrage cryptographique. Qui a modifié quoi et quand ? La force probante n'était assurée que par une traçabilité manuelle.
- Pas de chaîne de preuve continue - les comptes de paie, déclarations SV, attestations de cotisations et justificatifs de remboursement se trouvaient à différents endroits, sans renvois. Chaque question nécessitait une nouvelle recherche.
- Gestion des délais ad hoc - les délais d'audition, de remboursement, d'opposition étaient gérés manuellement dans le calendrier. Aucune alerte en cas d'expiration imminente.
- L'export d'audit manquait - la DRV demandait des données au format euBP (eXTra V3.4.0) ; le FA aurait exigé un support de données Z3. Les deux n'étaient possibles qu'avec un logiciel spécialisé ou une préparation manuelle.
- Départ du salarié → compte de paie mis en pause - après le départ du salarié de l'époque, le compte de décompte de paie chez le prestataire a été mis en pause. Qui maintient inutilement un compte cloud générant des coûts lorsque la raison n'existe plus (salarié parti, plus de décomptes nécessaires) ? La compilation du dossier de documents pour le contrôle a alors exigé des coûts supplémentaires chez le prestataire, qui étaient finalement plus élevés que le petit « remboursement » à la fin du contrôle.
- Réactivation d'anciennes sauvegardes avec une ancienne version logicielle - pour rendre
à nouveau accessibles les comptes de paie 2021–2023, il fallait réactiver les anciennes
sauvegardes avec l'ancienne version logicielle - un problème pratique
considérable. C'est formellement une violation des règles de l'obligation
GoBD que de ne pas veiller aussi techniquement à ce que, pendant la longue
période de conservation (10 ans), l'accès soit toujours possible. En pratique,
cette obligation entre en conflit avec la pression économique consistant
à ne pas maintenir des comptes cloud inutilisés en générant des coûts.
Précisément cette tension est un motif central de GitCover : les bundles Git sont
autonomes - ils n'ont besoin ni de comptes cloud, ni de
contrats avec des prestataires, ni de versions logicielles. Un
git clonesuffit, et le délai de conservation est techniquement respecté.
Bases juridiques : AO § 146, § 147 et GoBD
La « violation des règles de l'obligation GoBD » évoquée au point 7 a une base juridique claire - dans la loi fiscale (AO) et dans les GoBD (principes pour la tenue et la conservation régulières des livres, enregistrements et documents sous forme électronique ainsi que pour l'accès aux données, lettre du BMF).
AO § 146 Abs. 5 - Disponibilité pendant le délai de conservation
« Lors de la tenue des livres et des autres enregistrements nécessaires sur supports de données, il faut notamment garantir que pendant la durée du délai de conservation, les données soient disponibles à tout moment et puissent être rendues lisibles sans délai. »
C'est la disposition centrale : quiconque comptabilise électroniquement doit, pendant toute la période de conservation (10 ans pour les livres/enregistrements, 8 ans pour les justificatifs comptables, § 147 Abs. 3 AO), garantir que les données sont disponibles à tout moment et lisibles sans délai. Un compte cloud mis en pause, qui n'est réactivé que contre des coûts supplémentaires, viole cette obligation - les données ne sont pas « disponibles à tout moment », mais seulement contre paiement et avec retard.
AO § 147 Abs. 2 - Conservation sur supports de données
« À l'exception des bilans annuels [...] les documents énumérés à l'alinéa 1 peuvent aussi être conservés sous forme de reproduction sur un support d'image ou sur d'autres supports de données, si cela correspond aux principes d'une comptabilité régulière et s'il est garanti que la reproduction ou les données [...] sont, pendant toute la durée du délai de conservation, disponibles à tout moment, peuvent être rendues lisibles sans délai et exploitées par machine. »
Encore une fois : « disponibles à tout moment », « lisibles sans délai », « exploitables par machine ». Une ancienne version logicielle qui doit d'abord être réactivée ne satisfait pas à l'exigence « sans délai ».
AO § 147 Abs. 5 - Moyens aux frais du contribuable
« Quiconque présente des documents à conserver sous la forme d'une reproduction sur un support d'image ou sur d'autres supports de données est tenu de fournir à ses frais les moyens nécessaires pour rendre les documents lisibles. »
Cela signifie : si le prestataire ne tient plus à disposition l'ancien système, l'entrepreneur doit lui-même fournir les moyens (logiciel, licences, matériel) pour rendre les données lisibles. C'était précisément le problème pratique du cas de genèse : anciennes sauvegardes, ancienne version logicielle, plus aucun moyen disponible.
AO § 147 Abs. 6 - Accès aux données lors d'un contrôle externe
« Si les documents visés à l'alinéa 1 ont été établis à l'aide d'un système de traitement de données, l'administration fiscale peut, dans le cadre d'un contrôle externe [...] exiger que les données soient mises à disposition sous forme exploitée par machine selon ses prescriptions. »
Lors d'un contrôle externe, l'entrepreneur doit mettre les données à disposition sous forme exploitable par machine - pas sous forme d'impression PDF, mais sous forme de données structurées. Un compte cloud mis en pause, qui n'offre qu'un export PDF, ne suffit pas.
GoBD - Documentation des procédures et changement de système
Les GoBD concrétisent ces dispositions de l'AO pour les systèmes électroniques. Exigences centrales :
- Documentation des procédures (GoBD Rz. 64–91) : chaque système électronique de comptabilité doit disposer d'une documentation des procédures décrivant la procédure, l'environnement système, les mesures organisationnelles et les contrôles internes. En cas de changement de système, la documentation des procédures doit être mise à jour.
- Changement de système/migration (GoBD Rz. 146–150) : lors d'un changement de système, il faut garantir que les données de l'ancien système restent disponibles, lisibles et exploitables par machine. La documentation des procédures doit documenter le changement.
- Immutabilité (GoBD Rz. 146) : après l'écriture, les données ne doivent pas être modifiées. Les corrections doivent être effectuées sous forme de nouvelles écritures avec justification.
Conséquences théoriques en cas d'infraction
AO § 146/147 + GoBD"] V --> K1["Verspätungszuschlag
§ 152 AO
bis 25.000 EUR"] V --> K2["Schätzung
§ 162 AO
bei nicht verwertbaren Daten"] V --> K3["Verzögerungsgeld
§ 146 Abs. 2c AO
2.500–250.000 EUR"] V --> K4["Beweislastumkehr
FA schätzt, Unternehmer
muss widerlegen"] V --> K5["Ordnungswidrigkeit
§ 379 AO
Bußgeld bis 50.000 EUR"] V --> K6["Steuerstrafverfahren
§ 370 AO
bei vorsätzlicher Verkürzung"] style V fill:#FF1A1A,stroke:#0F1B33,color:#FBFAF7 style K1 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style K2 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style K3 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style K4 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style K5 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style K6 fill:#FDBA74,stroke:#C2410C,color:#0F1B33
| Conséquence | Base juridique | Montant/Risque |
|---|---|---|
| Majoration de retard | § 152 AO | jusqu'à 25 000 EUR (cas individuel) |
| Estimation des bases d'imposition | § 162 AO | le FA estime lorsque les données ne sont pas exploitables - souvent au détriment de l'entrepreneur |
| Astreinte de retard | § 146 Abs. 2c AO | 2 500–250 000 EUR (en cas d'externalisation sans autorisation) |
| Renversement de la charge de la preuve | § 162 AO, § 90 AO | l'entrepreneur doit réfuter l'estimation - à peine possible en cas de données manquantes |
| Infraction administrative | § 379 AO | amende jusqu'à 50 000 EUR (intentionnellement ou par négligence) |
| Procédure pénale fiscale | § 370 AO | peine d'emprisonnement jusqu'à 5 ans (en cas de fraude fiscale intentionnelle) |
Mise en perspective pratique : dans le cas de genèse, le contrôle SV a été accepté sans objections
- il n'y a eu aucune conséquence. Mais c'était de la chance : si la DRV n'avait pas accepté les données sous forme de PDF, mais avait insisté sur une exploitation par machine (§ 147 Abs. 6 AO), l'entrepreneur se serait trouvé en difficulté pour s'expliquer. La conservation conforme aux GoBD n'est pas une obligation théorique - elle devient réelle à chaque contrôle externe.
Pourquoi Git résout le problème
Git satisfait aux exigences AO/GoBD by Design :
| Exigence AO/GoBD | Comment Git y satisfait |
|---|---|
| « disponible à tout moment » (§ 146 Abs. 5) | git clone possible à tout moment - pas de compte cloud, pas de licence |
| « lisible sans délai » (§ 147 Abs. 2) | fichiers en texte clair (Markdown, JSON) - aucune version logicielle nécessaire |
| « exploitable par machine » (§ 147 Abs. 6) | JSON-Schema-First - données structurées, aucun export PDF nécessaire |
| « moyens aux frais de l'entrepreneur » (§ 147 Abs. 5) | Git est OSS, gratuit - aucun coût de prestataire |
| Immutabilité (GoBD Rz. 146) | tags, branches protégées, marquage d'obsolescence |
| Documentation des procédures (GoBD Rz. 64–91) | le dépôt lui-même est la documentation des procédures - git log montre la procédure |
| Changement de système/migration (GoBD Rz. 146–150) | Git est indépendant de la version - git clone sur tout système |
Facture électronique : les formats XML sont des documents originaux au sens de l'AO
Depuis le 1er janvier 2025, la facture électronique est obligatoire pour les opérations entre entreprises nationales (§ 14 UStG, Wachstumschancengesetz). Une facture électronique n'existe que si elle est émise, transmise et reçue dans un format électronique structuré et permet un traitement électronique (§ 14 Abs. 1 Satz 3 UStG). Un simple document PDF n'entre plus dans cette catégorie - il s'agit depuis 2025 d'une « autre facture ».
vor 2025"] --> U["Übergang
2025–2027"] PDF["PDF per E-Mail
vor 2025 'elektronisch'"] --> U U --> E["E-Rechnung
ab 2025 verpflichtend
strukturiert, maschinenlesbar"] E --> X["XRechnung
XML-basiert
EN 16931"] E --> Z["ZUGFeRD
hybrid: PDF + XML
ab v2.0.1"] style P fill:#E5E7EB,stroke:#6B7280,color:#0F1B33 style PDF fill:#E5E7EB,stroke:#6B7280,color:#0F1B33 style U fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style E fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style X fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style Z fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Le XML est le document original - pas le PDF
Le point décisif pour la conservation : dans une facture électronique, la partie structurée (XML) est le document original au sens de l'AO, et non un PDF éventuellement joint ou une image lisible par l'homme. Le BMF précise (FAQ sur la facture électronique, question 13) :
« Pour une facture électronique, au moins sa partie structurée doit être conservée de manière à ce qu'elle soit intacte dans sa forme d'origine. »
Cela signifie :
- XRechnung (basé sur XML, EN 16931) : le fichier XML est le document original. Il doit être conservé inchangé. Une visualisation PDF n'est qu' une aide à l'affichage - elle ne remplace pas le XML.
- ZUGFeRD (hybride : PDF + XML intégré) : en cas d'écarts entre la partie XML et la partie image, depuis 2025, c'est la partie structurée (XML) qui fait foi (FAQ BMF question 12a). L'image PDF n'est plus déterminante.
AO § 147 - La facture électronique comme justificatif comptable
Les factures électroniques sont des justificatifs comptables au sens du § 147 Abs. 1 Nr. 4 AO et doivent donc être conservées huit ans (§ 147 Abs. 3 AO). En tant que documents électroniques, les exigences AO/GoBD s'appliquent :
- Disponible à tout moment (§ 147 Abs. 2) : le fichier XML doit être accessible pendant toute la période de conservation.
- Lisible sans délai (§ 147 Abs. 2) : un visualiseur XML ou
le visualiseur de factures électroniques ELSTER (
www.e-rechnung.elster.de) rend le fichier lisible - mais le XML lui-même est en texte clair et donc aussi lisible sans logiciel spécialisé. - Exploitable par machine (§ 147 Abs. 6) : le XML est par définition lisible par machine - idéal pour § 147 Abs. 6 (accès aux données lors d'un contrôle externe).
- Intact (§ 14b Abs. 1 UStG) : le fichier XML ne doit pas être modifié. Git y satisfait par l'immutabilité après commit (hash SHA-256).
Réglementations à l'échelle de l'UE : EN 16931 et directive 2014/55/UE
La facture électronique repose sur le droit de l'UE :
- Directive 2014/55/UE - oblige les acheteurs publics à recevoir et traiter les factures électroniques (B2G).
- EN 16931 (série de normes européennes) - définit le modèle de données sémantique pour les factures électroniques (CEN/TC 434). XRechnung et ZUGFeRD sont des mises en œuvre nationales de cette norme EN.
- ViDA (VAT in the Digital Age) - extension prévue à l'échelle de l'UE de l'obligation de facture électronique et introduction d'un système de déclaration pour les données de transaction. L'obligation allemande de facture électronique prépare ViDA.
Pourquoi Git est idéal pour les factures électroniques
| Exigence de facture électronique | Comment Git y satisfait |
|---|---|
| XML comme document original | le fichier XML est stocké inchangé dans le dépôt - git diff ne montre aucun changement |
| Intact (§ 14b UStG) | hash SHA-256 par commit - toute modification serait visible |
| Conserver 8 ans (§ 147 Abs. 3) | bundle Git comme archive autonome - aucun compte cloud nécessaire |
| Exploitable par machine (§ 147 Abs. 6) | le XML est par définition lisible par machine - git grep suffit |
| Validation EN 16931 | le hook pre-commit peut appeler le validateur XRechnung/ZUGFeRD |
| Visualisation (FAQ BMF 12a) | XML + sidecar Markdown lisible par l'homme - les deux dans le dépôt |
| Période transitoire 2025–2027 | le dépôt peut conserver en parallèle aussi bien les « autres factures » (PDF) que les factures électroniques (XML) |
Conseil pratique : un dépôt Git peut conserver en parallèle des factures électroniques (XML) et d'autres factures (PDF) - avec une séparation claire par type de justificatif dans le sidecar (
v7g_taxonomy). Le hook pre-commit vérifie si les factures électroniques ont une structure XML valide (schéma XRechnung/ZUGFeRD). Ainsi, la période transitoire 2025–2027 est couverte sans rupture de média.
Déductions directes dans GitCover
| Point de douleur | Concept GitCover | Article de la série |
|---|---|---|
| Authenticité des justificatifs incertaine | SHA-256 + V7GUID + sidecar .gc.md par justificatif |
ED03, ED08 |
| Pas de chaîne de preuve | dépôt Git avec hooks fonctionnellement dédiés, registre de base en JSON | ED06, ED07 |
| Délais ad hoc | checks/FRISTEN_CHECK.md + alerte automatique |
ED09 |
| Export d'audit manquant | GoBDExport (Z3), EuBPExport (eXTra), Evidence-Packages | ED08, ED36 |
| Compte de paie en pause, coûts supplémentaires | bundles Git autonomes, pas de comptes cloud | ED08, ED09 |
| Anciennes sauvegardes/ancienne version logicielle, infraction GoBD | dépôt Git comme support de conservation autonome, git clone suffit |
ED08, ED09 |
| Qui se cache derrière la société ? | registre de transparence : déterminer les bénéficiaires effectifs (wB), documenter, déclarer | ED04, ED12, ED18, ED19 |
| Pas d'OSS pour les cas particuliers | GitCover couvre FZul/BSFZ, l'utilité publique, le temps de travail, le BEM | ED25–ED34 |
Remarque - obligations des micro-entrepreneurs dès 1 salarié : souvent, même les micro-entrepreneurs sont soumis dès le 1er salarié à de telles obligations - enregistrement du temps de travail (ArbZG), documentation du salaire minimum (MiLoG), congés/maladie/BEM (BUrlG/EFZG/SGB IX), déclaration à la sécurité sociale (SGB IV). Les obligations traitées dans la partie IV dès 1 salarié ne sont donc pas des sujets spécifiques aux grandes entreprises, mais concernent précisément les micro- et petites entreprises qui embauchent pour la première fois du personnel. GitCover s'adresse délibérément à ce seuil - le passage de l'entrepreneur solo à employeur est le moment critique où les obligations de conformité augmentent brusquement. Les obligations dès l'enregistrement de l'activité (classement des sphères, exonération VBG, forfaits) sont déjà traitées dans la partie II - elles naissent sans salarié.
Pourquoi Git comme support de journal ?
Git est à l'origine un système de contrôle de version - mais il apporte trois propriétés qui le rendent by Design adapté à la conformité :
Tagebuch-Medium"] G --> U["Unveränderbarkeit
nach Freigabe
(Tags, Protected Branches)"] G --> N["Nachvollziehbarkeit
Autor + Zeitstempel
+ kryptographische Integrität"] G --> D["Dezentralität
Git-Bundles + GCEP
Multi-Site, Off-Site"] U --> GoBD["GoBD Rz. 146
konform"] N --> Audit["Audit-Ready
reproduzierbar"] D --> Backup["Kein SPOF
verteilt"] style G fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style U fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style N fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style D fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GoBD fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style Audit fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style Backup fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
- Immutabilité après validation - les tags et les branches protégées garantissent que les entrées de journal validées ne sont pas modifiées après coup (GoBD Rz. 146). Les corrections sont effectuées sous forme de nouveaux commits avec marquage d'obsolescence.
- Traçabilité - chaque commit porte l'auteur, l'horodatage et l'intégrité cryptographique. Toute l'historique est reproductible.
- Décentralité - les bundles Git et GCEP (Advisory Locks) permettent un stockage distribué (multi-site, sauvegarde hors site) sans point unique de défaillance central.
Compliance by Design - les techniques GitCover
La série montre comment les techniques suivantes réduisent dès le départ l'« image floue » des risques futurs :
maschinenlesbare
Compliance-Statements"] CBD --> OPA["OPA/Rego
Policy as Code
automatisierte Prüfung"] CBD --> V7["V7GUID Uniqueness
zeitstabile
eindeutige IDs"] CBD --> HOOKS["Git-Hooks
funktional dediziert
Pre/Post-Commit"] CBD --> ART["Code-Artefact-Typen
JSON-Schema-First
Sidecar-Pflicht"] OSCAL --> ZERT["Zertifizierungsreife
ISO 27001, AI Act, BSI GS++"] OPA --> POLICY["Sphären, Fristen,
Beitragsgruppen-Plausibilität"] V7 --> UNIQ["Kollisionsfrei,
sortierbar, dateiname-unabhängig"] HOOKS --> CHECK["Schema, Sphären,
Obsoleszenz geprüft"] ART --> SIG["Temporale Signatur
SHA-256-Belegreferenzen"] style CBD fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style OSCAL fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style OPA fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style V7 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style HOOKS fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style ART fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style ZERT fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style POLICY fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style UNIQ fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style CHECK fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style SIG fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33
- OSCAL - déclarations de conformité lisibles par machine (maturité de certification pour ISO 27001, AI Act, BSI GS++)
- OPA/Rego - Policy as Code, contrôle automatisé des règles (séparation des sphères, délais, plausibilité des groupes de cotisation)
- V7GUID Uniqueness - identifiants uniques et stables dans le temps au-delà des noms de fichiers (basés sur UUIDv7, triables, sans collision)
- Hooks Git (dédiés fonctionnellement/matériellement) - pre-commit vérifie la séparation des sphères, la conformité au schéma, le statut d'obsolescence ; post-commit génère des index et met à jour les délais
- Types d'artefacts de code et entrées - JSON-Schema-First, obligation de sidecar,
signature temporelle
{YYMMDD HHmm}, références de justificatifs SHA-256
Principe central de la traçabilité temporelle : le moment de saisie n'est pas un champ séparé, mais est ancré dans l'
uuidV7lui-même, comme horodatage de 48 bits selon RFC 9562 §5.7. L'uuidV7est généré à partir d'une marque temporelle prédéfinie (pasnow()) via le helper GitCover (gc-v7guid), le reste étant rempli aléatoirement. Ainsi, le moment de saisie est cryptographiquement lié à l'identité de l'artefact et ne peut pas être modifié après coup. Une représentation séparéedatetime/datesous forme de chaîne est redondante et n'est pas tenue dans les faits - la représentation sous forme de chaîne pour DTO/HTMX est de la responsabilité du harness.
Référence RFC : la composante d'horodatage de 48 bits de l'
uuidV7correspond à RFC 9562 §5.7 (UUIDv7) - millisecondes Unix depuis l'époque (1970-01-01T00:00:00Z), 48 bits, plage de valeurs 0 … 2⁴⁸−1 (portée jusqu'à env. l'an 10889). La spécification V7GUID est déposée de manière normative danswork/OSS/TOP/.gitcover/specs/v7guid/; la demande de brevet associée est DPMA Az. 10 2025 003 091.6.
Routines helper (GitCover OSS Tools) : dans
work/OSS/gc-v7guidse trouve un helper OSS qui fournit deux opérations centrales :
gen- génère uneuuidV7viaGuid.CreateVersion7()(.NET) (avec une marque temporelle prédéfinie si nécessaire, pas seulementnow()) et renvoie le label, l'UUID et l'horodatage ISO décodé.decode- extrait la composante d'horodatage de 48 bits d'uneuuidV7donnée et la renvoie sous forme d'horodatage ISO 8601.Ces helpers sont décisifs pour créer, à partir de clés étrangères (par ex. une marque temporelle dans les données ou dans le nom de fichier), une clé
uuidV7valide - et en même temps documenter les exigences temporelles des GoBD (saisie rapide, traçabilité). La valeur de 48 bits est le seul facteur de la dérivation de TenantId et peut, au lieu de l'heure système, être aussi un moment explicitement prédéfini (par ex. à partir d'une marque temporelle d'un certificat ELSTER, date d'un reçu avec TSE, etc.) - l' interprétation suit la documentation des procédures.
Principe du sidecar (
.gc.md) : chaque sidecar porte une clé compositeV7GUID:uuidV7:
V7GUID(Class Identifier) - classe le sidecar selon le registre.gitcover(quoi/quel type)uuidV7(Object ID) - identité du sidecar lui-même, générée avec une marque temporelle prédéfinie/horodatage de 48 bits ancré dans le GUIDv7g_taxonomy[].v7guid- Object ID du document classifiésha256- identité du document original classifié — la preuve d'originalité, toujours et partout (même si le document migre : indépendant du chemin/du nom, calculé à partir du contenu)Ainsi, non seulement le document est identifié de manière unique (par son SHA-256), mais aussi l'acte de classification lui-même - y compris le moment (dans
uuidV7), qui a classifié et dans quel rôle. Pas de champdatetimeséparé.
Levier de risque - ce qui est aujourd'hui bon marché (cheap) et devient demain conforme à l'audit
Levier de risque : des faits saisis aujourd'hui à coût minimal (minutes, voire des instants par des « agents ») deviennent de futures preuves conformes à l'audit (des heures de contrôle). L'entrepreneur « soulève » une position de charge de la preuve - la conformité comme levier.
| Aujourd'hui (bon marché, ~minutes/secondes) | Demain (conforme à l'audit, ~heures de contrôle) | Risque réduit |
|---|---|---|
| Entrée de journal JSON avec V7GUID + SHA-256 | preuve conforme GoBD (10 ans) | violation du délai de conservation |
champ source par fait |
charge de la preuve lors d'un contrôle FA/SV | déclassement de la force probante |
| fichier de vérification des délais | manquement aux délais évité | majorations de retard § 152 AO |
| tag de sphère par entrée | statut d'utilité publique défendu | retrait § 51 AO |
| journal de preuve des heures FZul | attestation BSFZ obtenable | perte FZul (jusqu'à 1 mio EUR) |
sidecar .gc.md par justificatif |
authenticité du justificatif prouvable | contestation de la force probante |
| JSON du temps de travail par jour | conformité ArbZG prouvable | amende § 22 ArbZG |
| bundle Git au lieu de compte cloud | conservation sans coûts de prestataire | perte d'accès GoBD après pause du compte |
git clone au lieu de la réactivation d'une version logicielle |
conservation autonome, aucune dépendance de version | infraction GoBD due à des systèmes anciens non réactivables |
Ce que montre cette série
La série suit un entrepreneur fictif (E1) qui dirige une organisation
KMU (espace réservé, forme juridique ouverte) et tient son journal dans un dépôt Git.
La structure s'inspire d'un concept SSoT réel, mais est
entièrement anonymisée - toutes les données de personnes, d'entreprises, HRB, IBAN et de numéro fiscal sont remplacées par des espaces réservés.
Remarque RGPD : toutes les références aux personnes/entreprises de cette série sont fictives ou anonymisées. Toute ressemblance avec des organisations réelles est fortuite et non intentionnelle.
Aperçu de la série
Grundlagen
ED01–ED04"] II["Teil II
GoBD, AO, Finanzamt
+ Pflichten ab Gewerbeanmeldung
ED05–ED12"] III["Teil III
Behörden & Verbände
ED14–ED20"] IV["Teil IV
Mitarbeiter & Lohn
+ Pflichten ab 1. Mitarbeiter
ED21–ED28"] I --> II --> III --> IV style I fill:#E5E7EB,stroke:#6B7280,color:#0F1B33 style II fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style III fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style IV fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33
Besondere Herausforderungen
FZul/BSFZ, Gemeinnützigkeit
ED29–ED32"] VI["Teil VI
Harness-Anforderungen
ED33–ED36"] VII["Teil VII
Anhang
ED37–ED38"] V --> VI --> VII style V fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style VI fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style VII fill:#E5E7EB,stroke:#6B7280,color:#0F1B33
| Partie | Thème | Articles |
|---|---|---|
| I | Fondamentaux (cet article) | ED01–ED03 |
| II | Gestion d'entreprise : GoBD, AO, administration fiscale + obligations dès l'enregistrement de l'activité (sphères, VBG, forfaits) | ED05–ED11 |
| III | Administrations et associations | ED14–ED20 |
| IV | Salariés et paie + obligations dès le 1er salarié (temps de travail, MiLoG, congés/maladie/BEM) | ED21–ED28 |
| V | Défis particuliers (FZul/BSFZ, utilité publique) | ED29–ED32 |
| VI | Exigences du harness | ED33–ED36 |
| VII | Annexe (glossaire, sources) | ED37–ED38 |
Exigence du harness (aperçu)
Déductible de ED01 :
| ID | Exigence | Priorité |
|---|---|---|
| FA-1.1 | Entrées de journal comme artefacts JSON (Schema-First) | MUST |
| FA-1.2 | Clé composite V7GUID (Class) : uuidV7 (Object) - pas de champ datetime/date séparé ; temps dans uuidV7 (RFC 9562 §5.7) |
MUST |
| FA-1.3 | uuidV7 généré à partir d'une marque temporelle prédéfinie (pas now()) via le helper |
MUST |
| FA-2.1 | SHA-256 comme ID de justificatif | MUST |
| FA-2.2 | obligation de sidecar .gc.md |
MUST |
| FA-4.1 | fichier de vérification des délais | MUST |
| TA-2.1 | pre-commit : validation du schéma JSON | MUST |
La liste complète des exigences se trouve dans Harness-Anforderungen.md.
Sources
- Justificatif de genèse du contrôle SV (anonymisé) :
E1/FY2025/BSFZ/Nachweise/00_BELEG_INVENTAR.mdsection J - GoBD (lettre du BMF du 28.11.2019, BStBl I p. 1269, dernière modification du 14.07.2025, BStBl I p. 1502)
- AO (§§ 146, 147, 152, 162, 370, 379)
- SGB IV (§ 28p - contrôle d'entreprise)
- UStG (§ 14 - facture électronique, § 14b - conservation)
- FAQ du BMF sur la facture électronique (état mars 2026, bundesfinanzministerium.de/Content/DE/FAQ/e-rechnung.html)
- EN 16931 (série de normes européennes, CEN/TC 434)
- Directive 2014/55/UE (facture électronique B2G)
- RFC 9562 §5.7 (UUIDv7) - horodatage Unix en ms sur 48 bits
- Spécification V7GUID -
work/OSS/TOP/.gitcover/specs/v7guid/(normative) - DPMA Az. 10 2025 003 091.6 - demande de brevet V7GUID (revendication principale 2, revendications 5–8)
- Outil OSS GitCover
gc-v7guid-work/OSS/gc-v7guid(routines helpergen/decode) - RGPD (obligation d'anonymisation lors de la publication)
Topologie des sources et liens de référence CDN
| Rôle | Lieu | Objet |
|---|---|---|
| Principal / SSoT | git.gitcover.org/GCC | dépôt canonique (signé GPG, versionné) |
| Miroir OSS public / CDN | codeberg.org/gitcover-commons | miroir en lecture seule ; découverte FLOSS |
| Hub communautaire | github.com/gitcover-commons | Issues & Discussions ; référence du code source sur Codeberg |
Remarque : cette attribution des sources, du miroir et du hub communautaire reflète l'état actuel et peut changer. Veuillez vérifier la source canonique respective sous
git.gitcover.org/GCCpour l'état actuel. source canonique sur gitcover.org pour l'état actuel.