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 à venir. Quelles obligations naissent, et quand ? Quels justificatifs faut-il conserver, et combien de temps ? Quels délais risque-t-on de manquer ? Quelles autorités se manifestent, quand, pour quel contrôle ?

La pratique actuelle dans le domaine des PME est marquée par :

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR A["Création
Jour 0"] --> B["Obligations
floues"] B --> C["Aujourd'hui cheap
ignorées"] C --> D["Demain coûteux
amende/retrait"] D --> E["Risque
réalisé"] 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 sécurisés pour les audits - les décisions, délais et références de justificatifs doivent aussi être traçables, reproductibles et auditables. Un journal natif Git fait exactement cela : il transforme des faits saisis aujourd'hui cheap (à bon marché) (une entrée JSON avec V7GUID + référence de justificatif SHA-256) en futurs justificatifs sécurisés pour les audits. La compliance devient un levier, pas un frein.

Compliance by Design : l'« image floue » des risques futurs est atténuée dès le départ par les techniques GitCover (OSCAL, OPA, V7GUID, Git-Hooks), et non seulement lorsque le contrôleur sonnera.

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 d' expériences pratiques concrètes : dernièrement d'un contrôle d'entreprise SV auprès d'une très petite UG (anonymisée ici sous ORG-V pour « organisation précurseur ») portant sur la période 2021–2023 ; réalisé durant 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

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% timeline title Contrôle SV ORG-V - Genèse de l'idée GitCover section 2024 - Contrôle annoncé Fév 2024 : La DRV annonce un contrôle d'entreprise (BP) selon § 28p SGB IV Déc 2024 : Demande de documents (comptes de salaires 2021–2023) Déc 2024 : Envoi en PDF/ZIP par e-mail section 2025 - Contrôle achevé Fév 2025 : La DRV transmet les résultats du contrôle (audition § 24 SGB X) Fév 2025 : Acceptation sans réserves Mars 2025 : Contrôle SV achevé : Idée GitCover née section 2025 - Déductions T1 2025 : Module AuditPrep conçu T2 2025 : R&D intensive T3 2025 : Demandes DPMA V7GUID/GCEP

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 salaires 2021–2023, questionnaire, lettre d'accompagnement)
12/2024 Les documents sont assemblés en PDF/ZIP et envoyés par e-mail
02/2025 La DRV transmet les résultats du contrôle (audition § 24 SGB X, tableau récapitulatif global, annexes HEK/Minijob-Zentrale)
02/2025 Acceptation sans réserves ; demande de remboursement déposée auprès de la KK
03/2025 Contrôle SV achevé - idée GitCover née

Résultat financier (net)

Poste Montant
Remboursement des cotisations U1 versées en trop +121 EUR
Récupération des cotisations forfaitaires KV −30 EUR
Remboursement net +91 EUR
Coûts du prestataire >100 EUR
Effort plusieurs jours d'assemblage manuel

Points de douleur - ce que le contrôle a révélé

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P1["Pas de bureau/fax/employé
Contrôle uniquement par e-mail"] P2["Authenticité des justificatifs incertaine
PDF sans ancrage cryptographique"] P3["Pas de chaîne de preuves
Comptes de salaires/SV/remboursement à des endroits différents"] P4["Délais ad hoc
gérés manuellement dans le calendrier"] P5["Export d'audit manquant
euBP/eXTra, Z3 uniquement avec logiciel spécialisé"] P6["Compte de paie suspendu
après le départ de l'employé
Coûts supplémentaires > remboursement"] P7["Anciennes sauvegardes
ancien état du logiciel
Exigence GoBD violée"] P1 --> G["Idée GitCover
née"] P2 --> G P3 --> G P4 --> G P5 --> G P6 --> G P7 --> G G --> S["Solutions GitCover
SHA-256+V7GUID, Hooks, contrôle des délais
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
  1. Pas de bureau, pas de fax, pas d'employé - et pourtant il a fallu mener un contrôle d'entreprise uniquement par e-mail avec des fichiers PDF et ZIP. Les outils n'existaient pas pour ce cas minimal.
  2. Authenticité des justificatifs incertaine - les PDF par e-mail n'ont aucun ancrage cryptographique. Qui a modifié quoi, quand ? La force probante n'était assurée que par une traçabilité manuelle.
  3. Pas de chaîne de preuves continue - comptes de salaires, déclarations SV, justificatifs de cotisations et justificatifs de remboursement se trouvaient à des endroits différents, sans renvois croisés. Chaque demande complémentaire exigeait de nouvelles recherches.
  4. Gestion des délais ad hoc - délais d'audition, délais de remboursement, délais d'opposition étaient gérés manuellement dans le calendrier. Aucune alerte en cas d'échéance imminente.
  5. Export d'audit manquant - la DRV exigeait les données au format euBP (eXTra V3.4.0) ; l'administration fiscale aurait exigé un support de données Z3. Les deux n'étaient possibles qu'avec un logiciel spécialisé ou une préparation manuelle.
  6. Départ de l'employé → compte de paie suspendu - après le départ de l'employé d'alors, le compte de décompte de paie auprès du prestataire a été suspendu. Qui maintient inutilement, en générant des coûts, un compte cloud alors que la raison n'existe plus (employé parti, plus aucun décompte nécessaire) ? Mais l'assemblage du paquet de documents pour le contrôle a alors entraîné des coûts supplémentaires auprès du prestataire, qui se sont avérés à la fin plus élevés que le petit « remboursement » à la fin du contrôle.
  7. Réactivation d'anciennes sauvegardes avec un ancien état du logiciel - pour rendre à nouveau accessibles les comptes de salaires 2021–2023, il a fallu réactiver les anciennes sauvegardes avec l'ancien état du logiciel - un problème pratique considérable. C'est formellement une violation de l'exigence GoBD, qui exige aussi de garantir techniquement que l'accès reste possible pendant toute la longue durée de conservation (10 ans). En pratique, cette obligation entre en conflit avec la pression économique de ne pas maintenir, en générant des coûts, des comptes cloud inutilisés. C'est précisément cette tension qui constitue une motivation centrale de GitCover : les Git-Bundles sont self-contained - ils n'exigent ni comptes cloud, ni contrats de prestataires, ni versions de logiciels. Un git clone suffit, et le délai de conservation est techniquement rempli.

Bases juridiques : AO § 146, § 147 et GoBD

La « violation de l'exigence GoBD » évoquée au point 7 a une base juridique claire - dans la Abgabenordnung (AO) et dans les GoBD (principes régissant la tenue et la conservation réglementaires des livres, enregistrements et documents sous forme électronique ainsi que l'accès aux données, courrier BMF).

AO § 146 Abs. 5 - Disponibilité pendant le délai de conservation

« Lors de la tenue des livres et des autres enregistrements requis sur des supports de données, il doit notamment être garanti que pendant toute la durée du délai de conservation, les données sont disponibles à tout moment et peuvent être rendues lisibles sans délai. »

C'est la disposition centrale : quiconque comptabilise électroniquement doit garantir, pendant toute la durée du délai de conservation (10 ans pour les livres/enregistrements, 8 ans pour les justificatifs comptables, § 147 Abs. 3 AO), que les données sont disponibles à tout moment et lisibles sans délai. Un compte cloud suspendu, 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 comptes annuels [...] les documents énumérés au paragraphe 1 peuvent également être conservés sous forme de reproduction sur un support d'image ou sur d'autres supports de données, à condition que cela soit conforme aux principes d'une comptabilité régulière et qu'il soit garanti que la reproduction ou les données [...] soient, pendant toute la durée du délai de conservation, disponibles à tout moment, rendues lisibles sans délai et exploitables automatiquement. »

Encore : « disponible à tout moment », « lisible sans délai », « exploitable automatiquement ». Une ancienne version de logiciel, qui doit d'abord être réactivée, ne satisfait pas « sans délai ».

AO § 147 Abs. 5 - Moyens auxiliaires aux frais du contribuable

« Quiconque présente des documents à conserver sous forme de reproduction sur un support d'image ou sur d'autres supports de données est tenu de mettre à disposition, à ses frais, les moyens auxiliaires nécessaires pour rendre les documents lisibles. »

Cela signifie : si le prestataire ne maintient plus l'ancien système, l'entrepreneur doit fournir lui-même les moyens auxiliaires (logiciel, licences, matériel) pour rendre les données lisibles. C'est exactement le problème pratique du cas de genèse : anciennes sauvegardes, ancien état du logiciel, plus aucun moyen auxiliaire disponible.

AO § 147 Abs. 6 - Accès aux données lors du contrôle externe

« Si les documents visés au paragraphe 1 ont été établis à l'aide d'un système de traitement de données, l'administration financière peut, dans le cadre d'un contrôle externe [...], exiger que les données soient mises à disposition sous une forme exploitable automatiquement, selon ses spécifications. »

Lors d'un contrôle externe, l'entrepreneur doit mettre les données à disposition sous forme exploitable automatiquement - non pas comme impression PDF, mais comme données structurées. Un compte cloud suspendu 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 :

Conséquences théoriques en cas de violation

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR V["Violation de
AO § 146/147 + GoBD"] V --> K1["Majoration pour retard
§ 152 AO
jusqu'à 25 000 EUR"] V --> K2["Évaluation d'office
§ 162 AO
en cas de données non exploitables"] V --> K3["Amende pour retardement
§ 146 Abs. 2c AO
2 500–250 000 EUR"] V --> K4["Renversement de la charge de la preuve
l'administration fiscale évalue, l'entrepreneur
doit réfuter"] V --> K5["Infraction administrative
§ 379 AO
amende jusqu'à 50 000 EUR"] V --> K6["Procédure pénale fiscale
§ 370 AO
en cas de minorer intentionnelle de l'impôt"] 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 pour retard § 152 AO jusqu'à 25 000 EUR (cas individuel)
Évaluation d'office des bases d'imposition § 162 AO l'administration fiscale évalue lorsque les données ne sont pas exploitables - souvent au détriment de l'entrepreneur
Amende pour retardement § 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'évaluation - difficilement possible en l'absence de données
Infraction administrative § 379 AO amende jusqu'à 50 000 EUR (intentionnelle 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 réserves - aucune conséquence n'en a résulté. Mais c'était une chance : si la DRV n'avait pas accepté les données en PDF mais avait insisté sur une exploitation automatique (§ 147 Abs. 6 AO), l'entrepreneur se serait retrouvé en difficulté d'explication. 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 les exigences AO/GoBD by Design :

Exigence AO/GoBD Comment Git la 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 de logiciel nécessaire
« exploitable automatiquement » (§ 147 Abs. 6) JSON-Schema-First - données structurées, pas d'export PDF nécessaire
« moyens auxiliaires aux frais de l'entrepreneur » (§ 147 Abs. 5) Git est OSS, gratuit - pas de coûts de prestataire
Immuabilité (GoBD Rz. 146) Tags, Protected Branches, marquage d'obsolescence
Documentation des procédures (GoBD Rz. 64–91) le repo lui-même est la documentation de procédure - git log montre la procédure
Changement de système/migration (GoBD Rz. 146–150) Git est indépendant des versions - git clone sur chaque 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 transactions 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 si elle permet un traitement électronique (§ 14 Abs. 1 Satz 3 UStG). Un simple document PDF n'y entre plus - depuis 2025, il s'agit d'une « autre facture ».

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P["Facture papier
avant 2025"] --> U["Transition
2025–2027"] PDF["PDF par e-mail
avant 2025 'électronique'"] --> U U --> E["Facture électronique
obligatoire dès 2025
structurée, lisible par machine"] E --> X["XRechnung
basée sur XML
EN 16931"] E --> Z["ZUGFeRD
hybride : PDF + XML
à partir de 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 : pour une facture électronique, c'est la partie structurée (XML) qui constitue le document original au sens de l'AO, et non un éventuel PDF joint ou une image lisible par l'humain. Le BMF le précise (FAQ sur la facture électronique, question 13) :

« Pour une facture électronique, il faut conserver au minimum sa partie structurée de manière à ce qu'elle demeure intacte dans sa forme originale. »

Cela signifie :

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 à ce titre être conservées huit ans (§ 147 Abs. 3 AO). En tant que documents électroniques, les exigences AO/GoBD s'appliquent :

Règles à l'échelle de l'UE : EN 16931 et directive 2014/55/EU

La facture électronique repose sur le droit de l'UE :

Pourquoi Git est idéal pour les factures électroniques

Exigence de facture électronique Comment Git la satisfait
XML comme document original le fichier XML est stocké inchangé dans le repo - git diff ne montre aucune modification
Intact (§ 14b UStG) hachage SHA-256 par commit - toute modification serait visible
Conserver 8 ans (§ 147 Abs. 3) Git-Bundle comme archive self-contained - pas de compte cloud nécessaire
Exploitable automatiquement (§ 147 Abs. 6) le XML est par définition lisible par machine - git grep suffit
Validation EN 16931 le Pre-Commit-Hook peut appeler le validateur XRechnung/ZUGFeRD
Visualisation (BMF FAQ 12a) XML + sidecar Markdown lisible par l'humain - les deux dans le repo
Période transitoire 2025–2027 le repo peut conserver en parallèle les « autres factures » (PDF) et les factures électroniques (XML)

Conseil pratique : un repo Git peut conserver en parallèle des factures électroniques (XML) et des autres factures (PDF) - avec une séparation claire par type de justificatif dans le sidecar (v7g_taxonomy). Le Pre-Commit-Hook vérifie si les factures électroniques ont une structure XML valide (schéma XRechnung/ZUGFeRD). Ainsi, la période transitoire 2025–2027 est franchie sans rupture de support.

Déductions directes dans GitCover

Point de douleur Concept GitCover Article de la série
Authenticité des justificatifs incertaine SHA-256 + V7GUID + sidecar .v7g.md par justificatif ED03, ED08
Pas de chaîne de preuves repo Git avec hooks dédiés fonctionnellement, Grundbuch 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, ED35
Compte de paie suspendu, coûts supplémentaires Git-Bundles self-contained, pas de comptes cloud ED08, ED09
Anciennes sauvegardes/ancien état du logiciel, violation GoBD repo Git comme support de conservation self-contained, git clone suffit ED08, ED09
Qui se cache derrière la société ? Registre de transparence : déterminer les wB, les documenter, les déclarer ED04, ED12, ED17, ED18
Pas d'OSS pour les cas particuliers GitCover couvre FZul/BSFZ, utilité publique, temps de travail, BEM ED25–ED34

Remarque - obligations des micro-entrepreneurs dès le 1er employé : souvent micro-entrepreneurs eux-mêmes, ils sont soumis à de telles obligations dès le 1er employé - 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 à partir du 1er employé ne sont donc pas des thèmes spécifiques aux grandes entreprises, mais touchent précisément les micro- et petites entreprises qui embauchent du personnel pour la première fois. GitCover vise délibérément ce seuil - le passage d'entrepreneur solo à employeur est le moment critique où les obligations de compliance augmentent de manière brutale. Les obligations dès la déclaration d'activité (classement par sphères, dispense VBG, forfaits) sont déjà traitées dans la partie II - elles naissent sans employé.

Pourquoi Git comme support de journal ?

Git est à l'origine un système de gestion de versions - mais il apporte trois propriétés qui le rendent by Design adapté à la compliance :

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR G["Git comme
support de journal"] G --> U["Immuabilité
après validation
(Tags, Protected Branches)"] G --> N["Traçabilité
auteur + horodatage
+ intégrité cryptographique"] G --> D["Décentralisation
Git-Bundles + GCEP
Multi-Site, Off-Site"] U --> GoBD["GoBD Rz. 146
conforme"] N --> Audit["Audit-Ready
reproductible"] D --> Backup["Pas de SPOF
distribué"] 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
  1. Immuabilité après validation - les Tags et Protected Branches garantissent que les entrées de journal validées ne sont pas modifiées a posteriori (GoBD Rz. 146). Les corrections se font sous forme de nouveaux commits avec marquage d'obsolescence.
  2. Traçabilité - chaque commit porte l'auteur, l'horodatage et l'intégrité cryptographique. Tout l'historique est reproductible.
  3. Décentralisation - les Git-Bundles et GCEP (Advisory Locks) permettent un stockage distribué (Multi-Site, sauvegarde Off-Site) sans Single-Point-of-Failure central.

Compliance by Design - les techniques GitCover

La série montre comment les techniques suivantes atténuent l'« image floue » des risques futurs dès le départ :

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD CBD["Compliance by Design"] CBD --> OSCAL["OSCAL
déclarations de compliance
lisibles par machine"] CBD --> OPA["OPA/Rego
Policy as Code
vérification automatisée"] CBD --> V7["V7GUID Uniqueness
IDs uniques
stables dans le temps"] CBD --> HOOKS["Git-Hooks
dédiés fonctionnellement
Pre/Post-Commit"] CBD --> ART["Types d'artefacts de code
JSON-Schema-First
obligation de sidecar"] OSCAL --> ZERT["Maturité de certification
ISO 27001, AI Act, BSI GS++"] OPA --> POLICY["Sphères, délais,
plausibilité des groupes de cotisation"] V7 --> UNIQ["Sans collision,
triable, indépendant du nom de fichier"] HOOKS --> CHECK["Schéma, sphères,
obsolescence vérifiés"] ART --> SIG["Signature temporelle
références de justificatifs SHA-256"] 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

Principe central de la traçabilité temporelle : l'heure de saisie n'est pas un champ séparé, mais est ancrée dans la uuidV7 elle-même, comme horodatage 48 bits selon RFC 9562 §5.7. La uuidV7 est générée à partir d'une marque temporelle prédéfinie (pas now()) via le Helper GitCover (UuidV7Gen), le reste étant complété de manière aléatoire. Ainsi, l'heure de saisie est liée cryptographiquement à l'identité de l'artefact et ne peut être modifiée a posteriori. Une représentation en chaîne datetime/date séparée est redondante et n'est pas maintenue dans les faits - la représentation en chaîne pour DTO/HTMX relève de la responsabilité du Harness.

Référence RFC : la composante d'horodatage 48 bits de la uuidV7 correspond à RFC 9562 §5.7 (UUIDv7) - millisecondes Unix depuis l'Epoch (1970-01-01T00:00:00Z), 48 bits, plage de valeurs 0 … 2⁴⁸−1 (portée jusqu'à environ l'an 10889). La spécification V7GUID est déposée à titre normatif dans work/OSS/TOP/.gitcover/specs/v7guid/ ; la demande de brevet associée est DPMA Az. 10 2025 003 091.6.

Routines Helper (outils OSS GitCover) : dans work/OSS/TOP/tools/UuidV7Gen/ se trouve un Helper OSS qui fournit deux opérations centrales :

  • gen - génère une uuidV7 via Guid.CreateVersion7() (.NET) (avec marque temporelle prédéfinie au besoin, pas seulement now()) et renvoie le label, l'UUID et l'horodatage ISO décodé.
  • decode - extrait la composante d'horodatage 48 bits d'une uuidV7 donnée et la renvoie comme horodatage ISO-8601.

Ces Helper sont décisifs pour créer, à partir de clés externes (p. ex. une marque temporelle dans les données ou dans le nom de fichier), une clé uuidV7 valide - tout en documentant les exigences temporelles de la GoBD (saisie en temps utile, traçabilité). La valeur 48 bits est l'unique facteur de la dérivation de la TenantId et peut être, au lieu de l'heure système, un moment explicitement prédéfini (p. ex. issu 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 (.v7g.md) : chaque sidecar porte une Composite Key V7GUID:uuidV7 :

  • V7GUID (Class Identifier) - classe le sidecar selon la Registry .gitcover (quoi/quel type)
  • uuidV7 (Object ID) - identité du sidecar lui-même, générée avec marque temporelle prédéfinie/horodatage 48 bits ancré dans la GUID
  • v7g_taxonomy[].v7guid - Object ID du document classé

Ainsi, non seulement le document est identifié de manière unique, mais aussi l'acte de classification lui-même - y compris le moment (dans uuidV7), qui a classé et dans quel rôle. Pas de champ datetime séparé.

Risiko-Leverage - ce qui est aujourd'hui à bon marché (cheap) et devient demain sécurisé pour les audits

Risiko-Leverage : les faits saisis aujourd'hui à coût minimal (minutes, voire de simples instants par des « agents ») deviennent de futurs justificatifs sécurisés pour les audits (heures de contrôle). L'entrepreneur « lève » une position de charge de la preuve - la compliance comme levier.

Aujourd'hui (cheap, ~minutes/secondes) Demain (sécurisé pour les audits, ~heures de contrôle) Risque atténué
Entrée de journal JSON avec V7GUID + SHA-256 Justificatif conforme GoBD (10 ans) Violation du délai de conservation
Champ source par fait Charge de la preuve lors d'un contrôle fiscal/SV Déclassement de la valeur probante
Fichier de contrôle des délais Omission de délai évitée Majorations pour retard § 152 AO
Tag de sphère par entrée Statut d'utilité publique défendu Retrait § 51 AO
Journal de preuve d'heures FZul Certificat BSFZ obtenable Perte de la FZul (jusqu'à 1 million EUR)
Sidecar .v7g.md par justificatif Authenticité du justificatif démontrable Contestation de la force probante
JSON de temps de travail par jour Conformité ArbZG démontrable Amende § 22 ArbZG
Git-Bundle au lieu d'un compte cloud Conservation sans coûts de prestataire Perte d'accès GoBD après suspension du compte
git clone au lieu d'une réactivation de l'ancien état du logiciel Conservation self-contained, aucune dépendance de version Violation GoBD due à d'anciens systèmes 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 repo 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, numéros fiscaux sont remplacées par des espaces réservés.

Remarque DSGVO : toutes les références à des personnes/entreprises dans 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

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR I["Partie I
Fondamentaux
ED01–ED04"] II["Partie II
GoBD, AO, administration fiscale
+ obligations dès la déclaration d'activité
ED05–ED12"] III["Partie III
Autorités & associations
ED13–ED19"] IV["Partie IV
Personnel & paie
+ obligations dès le 1er employé
ED20–ED27"] 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
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR V["Partie V
Défis particuliers
FZul/BSFZ, utilité publique
ED28–ED31"] VI["Partie VI
Exigences Harness
ED32–ED35"] VII["Partie VII
Annexe
ED36–ED37"] 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 la déclaration d'activité (sphères, VBG, forfaits) ED05–ED11
III Autorités & associations ED13–ED19
IV Personnel & paie + obligations dès le 1er employé (temps de travail, MiLoG, congés/maladie/BEM) ED20–ED27
V Défis particuliers (FZul/BSFZ, utilité publique) ED28–ED31
VI Exigences Harness ED32–ED35
VII Annexe (glossaire, sources) ED36–ED37

Exigence 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 Composite Key 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ée à partir d'une marque temporelle prédéfinie (pas now()) via Helper MUST
FA-2.1 SHA-256 comme ID de justificatif MUST
FA-2.2 Obligation de sidecar .v7g.md MUST
FA-4.1 Fichier de contrôle des délais MUST
TA-2.1 Pre-Commit : validation JSON-Schema MUST

La liste complète des exigences dans Harness-Anforderungen.md.

Sources

Topologie des sources et liens de référence CDN

Rôle Lieu But
Primary / SSoT git.gitcover.org/GCC Dépôt canonique (signé GPG, versionné)
Public OSS Mirror / CDN codeberg.org/gitcover-commons Miroir en lecture seule ; FLOSS-Discovery
Community Hub github.com/gitcover-commons Issues & Discussions ; référence du code source sur Codeberg

Remarque : cette répartition entre sources, miroir et Community Hub reflète l'état actuel et peut changer. Veuillez vérifier la source canonique respective sous git.gitcover.org/GCC pour l'état actuel. source canonique sur gitcover.org pour l'état actuel.