ED08 - Thời hạn lưu giữ & Tính bất biến: Git-Hooks, Evidence-Packages

Vấn đề

GoBD và AO yêu cầu lưu giữ lâu dài - nhưng thực tế vấp phải khó khăn trong triển khai:

Thông điệp cốt lõi

Lưu giữ tuân thủ GoBD bằng Git có nghĩa là:

  1. Git-Bundles tự chứa - không cần tài khoản đám mây, giấy phép phần mềm hay nhà cung cấp dịch vụ - chỉ cần git clone
  2. Thời hạn lưu giữ được ghi nhận trong Repo - mỗi artefakt mang thời hạn của nó trong sidecar (obsolescence + ngày hết hạn)
  3. Tính bất biến thông qua Tags và Protected Branches - các phiên bản đã được phê duyệt bất biến về mặt mật mã
  4. Evidence-Packages cho các kỳ kết toán - git bundle + Static-Web (Z3+) cho kiểm tra viên (xem ED05)
  5. Kiểm tra thời hạn dưới dạng artefakt Git - checks/FRISTEN_CHECK.md cảnh báo về các thời hạn sắp đến

Tuân thủ từ thiết kế: Việc lưu giữ không phải là biện pháp bổ sung sau - nó được tạo ra thông qua việc lựa chọn phương tiện. Git-Bundles tự chứa và vượt qua mọi trường hợp khóa tài khoản đám mây, chuyển đổi phiên bản phần mềm hay chấm dứt nhà cung cấp dịch vụ.

