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

Vấn đề

GoBD và AO yêu cầu lưu trữ dài hạn - nhưng thực tế triển khai lại thất bại:

Thông điệp chính

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

  1. Git-Bundles là self-contained - không cần tài khoản cloud, không cần giấy phép phần mềm, không cần nhà cung cấp dịch vụ - chỉ cần git clone
  2. Thời hạn lưu trữ được ghi lại trong repo - mỗi artifact mang theo thời hạn của mình trong sidecar (obsolescence + ngày hết thời hạn)
  3. Tính bất biến nhờ Tags và Protected Branches - các phiên bản đã phê duyệt bất biến về mặt mật mã
  4. Evidence-Packages cho kết thúc kỳ kế toán - git bundle + Static-Web (Z3+) cho kiểm toán viên (xem ED04)
  5. Fristen-Check như một Git-Artefakt - checks/FRISTEN_CHECK.md cảnh báo về các thời hạn sắp đến

Compliance by Design: Lưu trữ không phải là việc bổ sung sau này - nó hình thành nhờ chính việc lựa chọn phương tiện. Git-Bundles là self-contained và tồn tại bền vững qua mọi lệnh khóa cloud, mọi lần thay đổi phiên bản phần mềm, mọi lần chấm dứt hợp đồng với nhà cung cấp dịch vụ.

Thời hạn lưu trữ 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
Thời hạn Loại tài liệu Căn cứ pháp lý Ví dụ
10 năm Sổ sách, ghi chép, bảng kiểm kê, báo cáo tài chính năm, bảng cân đối mở đầu, hướng dẫn công việc § 147 Abs. 1 Nr. 1 AO Grundbuch (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 tính lương, quyết định BHXH
6 năm Thư từ thương mại / kinh doanh, tài liệu khác § 147 Abs. 1 Nr. 2/3/5 AO Email (EML), thư từ trao đổi, ghi chú

Quan trọng - Điểm bắt đầu thời hạn: Thời hạn bắt đầu tính từ kết thúc năm dương lịch, trong đó thực hiện bút toán ghi sổ cuối cùng, lập báo cáo tài chính năm, nhận chứng từ hoặc thực hiện ghi chép (§ 147 Abs. 4 AO). Một bút toán ngày 15.08.2026 khởi đầ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 nhờ 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 hệ GoBD
Commit-Hash Hash SHA-256 cho mỗi commit - mọi thay đổi tạo ra hash mới Rz. 146 (tính bất biến)
Tags Điểm đánh dấu bất biến cho các phiên bản đã 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ử)
Obsoleszenz Các sửa lỗi dưới dạng commit mới với superseded_by Rz. 146 (khả năng truy vết)
Chữ ký GPG Các commit được ký - chứng minh được tính xác thực Rz. 146 (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 --amendgit push --force lên mainbị cấm. Pre-Commit-Hook kiểm tra rằng không xảy ra force-push nào và các sửa lỗi được thực hiện dưới dạng commit mới kèm đánh dấu Obsoleszenz.

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

%%{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 ED04 Z3+) cho một năm tài chính bao gồm:

Thành phần Nội dung Liên hệ GoBD
git bundle Repo hoàn chỉnh (lịch sử, commit, tag) § 147 Abs. 6 AO (thiết bị dữ liệu Z3)
Static-Web Trang web điều hướng được bằng trình duyệt (HTML/PDF/JSON) Z3+ (kiểm toán viên truy cập không cần IAM)
Manifest Checksum SHA-256 cho từng tệp, chỉ mục V7GUID Rz. 146 (toàn vẹn dữ liệu)
Tài liệu quy trình Đượ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 trữ)
Hợp đồng Tài liệu trải dài qua nhiều kỳ kế toán § 147 Abs. 1 Nr. 2/3 (thư từ thương mại)

Cách lưu trữ an toàn nhất: Một USB chứa git bundle + Static-Web + Manifest là self-contained, offline, không cần IAM, không cần tài khoản cloud, không cần giấy phép phần mềm. Nó tồn tại bền vững qua mọi lần chấm dứt hợp đồng nhà cung cấp, mọi lần thay đổi phiên bản phần mềm, mọi lệnh khóa cloud. Đây là hình thức lưu trữ tuân thủ GoBD an toàn nhất - vì không tồn tại bất kỳ sự phụ thuộc nào.

Tất nhiên, vẫn cần lưu ý đến an ninh vật lý của USB (két sắt, phòng cháy chữa cháy, Off-Site-Backup).

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 |

Tự động cảnh báo khi thời hạn cận kề

%%{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
Thời hạn lưu trữ kết thúc 30 ngày trước Ghi nhận việc tiêu hủy sau khi hết hạn
Thời hạn cơ quan nhà nước (ELSTER, SV) 14 ngày trước Chuẩn bị gửi/nộp
Thời hiệu (§ 169 AO) 90 ngày trước Không tiêu hủy tài liệu

Đòn bẩy rủi ro

Hôm nay (chi phí thấp) Ngày mai (chống sửa đổi) Rủi ro được giảm thiểu
git bundle làm kho lưu trữ self-contained Lưu trữ 10 năm không cần tài khoản cloud Vi phạm GoBD do hủy 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+) Kiểm toán viên truy cập không cần IAM, offline Vi phạm GoBD do dữ liệu không thể truy cập
Fristen-Check như Git-Artefakt Tránh bỏ lỡ thời hạn Phụ thu chậm trễ theo § 152 AO
Đánh dấu Obsoleszenz Sửa lỗi có thể truy vết Các thay đổi bị che giấu
Commit được ký GPG Chứng minh được tính xác thực Việc chối bỏ tác giả
Static-Web (Z3+) Điều hướng được bằng trình duyệt cho kiểm toán viên Vi phạm GoBD do dữ liệu bất thân thiện với kiểm toán viên

Yêu cầu đối với Harness (xem trước)

Suy ra được từ ED07:

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

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

Nguồn

Cấu trúc nguồn và liên kết tham chiếu CDN

Vai trò Địa điểm Mục đích
Primary / SSoT git.gitcover.org/GCC Kho lưu trữ chính tắc (ký GPG, có phiên bản)
Public OSS Mirror / CDN codeberg.org/gitcover-commons Bản sao chỉ đọc; khám phá FLOSS
Community Hub github.com/gitcover-commons Issues & Discussions; tham chiếu mã nguồn về Codeberg

Lưu ý: Cách phân bổ này giữa nguồn, mirror và community hub phản ánh hiện trạng và có thể thay đổi. Vui lòng kiểm tra nguồn chính tắc tương ứng trên gitcover.org để biết trạng thái hiện tại.