ED01 - Motivación: Por qué un empresario lleva su diario en Git

Problema

Un empresario funda una organización y se enfrenta a una imagen poco clara de los riesgos que surgirán en el futuro. ¿Qué obligaciones surgen y cuándo? ¿Qué comprobantes deben conservarse y durante cuánto tiempo? ¿Qué plazos se corre el riesgo de incumplir? ¿Qué autoridades se anuncian, cuándo y para qué inspección?

La práctica actual en el ámbito de las KMU se caracteriza por:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR A["Gründung
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

Afirmación central

No solo los documentos deben ser a prueba de auditoría; también las decisiones, los plazos y las referencias de comprobantes deben ser trazables, reproducibles y auditables. Un diario nativo de Git hace exactamente eso: convierte hechos registrados hoy de forma barata (cheap) (una entrada JSON con V7GUID + referencia de comprobante SHA-256) en futuras pruebas a prueba de auditoría. El cumplimiento se convierte en palanca, no en freno.

Compliance by Design: la "imagen poco clara" de los riesgos futuros se mitiga mediante técnicas GitCover (OSCAL, OPA, V7GUID, Git-Hooks) desde el principio, no solo cuando el auditor llama a la puerta.

El diario como agenda de trabajo empresarial

El diario no es un cuaderno privado ni un calendario de tiempo de trabajo llevado a posteriori. Es la SSoT temporal del trabajo: la agenda muestra qué prestación, decisión o aclaración surgió y cuándo, y a qué comprobante, contrato o expediente se remonta. Así, una misma prueba de trabajo puede servir a distintos objetivos sin construir una historia nueva para cada inspección:

La regla es sencilla: el diario describe la agenda; los repositorios conservan la prueba. Un agente solo puede derivar del diario lo que sostienen los documentos originales vinculados y los sidecars. Así, el cumplimiento no se trata como trabajo adicional posterior, sino como un flujo de trabajo normal.

Génesis: La inspección de la seguridad social como desencadenante práctico

La idea de GitCover no nació en una torre de marfil, sino de experiencias prácticas concretas: la última, de una inspección de la seguridad social en una UG mínima (aquí anonimizada como ORG-V por "organización predecesora") para el periodo 2021–2023; realizada en el periodo 02/2024–03/2025. La inspección reveló puntos de dolor que abordan las técnicas GitCover.

Cronología de la inspección SV

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% timeline title SV-Prüfung ORG-V - Genese der GitCover-Idee section 2024 - Prüfung angekündigt Feb 2024 : DRV kündigt BP nach § 28p SGB IV an Dez 2024 : Unterlagen-Anforderung (Lohnkonten 2021–2023) Dez 2024 : Versand als PDF/ZIP per E-Mail section 2025 - Prüfung abgeschlossen Feb 2025 : DRV übermittelt Prüfergebnisse (Anhörung § 24 SGB X) Feb 2025 : Akzeptanz ohne Einwände Mär 2025 : SV-Prüfung abgeschlossen : GitCover-Idee geboren section 2025 - Ableitungen Q1 2025 : AuditPrep-Modul konzipiert Q2 2025 : Intensive F&E Q3 2025 : V7GUID/GCEP DPMA-Anmeldungen

¿Qué ocurrió?

Fecha Evento Estado
02/2024 DRV anuncia inspección de la seguridad social según § 28p SGB IV ⏳
12/2024 DRV solicita documentación de inspección (cuentas de nómina 2021–2023, cuestionario, carta de acompañamiento) ⏳
12/2024 La documentación se arma como PDF/ZIP y se envía por correo electrónico ✅
02/2025 DRV remite los resultados de la inspección (audiencia § 24 SGB X, hoja de totales, anexos HEK/Minijob-Zentrale) ✅
02/2025 Aceptación sin objeciones; solicitud de reembolso presentada ante la KK ✅
03/2025 Inspección SV finalizada; nace la idea de GitCover ✅

Resultado financiero (neto)

Posición Importe
Reembolso de cotizaciones U1 pagadas en exceso +121 EUR
Reclamación adicional de cotizaciones a tanto alzado KV −30 EUR
Reembolso neto +91 EUR
Costes del proveedor de servicios >100 EUR
Esfuerzo varios días de recopilación manual

Puntos de dolor: lo que reveló la inspección

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P1["Kein Büro/Fax/Mitarbeiter
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
  1. Sin oficina, sin fax, sin empleados, y aun así tener que tramitar una inspección de la seguridad social exclusivamente por correo electrónico con archivos PDF y ZIP. Las herramientas no existían para este caso mínimo.
  2. Autenticidad de los comprobantes poco clara: los PDF enviados por correo electrónico no tienen anclaje criptográfico. ¿Quién cambió qué y cuándo? La fuerza probatoria solo se sostenía mediante trazabilidad manual.
  3. Sin cadena de prueba continua: las cuentas de nómina, las declaraciones a la seguridad social, los justificantes de cotización y los comprobantes de reembolso estaban en lugares distintos, sin referencias cruzadas. Cada consulta exigía una nueva búsqueda.
  4. Gestión de plazos ad hoc: los plazos de audiencia, de reembolso y de recurso se mantenían manualmente en el calendario. Sin aviso ante el vencimiento inminente.
  5. Faltaba la exportación para auditoría: la DRV exigía datos en formato euBP (eXTra V3.4.0); la autoridad fiscal habría requerido un soporte de datos Z3. Ambas cosas solo eran posibles con software especializado o preparación manual.
  6. Salida del empleado → cuenta de nóminas en pausa: tras la salida del entonces empleado, la cuenta de liquidación de nóminas en el proveedor de servicios quedó en pausa. ¿Quién mantiene innecesariamente una cuenta en la nube generando costes cuando el motivo ya no existe (empleado salido, no hacen falta más liquidaciones)? Sin embargo, la preparación del paquete de documentos para la inspección exigió entonces costes adicionales extraordinarios en el proveedor de servicios, que al final fueron superiores al pequeño "reembolso" al término de la inspección.
  7. Reactivación de copias de seguridad antiguas con una versión de software antigua: para volver a hacer accesibles las cuentas de nómina 2021–2023, hubo que reactivar las copias de seguridad antiguas con la versión de software antigua, un problema práctico considerable. Formalmente, esto es una infracción de la obligación GoBD de garantizar también técnicamente que se pueda acceder en todo momento durante el largo plazo de conservación (10 años). En la práctica, esta obligación entra en conflicto con la presión económica de no mantener cuentas en la nube sin uso generando costes. Precisamente esta tensión es un motivo central de GitCover: los Git-Bundles son autocontenidos; no necesitan cuentas en la nube, ni contratos con proveedores de servicios, ni versiones de software. Basta un git clone, y el plazo de conservación queda cumplido técnicamente.

Fundamentos jurídicos: AO § 146, § 147 y GoBD

La "infracción de la obligación GoBD" mencionada en el punto 7 tiene una base jurídica clara: en la Abgabenordnung (AO) y en los GoBD (principios para el llevado y conservación ordenados de libros, registros y documentos en forma electrónica, así como para el acceso a los datos, escrito del BMF).

AO § 146 Abs. 5 - Disponibilidad durante el plazo de conservación

"Al llevar los libros y los demás registros necesarios en soportes de datos, debe garantizarse en particular que durante todo el plazo de conservación los datos estén disponibles en todo momento y puedan hacerse legibles sin demora."

Esta es la norma central: quien contabiliza electrónicamente debe garantizar durante todo el plazo de conservación (10 años para libros/registros, 8 años para comprobantes de contabilización, § 147 Abs. 3 AO) que los datos estén disponibles en todo momento y legibles sin demora. Una cuenta en la nube en pausa que solo se reactiva pagando costes adicionales infringe esta obligación: los datos no están "disponibles en todo momento", sino solo mediante pago y con retraso.

AO § 147 Abs. 2 - Conservación en soportes de datos

"Con excepción de los balances anuales [...] los documentos enumerados en el apartado 1 también pueden conservarse como reproducción en un soporte de imagen o en otros soportes de datos, si ello corresponde a los principios de una contabilidad ordenada y está garantizado que la reproducción o los datos [...] están disponibles en todo momento, pueden hacerse legibles sin demora y pueden evaluarse por medios automáticos durante todo el plazo de conservación."

De nuevo: "disponibles en todo momento", "legibles sin demora", "evaluables por medios automáticos". Una versión antigua de software que primero debe reactivarse no cumple "sin demora".

AO § 147 Abs. 5 - Medios auxiliares a cargo del obligado tributario

"Quien presente documentos que deban conservarse en forma de reproducción en un soporte de imagen o en otros soportes de datos está obligado a poner a su costa los medios auxiliares necesarios para hacer legibles los documentos."

Esto significa que, si el proveedor de servicios ya no mantiene el sistema antiguo, el empresario debe proporcionar él mismo los medios auxiliares (software, licencias, hardware) para hacer legibles los datos. Ese fue exactamente el problema práctico en el caso de génesis: copias de seguridad antiguas, versión de software antigua, medios auxiliares ya no disponibles.

AO § 147 Abs. 6 - Acceso a los datos en la inspección tributaria

"Si los documentos del apartado 1 se han creado con ayuda de un sistema de procesamiento de datos, la autoridad financiera puede exigir, en el marco de una inspección tributaria [...], que los datos se pongan a disposición para su evaluación automática conforme a sus especificaciones."

En una inspección tributaria, el empresario debe poner los datos a disposición de forma que puedan evaluarse automáticamente, no como impresión PDF, sino como datos estructurados. Una cuenta en la nube en pausa que solo ofrece exportación a PDF no basta.

GoBD - Documentación del procedimiento y cambio de sistema

Los GoBD concretan estas disposiciones de la AO para sistemas electrónicos. Requisitos centrales:

Consecuencias teóricas en caso de infracción

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR V["Verstoß gegen
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
Consecuencia Base jurídica Importe/riesgo
Recargo por presentación tardía § 152 AO hasta 25.000 EUR (caso individual)
Estimación de las bases imponibles § 162 AO la autoridad fiscal estima cuando los datos no son utilizables, a menudo en perjuicio del empresario
Multa coercitiva § 146 Abs. 2c AO 2.500–250.000 EUR (en caso de externalización sin autorización)
Inversión de la carga de la prueba § 162 AO, § 90 AO el empresario debe refutar la estimación; con datos faltantes, apenas posible
Infracción administrativa § 379 AO multa de hasta 50.000 EUR (dolosa o negligente)
Procedimiento penal fiscal § 370 AO pena de prisión de hasta 5 años (en caso de evasión fiscal dolosa)

Clasificación práctica: en el caso de génesis, la inspección SV se aceptó sin objeciones y no hubo consecuencias. Pero eso fue suerte: si la DRV no hubiera aceptado los datos como PDF y hubiera insistido en una evaluación automática (§ 147 Abs. 6 AO), el empresario se habría visto en apuros para explicar. La conservación conforme a GoBD no es una obligación teórica: se vuelve real en cada inspección tributaria.

Por qué Git resuelve el problema

Git cumple los requisitos AO/GoBD by Design:

Requisito AO/GoBD Cómo lo cumple Git
"disponible en todo momento" (§ 146 Abs. 5) git clone posible en todo momento: sin cuenta en la nube, sin licencia
"legible sin demora" (§ 147 Abs. 2) archivos de texto claro (Markdown, JSON): no se necesita versión de software
"evaluable automáticamente" (§ 147 Abs. 6) esquema JSON primero: datos estructurados, sin necesidad de exportación PDF
"medios auxiliares a cargo del empresario" (§ 147 Abs. 5) Git es OSS y gratuito: sin costes de proveedor de servicios
Inmutabilidad (GoBD Rz. 146) Tags, Protected Branches, marcado de obsolescencia
Documentación del procedimiento (GoBD Rz. 64–91) el propio repositorio es la documentación del procedimiento: git log muestra el procedimiento
Cambio de sistema/migración (GoBD Rz. 146–150) Git es independiente de la versión: git clone en cualquier sistema

Factura electrónica: los formatos XML son documentos originales en la AO

Desde el 1 de enero de 2025, la factura electrónica es obligatoria para operaciones entre empresas nacionales (§ 14 UStG, Ley de oportunidades de crecimiento). Solo existe factura electrónica cuando se emite, transmite y recibe en un formato electrónico estructurado y permite el procesamiento electrónico (§ 14 Abs. 1 Satz 3 UStG). Un simple documento PDF ya no se incluye en esta categoría: desde 2025 es una "otra factura".

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P["Papierrechnung
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

El XML es el documento original, no el PDF

El punto decisivo para la conservación: en una factura electrónica, la parte estructurada (XML) es el documento original en el sentido de la AO, no un PDF que eventualmente se adjunte ni una imagen legible por personas. El BMF lo aclara (FAQ sobre la factura electrónica, pregunta 13):

"En una factura electrónica, al menos su parte estructurada debe conservarse de modo que esté intacta en su forma original."

Esto significa:

AO § 147 - La factura electrónica como comprobante de contabilización

Las facturas electrónicas son comprobantes de contabilización en el sentido del § 147 Abs. 1 Nr. 4 AO y, por tanto, deben conservarse ocho años (§ 147 Abs. 3 AO). Como documentos electrónicos, se aplican los requisitos AO/GoBD:

Normas de la UE: EN 16931 y Directiva 2014/55/EU

La factura electrónica se basa en derecho de la UE:

Por qué Git es ideal para facturas electrónicas

Requisito de factura electrónica Cómo lo cumple Git
XML como documento original el archivo XML se guarda sin modificar en el repositorio: git diff no muestra cambios
Intacta (§ 14b UStG) hash SHA-256 por commit: cualquier cambio sería visible
Conservar 8 años (§ 147 Abs. 3) Git-Bundle como archivo autocontenido: sin necesidad de cuenta en la nube
Evaluable automáticamente (§ 147 Abs. 6) el XML es legible por máquina por definición: basta git grep
Validación EN 16931 el hook de pre-commit puede invocar el validador de XRechnung/ZUGFeRD
Visualización (FAQ del BMF 12a) XML + sidecar Markdown legible por personas: ambos en el repositorio
Periodo transitorio 2025–2027 el repositorio puede conservar en paralelo tanto "otras facturas" (PDF) como facturas electrónicas (XML)

Consejo práctico: un repositorio Git puede conservar en paralelo facturas electrónicas (XML) y otras facturas (PDF), con una separación clara por tipo de comprobante en el sidecar (v7g_taxonomy). El hook de pre-commit comprueba si las facturas electrónicas tienen una estructura XML válida (esquema XRechnung/ZUGFeRD). Así se supera el periodo transitorio 2025–2027 sin ruptura de medio.

Derivaciones directas en GitCover

Punto de dolor Concepto GitCover Artículo de la serie
Autenticidad de comprobantes poco clara SHA-256 + V7GUID + sidecar .gc.md por comprobante ED03, ED08
Sin cadena de prueba repositorio Git con hooks funcionalmente dedicados, libro de registro como JSON ED06, ED07
Plazos ad hoc checks/FRISTEN_CHECK.md + aviso automático ED09
Falta de exportación para auditoría GoBDExport (Z3), EuBPExport (eXTra), Evidence-Packages ED08, ED36
Cuenta de nóminas en pausa, costes extraordinarios Git-Bundles autocontenidos, sin cuentas en la nube ED08, ED09
Copias de seguridad antiguas/versión de software antigua, infracción GoBD repositorio Git como medio de conservación autocontenido; basta git clone ED08, ED09
¿Quién está detrás de la sociedad? Registro de transparencia: determinar, documentar y comunicar el beneficiario efectivo (wB) ED04, ED12, ED18, ED19
Sin OSS para casos especiales GitCover cubre FZul/BSFZ, utilidad pública, tiempo de trabajo, BEM ED25–ED34

Aviso: obligaciones de microempresarios a partir de 1 empleado: a menudo, incluso los microempresarios ya están sujetos desde el 1 empleado a obligaciones como el registro del tiempo de trabajo (ArbZG), la documentación del salario mínimo (MiLoG), vacaciones/enfermedad/BEM (BUrlG/EFZG/SGB IX) y la afiliación a la seguridad social (SGB IV). Por tanto, las obligaciones tratadas en la Parte IV a partir de 1 empleado no son temas especiales de grandes empresas, sino que afectan precisamente a microempresas y pequeñas empresas que contratan personal por primera vez. GitCover se dirige conscientemente a ese umbral: la transición de empresario individual a empleador es el momento crítico en el que las obligaciones de cumplimiento aumentan de golpe. Las obligaciones desde el alta de la actividad (clasificación de esferas, exención VBG, importes a tanto alzado) ya se tratan en la Parte II; surgen sin empleados.

¿Por qué Git como medio de diario?

Git es originalmente un sistema de control de versiones, pero aporta tres propiedades que lo hacen by Design adecuado para el cumplimiento:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR G["Git als
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
  1. Inmutabilidad tras la aprobación: los tags y las protected branches garantizan que las entradas de diario aprobadas no se modifiquen a posteriori (GoBD Rz. 146). Las correcciones se realizan como nuevos commits con marcado de obsolescencia.
  2. Trazabilidad: cada commit lleva autor, marca de tiempo e integridad criptográfica. Toda la historia es reproducible.
  3. Descentralización: los Git-Bundles y GCEP (Advisory Locks) permiten un almacenamiento distribuido (multi-site, copia de seguridad off-site) sin un único punto de fallo central.

Compliance by Design: las técnicas GitCover

La serie muestra cómo las siguientes técnicas mitigan la "imagen poco clara" de los riesgos futuros desde el principio:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD CBD["Compliance by Design"] CBD --> OSCAL["OSCAL
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

Principio central de la trazabilidad temporal: el momento de registro no es un campo separado, sino que está anclado en la propia uuidV7, como marca de tiempo de 48 bits según RFC 9562 §5.7. La uuidV7 se genera a partir de una marca de tiempo predefinida (no now()) mediante el helper de GitCover (gc-v7guid), y el resto se rellena con aleatoriedad. Así, el momento de registro queda vinculado criptográficamente a la identidad del artefacto y no puede modificarse a posteriori. Una representación separada de datetime/date como cadena es redundante y no se incluye en los hechos; la representación como cadena para DTO/HTMX es responsabilidad del harness.

Referencia RFC: el componente de marca de tiempo de 48 bits de la uuidV7 corresponde a RFC 9562 §5.7 (UUIDv7): milisegundos Unix desde la época (1970-01-01T00:00:00Z), 48 bits, rango de valores 0 … 2⁴⁸−1 (alcance hasta aproximadamente el año 10889). La especificación V7GUID está depositada de forma normativa en work/OSS/TOP/.gitcover/specs/v7guid/; la solicitud de patente correspondiente es DPMA Az. 10 2025 003 091.6.

Rutinas auxiliares (GitCover OSS Tools): en work/OSS/gc-v7guid hay un helper OSS que proporciona dos operaciones centrales:

  • gen: genera una uuidV7 mediante Guid.CreateVersion7() (.NET) (con marca de tiempo predefinida cuando sea necesario, no solo now()) y devuelve etiqueta, UUID y la marca de tiempo ISO decodificada.
  • decode: extrae el componente de marca de tiempo de 48 bits de una uuidV7 dada y lo devuelve como marca de tiempo ISO-8601.

Estos helpers son decisivos para crear una clave uuidV7 válida a partir de claves externas (p. ej., una marca de tiempo en los datos o en el nombre del archivo) y, al mismo tiempo, documentar los requisitos temporales de GoBD (registro oportuno, trazabilidad). El valor de 48 bits es el único factor de la derivación de TenantId y, en lugar de la hora del sistema, también puede ser un momento explícitamente predefinido (p. ej., a partir de una marca de tiempo de un certificado ELSTER, la fecha de un recibo con TSE, etc.); la interpretación sigue la documentación del procedimiento.

Principio de sidecar (.gc.md): cada sidecar lleva una clave compuesta V7GUID:uuidV7:

  • V7GUID (Class Identifier): clasifica el sidecar según el registro .gitcover (qué/tipo)
  • uuidV7 (Object ID): identidad del propio sidecar, generada con marca de tiempo predefinida/marca de tiempo de 48 bits anclada en el GUID
  • v7g_taxonomy[].v7guid: Object ID del documento clasificado
  • sha256: identidad del documento original clasificado, la prueba de originalidad, siempre y en todas partes (incluso cuando el documento se desplaza: independiente de ruta/nombre, calculada a partir del contenido)

Así no solo queda identificado unívocamente el documento (mediante su SHA-256), sino también el acto de clasificación mismo, incluido el momento (en uuidV7), quién clasificó y en qué rol. Sin campo datetime separado.

Apalancamiento de riesgo: lo que hoy es barato (cheap) y mañana será a prueba de auditoría

Apalancamiento de riesgo: los hechos registrados hoy con costes mínimos (minutos, con 'agentes' solo instantes) se convierten en futuras pruebas a prueba de auditoría (horas de revisión). El empresario "eleva" una posición de carga de la prueba: el cumplimiento como palanca.

Hoy (barato, ~minutos/segundos) Mañana (a prueba de auditoría, ~horas de revisión) Riesgo mitigado
Entrada de diario JSON con V7GUID + SHA-256 prueba conforme a GoBD (10 años) infracción del plazo de conservación
campo source por hecho carga de la prueba en inspección FA/SV degradación del valor probatorio
archivo de control de plazos incumplimiento de plazos evitado recargos por presentación tardía § 152 AO
etiqueta de esfera por entrada estatus de utilidad pública defendido revocación § 51 AO
diario de registro horario FZul certificado BSFZ obtenible pérdida de FZul (hasta 1 millón EUR)
sidecar .gc.md por comprobante autenticidad del comprobante demostrable impugnación de la fuerza probatoria
JSON de tiempo de trabajo por día conformidad con ArbZG demostrable multa § 22 ArbZG
Git-Bundle en lugar de cuenta en la nube conservación sin costes de proveedor pérdida de acceso GoBD tras pausa de cuenta
git clone en lugar de reactivación de versión de software conservación autocontenida, sin dependencia de versión infracción GoBD por sistemas antiguos no reactivables

Qué muestra esta serie

La serie sigue a un empresario ficticio (E1) que dirige una organización KMU (marcador de posición, de forma jurídica abierta) y lleva su diario en un repositorio Git. La estructura se inspira en un concepto real de SSoT, pero está completamente anonimizada: todos los datos de personas, empresas, HRB, IBAN y números fiscales se sustituyen por marcadores de posición.

Aviso RGPD: todas las referencias a personas y empresas en esta serie son ficticias o están anonimizadas. Cualquier parecido con organizaciones reales es casual y no intencionado.

Vista previa de la serie

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR I["Teil I
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
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR V["Teil V
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
Parte Tema Artículos
I Fundamentos (este artículo) ED01–ED03
II Dirección empresarial: GoBD, AO, autoridad fiscal + obligaciones desde el alta de actividad (esferas, VBG, importes a tanto alzado) ED05–ED11
III Autoridades y asociaciones ED14–ED20
IV Empleados y nóminas + obligaciones desde 1 empleado (tiempo de trabajo, MiLoG, vacaciones/enfermedad/BEM) ED21–ED28
V Desafíos especiales (FZul/BSFZ, utilidad pública) ED29–ED32
VI Requisitos del harness ED33–ED36
VII Anexo (glosario, fuentes) ED37–ED38

Requisito del harness (vista previa)

Derivable de ED01:

ID Requisito Prioridad
FA-1.1 Entradas del diario como artefactos JSON (esquema primero) MUST
FA-1.2 Clave compuesta V7GUID (Class) : uuidV7 (Object): sin campo separado datetime/date; tiempo en uuidV7 (RFC 9562 §5.7) MUST
FA-1.3 uuidV7 generado a partir de una marca de tiempo predefinida (no now()) mediante helper MUST
FA-2.1 SHA-256 como ID de comprobante MUST
FA-2.2 sidecar .gc.md obligatorio MUST
FA-4.1 archivo de control de plazos MUST
TA-2.1 Pre-Commit: validación de esquema JSON MUST

La lista completa de requisitos en Harness-Anforderungen.md.

Fuentes

Topología de fuentes y enlaces de referencia CDN

Rol Ubicación Propósito
Principal / SSoT git.gitcover.org/GCC Almacenamiento canónico (firmado con GPG, versionado)
Espejo público OSS / CDN codeberg.org/gitcover-commons Espejo de solo lectura; descubrimiento FLOSS
Centro comunitario github.com/gitcover-commons Issues & Discussions; referencia de código fuente en Codeberg

Aviso: esta asignación de fuentes, espejo y centro comunitario refleja el estado actual y puede cambiar. Consulte la fuente canónica correspondiente en git.gitcover.org/GCC para conocer el estado actual. fuente canónica en gitcover.org para el estado actual.