Thời hạn lưu giữ theo AO § 147

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD AO["AO § 147
Aufbewahrungsfristen"] AO --> J10["10 Jahre
§ 147 Abs. 1 Nr. 1"] AO --> J8["8 Jahre
§ 147 Abs. 1 Nr. 4"] AO --> J6["6 Jahre
§ 147 Abs. 1 Nr. 2/3/5"] J10 --> D10["Bücher, Aufzeichnungen
Inventare, Jahresabschlüsse
Eröffnungsbilanz
Arbeitsanweisungen"] J8 --> D8["Buchungsbelege
E-Rechnungen (XML)
Lohnbelege"] J6 --> D6["Handels- / Geschäftsbriefe
E-Mails (EML)
Sonstige Unterlagen"] style AO fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style J10 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style J8 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style J6 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style D10 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style D8 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style D6 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Hạn Loại tài liệu Cơ sở pháp lý Ví dụ
10 năm Sổ sách, ghi chép, bảng kê, báo cáo tài chính năm, bảng cân đối kế toán mở kỳ, hướng dẫn công việc § 147 Abs. 1 Nr. 1 AO Sổ cái (JSON), tài liệu quy trình, hệ thống tài khoản
8 năm Chứng từ hạch toán § 147 Abs. 1 Nr. 4 AO Hóa đơn điện tử (XML), bảng lương, thông báo bảo hiểm xã hội
6 năm Thư từ thương mại / giao dịch, tài liệu khác § 147 Abs. 1 Nr. 2/3/5 AO E-Mails (EML), thư từ, ghi chú

Quan trọng - Thời điểm bắt đầu thời hạn: Thời hạn bắt đầu vào kết thúc năm dương lịch, năm mà giao dịch ghi nhận cuối cùng được thực hiện, báo cáo tài chính năm được lập, chứng từ được nhận hoặc việc ghi chép được thực hiện (§ 147 Abs. 4 AO). Một bút toán ngày 15.08.2026 bắt đầu thời hạn vào ngày 31.12.2026 - 10 năm kết thúc vào ngày 31.12.2036.

Tính bất biến thông qua Git

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD B["Buchung
Commit"] B --> H["SHA-256-Hash
des Commits"] H --> T["Tag
(Freigabe-Marker)"] T --> P["Protected Branch
(kein Force-Push)"] P --> U["Unveränderbarkeit
GoBD Rz. 146"] K["Korrektur nötig"] K --> NC["Neuer Commit
+ Obsoleszenz-Markierung"] NC --> O["Original bleibt
nachvollziehbar"] style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style H fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style T fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style P fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style U fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style K fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style NC fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style O fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Cơ chế Tính năng Git Liên quan GoBD
Commit-Hash SHA-256-Hash cho mỗi Commit - mỗi thay đổi tạo ra hash mới Rz. 146 (tính bất biến)
Tags Dấu hiệu bất biến cho các phiên bản đã được phê duyệt Rz. 146 (phê duyệt)
Protected Branches main được bảo vệ, không Force-Push, không Rebase Rz. 146 (không ghi đè lịch sử)
Tính lỗi thời Các bản sửa dưới dạng commit mới với superseded_by Rz. 146 (khả năng truy vết)
GPG-Signatur Commit được ký - có thể chứng minh tính xác thực Rz. 146 (quyền tác giả)

Quan trọng - Lịch sử tuyến tính: Chỉ lịch sử tuyến tính không ghi đè mới tuân thủ GoBD. git rebase, git commit --amend và git push --force trên main bị cấm. Pre-Commit-Hook kiểm tra rằng không có Force-Push nào xảy ra và các bản sửa được thực hiện dưới dạng commit mới với dấu hiệu lỗi thời.

Evidence-Packages cho việc lưu giữ

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD FY["Geschäftsjahr
z. B. FY2026"] FY --> EP["Tenant Evidence Package
(Periodenabschluss)"] EP --> GB["git bundle
self-contained Archiv"] EP --> SW["Static-Web
(Z3+ Browser)"] EP --> MF["Manifest
+ SHA-256-Checksummen"] GB --> USB["USB-Stick
oder Off-Site-Backup"] SW --> USB MF --> USB USB --> PR["Prüfer
git clone oder index.html
offline, ohne IAM"] style FY fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style EP fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style GB fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style SW fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style MF fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style USB fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style PR fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Một Tenant Evidence Package (xem ED05 Z3+) cho một năm kinh doanh chứa:

Thành phần Nội dung Liên quan GoBD
git bundle Toàn bộ Repo (lịch sử, commit, thẻ) § 147 Abs. 6 AO (phương tiện lưu trữ dữ liệu Z3)
Static-Web Website có thể điều hướng bằng trình duyệt (HTML/PDF/JSON) Z3+ (quyền truy cập cho kiểm tra viên mà không cần IAM)
Manifest Tổng kiểm tra SHA-256 cho từng tệp, chỉ mục V7GUID Rz. 146 (tính toàn vẹn)
Verfahrensdoku Được kết xuất dưới dạng HTML Rz. 64–91 (tài liệu quy trình)
Tài liệu DMS Tất cả chứng từ (PDF, XML, EML) § 147 Abs. 1 (lưu giữ)
Hợp đồng Tài liệu xuyên suốt nhiều kỳ § 147 Abs. 1 Nr. 2/3 (thư từ thương mại)

Cách lưu giữ an toàn nhất: Một ổ USB chứa git bundle + Static-Web + Manifest tự chứa, ngoại tuyến, không cần IAM, không cần tài khoản đám mây, không cần giấy phép phần mềm. Nó vượt qua mọi trường hợp chấm dứt nhà cung cấp dịch vụ, chuyển đổi phiên bản phần mềm hoặc khóa tài khoản đám mây. Đây là hình thức lưu giữ tuân thủ GoBD an toàn nhất - vì không có phụ thuộc nào.

Tất nhiên, cần chú ý đến an toàn vật lý của ổ USB (két sắt, bảo vệ chống cháy, bản sao lưu tại địa điểm khác).

Quản lý thời hạn trong Repo

checks/FRISTEN_CHECK.md

# Fristen-Check

## Vorlauf (bis 010926) - PRIO 1

- [ ] 200826: ELSTER-Organisationszertifikat anfordern
- [ ] 250826: Gefahrtarifstelle festlegen
- [ ] 300826: D&O-Versicherung GF-Haftung

## Aufbewahrungsfristen (laufend)

| Frist | Unterlagen-Typ | Endet | Status |
|---:|:---|---:|:---|
| 10 Jahre | Grundbuch FY2026 | 31.12.2036 | aktiv |
| 8 Jahre | E-Rechnungen FY2026 | 31.12.2034 | aktiv |
| 6 Jahre | E-Mails FY2026 | 31.12.2032 | aktiv |

Cảnh báo tự động khi thời hạn sắp đến

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR FC["Fristen-Check
(Git-Artefakt)"] FC --> P14["über 14 Tage
grün"] FC --> P7["7–14 Tage
gelb"] FC --> P0["unter 7 Tage
orange/rot"] P0 --> W["Warnung
an Unternehmer"] style FC fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style P14 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style P7 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style P0 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style W fill:#FDBA74,stroke:#C2410C,color:#0F1B33
Loại thời hạn Cảnh báo Hành động
Hết thời hạn lưu giữ Trước 30 ngày Ghi nhận việc hủy sau khi hết hạn
Thời hạn cơ quan (ELSTER, SV) Trước 14 ngày Chuẩn bị gửi
Thời hạn khởi tố (§ 169 AO) Trước 90 ngày Không hủy tài liệu

Giảm rủi ro

Hôm nay (rẻ) Ngày mai (an toàn trước sửa đổi) Rủi ro được giảm nhẹ
git bundle dưới dạng lưu trữ tự chứa Lưu giữ 10 năm mà không cần tài khoản đám mây Vi phạm GoBD do chấm dứt tài khoản
Tags + Protected Branches Tính bất biến sau khi phê duyệt Vi phạm GoBD do sửa đổi sau đó
Evidence-Package (Z3+) Quyền truy cập cho kiểm tra viên mà không cần IAM, ngoại tuyến Vi phạm GoBD do dữ liệu không thể truy cập
Kiểm tra thời hạn dưới dạng artefakt Git Tránh bỏ lỡ thời hạn Phí trễ hạn § 152 AO
Dấu hiệu lỗi thời Các bản sửa có thể truy vết Thay đổi bị che giấu
Commit được ký GPG Có thể chứng minh tính xác thực Phủ nhận quyền tác giả
Static-Web (Z3+) Duyệt bằng trình duyệt cho kiểm tra viên Vi phạm GoBD do dữ liệu không thân thiện với kiểm tra viên

Yêu cầu Harness (bản xem trước)

Có thể suy ra từ ED08:

ID Yêu cầu Mức độ ưu tiên
FA-4.1 Tệp kiểm tra thời hạn (checks/FRISTEN_CHECK.md) MUST
FA-4.2 Mục thời hạn có ngày, loại, Tenant, tham chiếu chứng từ MUST
FA-4.3 Cảnh báo tự động khi thời hạn < 14 ngày SHOULD
FA-6.5 Lưu giữ 10 năm qua Evidence-Packages (Git-Bundles) MUST
FA-6.6 Tính bất biến sau khi phê duyệt (Tags, Protected Branches) MUST
FA-6.7 Bộ tạo Static-Web cho kỳ kết toán (Z3+) SHOULD
TA-2.4 Pre-Commit: Kiểm tra trạng thái lỗi thời SHOULD

Danh sách yêu cầu đầy đủ trong Harness-Anforderungen.md.

Nguồn

Sơ đồ nguồn và liên kết tham chiếu CDN

Vai trò Vị trí Mục đích
Nguồn chính / SSoT git.gitcover.org/GCC Nơi lưu trữ chuẩn (được ký GPG, có phiên bản)
Gương OSS công khai / CDN codeberg.org/gitcover-commons Gương chỉ đọc; FLOSS-Discovery
Trung tâm cộng đồng github.com/gitcover-commons Issues & Discussions; Tham chiếu mã nguồn trên Codeberg

Lưu ý: Việc phân công nguồn, gương và trung tâm cộng đồng này phản ánh trạng thái hiện tại và có thể thay đổi. Vui lòng kiểm tra nguồn chuẩn tương ứng trên gitcover.org để biết trạng thái hiện tại.