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:
- "10 năm? Đám mây sẽ xử lý." - nhiều doanh nhân tin rằng phần mềm đám mây tự động quản lý việc lưu giữ - nhưng khi tài khoản bị chấm dứt, dữ liệu thường không còn khả dụng (xem ED01, điểm khó khăn 6–7)
- Đã chấm dứt tài khoản đám mây, dữ liệu biến mất - tài khoản lương đã bị tạm dừng, các tài khoản lương cũ chỉ có thể kích hoạt lại với chi phí bổ sung - vi phạm GoBD (§ 146 Abs. 5 AO)
- Không thể kích hoạt lại các phiên bản phần mềm cũ - các bản sao lưu
cần phiên bản phần mềm cũ nhưng phiên bản đó không còn có thể cài đặt
- vi phạm GoBD (§ 147 Abs. 2 AO: "đọc được ngay lập tức")
- Không có tính bất biến - các bút toán được sửa đổi sau đó mà không thể truy vết - vi phạm GoBD (Rz. 146)
- Không có Evidence-Packages - trong một cuộc kiểm tra bên ngoài, kiểm tra viên không thể được cung cấp phương tiện lưu trữ dữ liệu (Z3) - vi phạm GoBD (§ 147 Abs. 6 AO)
- Không biết thời hạn lưu giữ - 10 năm? 8 năm? 6 năm? Nhiều doanh nhân không biết các thời hạn đối với tài liệu của mình
Thông điệp cốt lõi
Lưu giữ tuân thủ GoBD bằng Git có nghĩa là:
- 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 - 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) - 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ã
- Evidence-Packages cho các kỳ kết toán -
git bundle+ Static-Web (Z3+) cho kiểm tra viên (xem ED05) - Kiểm tra thời hạn dưới dạng artefakt Git -
checks/FRISTEN_CHECK.mdcả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
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
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 --amendvàgit push --forcetrênmainbị 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ữ
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
(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
- GoBD (thư của BMF, Rz. 146 - Tính bất biến, Rz. 152 - Thời hạn lưu giữ)
- AO (§ 146 Abs. 5 - Khả năng truy cập, § 147 - Thời hạn lưu giữ 10/8/6 năm, § 147 Abs. 4 - Thời điểm bắt đầu thời hạn, § 147 Abs. 6 - Truy cập dữ liệu Z3)
GitCover.Ledger/docs/02-Tenant-Evidence-Package.md- khái niệm Tenant Evidence PackageE1/agents/(đã ẩn danh) - khái niệm SSoT với kiểm tra thời hạn, Evidence-Packages
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.