ED04 - Cơ sở GoBD: Truy vết, Kiểm toán được, Không thay đổi

Vấn đề

Một doanh nhân bắt đầu kế toán - và đối mặt với câu hỏi: GoBD yêu cầu chính xác gì, và tôi đáp ứng thế nào không cần phần mềm chuyên dụng đắt tiền?

Thực hành hiện nay trong lĩnh vực SME:

Tuyên bố cốt lõi

GoBD yêu cầu ba nguyên lý cốt lõi mà Git đáp ứng by Design:

  1. Truy vết (GoBD Rz. 146) - mỗi mục phải truy vết được (Ai? Khi nào? Cái gì? Tại sao?)
  2. Kiểm toán được (GoBD Rz. 147) - kế toán phải kiểm toán được (truy vết retrograde/progressive)
  3. Không thay đổi (GoBD Rz. 146) - sau booking, dữ liệu không được thay đổi (sửa chữa là mục mới)

Git đáp ứng cả ba mang tính cấu trúc - không qua kiểm soát sau, mà qua chính kiến trúc:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD G["GoBD - 3 Kernprinzipien"] G --> N["Nachvollziehbarkeit
Rz. 146"] G --> P["Nachprüfbarkeit
Rz. 147"] G --> U["Unveränderbarkeit
Rz. 146"] N --> GN["Git: Commit-Autor
+ Zeitstempel
+ Commit-Message"] P --> GP["Git: V7GUID + SHA-256
retrograd/progressiv
auflösbar"] U --> GU["Git: Tags + Protected Branches
+ Obsoleszenz-Markierung
Korrekturen als neue Commits"] style G fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style N fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style P fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style U fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GN fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style GP fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style GU fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Compliance by Design: Sự tuân thủ GoBD không phát sinh qua kiểm toán sau, mà qua lựa chọn phương tiện. Bất kỳ ai làm việc trong Git repo đều đáp ứng truy vết, kiểm toán và không thay đổi mang tính cấu trúc - không qua kiểm soát bổ sung.

GoBD - Nguồn gốc và hiệu lực

GoBD (Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff) là thư BMF ngày 28.11.2019 (BStBl I S. 1269), lần cuối sửa đổi 14.07.2025 (BStBl I S. 1502).

Thuộc tính Giá trị
Nhà xuất bản Bundesministerium der Finanzen (BMF)
Tính chất pháp lý Chỉ thị hành chính (không phải luật, nhưng ràng buộc cơ quan thuế)
Cơ sở § 146 AO (quy định trật tự), § 147 AO (lưu trữ), HGB (§§ 238-241)
Phạm vi Mọi doanh nhân giữ sổ điện tử (thực tế: tất cả)
Quy mô 146 số lề (Rz.)

Quan trọng: GoBD không phải "khuyến nghị" - chúng là chỉ thị hành chính mà cơ quan thuế kiểm tra theo. Ai không đáp ứng GoBD có nguy cơ ước tính (§ 162 AO), phụ trễ (§ 152 AO) và trong trường hợp xấu nhất là thủ tục hình sự thuế (§ 370 AO).

Ba nguyên lý cốt lõi GoBD chi tiết

1. Truy vết (GoBD Rz. 146)

GoBD Rz. 146: "Kế toán phải sao cho một bên thứ ba có hiểu biết có thể có cái nhìn tổng quan về các giao dịch và tình hình doanh nghiệp trong thời gian hợp lý."

Nghĩa là: một kiểm toán viên (hoặc kế toán thuế, hoặc cán bộ thuế) phải có thể truy vết trong thời gian hợp lý điều gì đã xảy ra.

Yêu cầu GoBD Cách Git đáp ứng
Ai đã booking? git log --author hiển thị mỗi tác giả commit
Khi nào booking? uuidV7 chứa timestamp 48-bit (RFC 9562 §5.7)
Cái gì được booking? Commit diff hiển thị chính xác cái gì thêm/đổi
Tại sao booking? Commit message tài liệu hóa lý do
Trong role nào? Trường role trong JSON artefact (GF, kế toán, R&D lead)
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR P["Prüfer"] P --> GL["git log
Wer? Wann? Was?"] P --> SH["git show
Commit-Details"] P --> DF["git diff
Was hat sich geändert?"] P --> V7["uuidV7 decode
Exakte Erfassungszeit"] GL --> R["Nachvollziehbarkeit
in angemessener Zeit"] SH --> R DF --> R V7 --> R style P fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style GL fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style SH fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style DF fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style V7 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

2. Kiểm toán được (GoBD Rz. 147)

GoBD Rz. 147: "Kế toán phải sao cho có thể kiểm toán được."

Nghĩa là: kế toán phải truy vết retrograde và progressive (xem ED03):

Yêu cầu GoBD Cách Git đáp ứng
Truy vết retrograde source_sha256 trong mục nhật ký → chứng từ
Truy vết progressive V7GUID trong chứng từ → mục nhật ký → sổ cái
Đánh giá bằng máy (§ 147 Abs. 6 AO) JSON-Schema-First - dữ liệu có cấu trúc, không PDF
Đầy đủ Pre-Commit hook kiểm tra mỗi mục sổ cái có source_sha256

3. Không thay đổi (GoBD Rz. 146)

GoBD Rz. 146: "Các mục không được thay đổi theo cách mà nội dung gốc không còn xác định được."

Nghĩa là: sau booking, dữ liệu không được thay đổi. Sửa chữa phải là mục mới có lý do.

Yêu cầu GoBD Cách Git đáp ứng
Không thay đổi sau Git commit không thay đổi (hash SHA-256)
Sửa chữa là mục mới Commit mới với obsolescence: superseded_by
Sửa chữa truy vết git log hiển thị gốc + sửa + lý do
Branch được bảo vệ Branch main được bảo vệ, không force push
Tag làm dấu phát hành Tag đánh dấu trạng thái phát hành (không đổi)
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD B["Buchung
Commit 1"] B --> TAG["Tag v1.0
freigegeben"] K["Korrektur nötig"] K --> C["Korrektur-Buchung
Commit 2"] C --> OBS["obsolescence:
status: superseded
superseded_by: Commit 2"] B --> OBS style B fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style TAG fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style K fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style C fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style OBS fill:#E5E7EB,stroke:#6B7280,color:#0F1B33

Quan trọng: Git về kỹ thuật cho phép git rebasegit commit --amend - nhưng tuân thủ GoBD chỉ có lịch sử tuyến tính không viết lại. Pre-Commit hook kiểm tra không có force push lên main và sửa chữa là commit mới với đánh dấu obsolescence.

GoBD và AO - cơ sở pháp lý

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD AO["Abgabenordnung (AO)"] AO --> S146["§ 146 AO
Ordnungsvorschriften
für Buchführung"] AO --> S147["§ 147 AO
Aufbewahrung
von Unterlagen"] S146 --> GoBD["GoBD
(BMF-Schreiben)
Konkretisierung
für elektronische Systeme"] S147 --> GoBD GoBD --> R146["Rz. 146
Nachvollziehbarkeit
Unveränderbarkeit"] GoBD --> R147["Rz. 147
Nachprüfbarkeit"] GoBD --> R64["Rz. 64–91
Verfahrensdokumentation"] GoBD --> R152["Rz. 152
Aufbewahrungsfristen"] style AO fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style S146 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S147 fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GoBD fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style R146 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R147 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R64 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style R152 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Nguồn pháp lý Nội dung Tham chiếu GoBD
§ 146 Abs. 1 AO Booking "riêng lẻ, đầy đủ, đúng, đúng giờ và có trật tự" Rz. 146 (truy vết)
§ 146 Abs. 4 AO Không thay đổi làm che nội dung gốc Rz. 146 (không thay đổi)
§ 146 Abs. 5 AO "có sẵn bất cứ lúc nào và đọc được ngay" Rz. 152 (khả dụng)
§ 147 Abs. 2 AO "có thể đánh giá bằng máy" Rz. 147 (kiểm toán)
§ 147 Abs. 3 AO Thời hạn lưu trữ (10/8/6 năm) Rz. 152 (lưu trữ)
§ 147 Abs. 6 AO Truy cập dữ liệu trong kiểm toán ngoài (Z1/Z2/Z3) Rz. 147 (truy cập dữ liệu)

Truy cập dữ liệu GoBD (Z1, Z2, Z3)

GoBD định nghĩa ba loại truy cập mà cơ quan thuế có thể dùng trong kiểm toán ngoài:

Loại truy cập Mô tả Cách Git hỗ trợ
Z1 (truy cập trực tiếp) Kiểm toán viên dùng hệ thống của doanh nhân git log, git show, git grep trực tiếp trong repo
Z2 (truy cập gián tiếp) Kiểm toán viên đưa yêu cầu, doanh nhân đánh giá git log --since, git grep, xuất JSON
Z3 (giao dữ liệu trên vật mang) Doanh nhân giao dữ liệu trên vật mang git bundle như archive self-contained

Z3 là thế mạnh của Git: Một git bundle chứa toàn bộ repo (lịch sử, commit, tag) trong một tệp duy nhất - self-contained, không tài khoản đám mây, không giấy phép phần mềm. Kiểm toán viên có thể tái tạo repo trên hệ thống của họ với git clone và thực hiện mọi thao tác Z1/Z2. Đây là xuất Z3 tuân thủ GoBD "by Design".

Mở rộng GitCover: Static Web làm truy cập kiểm toán (Z3+)

Vượt git bundle, các GitCover tool (nếu cài đặt và sử dụng) có thể, như một phần của đóng kỳ, tạo một trang web tĩnh có thể điều hướng bằng trình duyệt từ Tenant Evidence Package. Trang web này chứa:

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD EP["Tenant Evidence Package
(Periodenabschluss)"] EP --> GB["git bundle
(Z3-Basis)"] EP --> SW["Static-Web-Generator
(GitCover Tool)"] GB --> CL["git clone
(Prüfer rekonstruiert Repo)"] SW --> FS["Filesystem-Based-Web
(HTML + PDF + JSON)"] FS --> BR["Browser
(Prüfer navigiert)"] FS --> IDX["Index-Seiten
(nach Datum, Belegart, V7GUID)"] FS --> NAV["Navigation
(retrograd/progressiv)"] FS --> SRH["Suche
(Volltext, SHA-256, V7GUID)"] style EP fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style GB fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style SW fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style CL fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style FS fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style BR fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style IDX fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style NAV fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style SRH fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33

Phương pháp an toàn nhất: Một web dựa trên filesystem không cần IAM, không hạ tầng server, không cơ sở dữ liệu, không kết nối mạng. Kiểm toán viên mở index.html trong trình duyệt - offline, cục bộ, không xác thực. Toàn vẹn được đảm bảo qua manifest với checksum SHA-256, không qua quyền truy cập. Đây là hình thức truy cập kiểm toán an toàn nhất, vì không có bề mặt tấn công.

Thuộc tính git bundle (Z3) Static Web (Z3+)
Kiểm toán viên cần Git cài đặt Chỉ trình duyệt
Điều hướng CLI (git log, git show) Trình duyệt (click, tìm)
Đánh giá Thủ công qua git grep Trang index tạo sẵn
Tài liệu DMS Trong repo (PDF, XML) Nhúng dạng HTML/PDF
Tài liệu quy trình Markdown trong repo Render HTML
Toàn vẹn Git SHA-256 Manifest + SHA-256 mỗi tệp
IAM cần Không Không
Mạng cần Không Không
Bề mặt tấn công Tối thiểu Tối thiểu (chỉ filesystem)

Ví dụ thực tế: Doanh nhân (E1) tạo đóng kỳ cho FY2026. GitCover tool tạo Tenant Evidence Package với git bundle (cho kiểm toán viên rành kỹ thuật) trang web tĩnh (cho kiểm toán viên chỉ muốn dùng trình duyệt). Cả hai được giao trên USB - self-contained, offline, không IAM. Kiểm toán viên tự chọn git clone hay mở index.html.

Đòn bẩy rủi ro

Hôm nay (rẻ) Ngày mai (kiểm toán được) Rủi ro giảm
Git repo làm phương tiện kế toán GoBD Rz. 146/147 by Design Ước tính § 162 AO
git log làm bằng chứng Truy vết trong thời gian hợp lý Tranh chấp tính trật tự
V7GUID + SHA-256 mỗi mục Truy vết retrograde/progressive Hạ cấp giá trị chứng minh
Tag + Protected Branch Không thay đổi sau phát hành Vi phạm GoBD qua thay đổi sau
git bundle làm xuất Z3 Giao vật mang không tài khoản đám mây Vi phạm GoBD qua hệ thống cũ không khả dụng
Đánh dấu obsolescence Sửa chữa truy vết Thay đổi giấu
Static Web làm Z3+ (đóng kỳ) Truy cập kiểm toán không IAM, chỉ trình duyệt Vi phạm GoBD qua dữ liệu không tiếp cận/không thân thiện kiểm toán

Yêu cầu Harness (Xem trước)

Dẫn xuất từ ED04:

ID Yêu cầu Ưu tiên
FA-6.1 Tài liệu quy trình là Git artefact có phiên bản MUST
FA-6.2 Sổ cái (journal) dạng JSON với V7GUID + SHA-256 mỗi mục MUST
FA-6.5 Lưu trữ 10 năm qua Evidence Package (Git bundle) MUST
FA-6.6 Không thay đổi sau phát hành (tag, protected branch) MUST
FA-6.7 Static-Web generator cho đóng kỳ (Z3+): trang web điều hướng được bằng trình duyệt từ Tenant Evidence Package, không IAM, dựa filesystem SHOULD
TA-2.1 Pre-Commit: xác thực JSON schema MUST
TA-2.4 Pre-Commit: kiểm tra trạng thái obsolescence (không commit trên obsolete) SHOULD

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

Nguồn

Topo nguồn và liên kết tham chiếu CDN

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

Lưu ý: Phân công nguồn, mirror và community hub 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 chính thức tương ứng trên gitcover.org cho trạng thái hiện tại.