ED04 - Nền tảng GoBD: Khả năng truy vết, khả năng kiểm chứng, tính bất biến

Vấn đề

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

Thực tiễn hiện nay trong khu vực doanh nghiệp vừa và nhỏ (SME):

Thông điệp chính

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

  1. Khả năng truy vết (GoBD Rz. 146) - mỗi mục ghi chép phải truy vết được (Ai? Khi nào? Cái gì? Tại sao?)
  2. Khả năng kiểm chứng (GoBD Rz. 147) - sổ sách kế toán phải kiểm chứng được (truy vết ngược/xuôi)
  3. Tính bất biến (GoBD Rz. 146) - sau khi ghi sổ, dữ liệu không được thay đổi (sửa chữa bằng mục ghi mới)

Git đáp ứng cả ba một cách cấu trúc - không nhờ các bước kiểm tra bổ sung sau sự kiện, mà nhờ 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: Tính tuân thủ GoBD không đến từ việc kiểm tra sau sự kiện, mà từ việc lựa chọn phương tiện. Ai làm việc trong Git repo thì đáp ứng khả năng truy vết, khả năng kiểm chứng và tính bất biến một cách cấu trúc - không cần thêm các biện pháp kiểm soát.

GoBD - Nguồn gốc và phạm vi 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 - Các nguyên tắc về việc lập và lưu trữ đúng quy định sổ sách, ghi chép và tài liệu dưới dạng điện tử cũng như về truy cập dữ liệu) là một công văn BMF ngày 28.11.2019 (BStBl I S. 1269), được sửa đổi lần cuối ngày 14.07.2025 (BStBl I S. 1502).

Thuộc tính Giá trị
Cơ quan ban hành Bộ Tài chính Liên bang (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ác cơ quan thuế)
Cơ sở § 146 AO (quy định về trật tự), § 147 AO (lưu trữ), HGB (§§ 238–241)
Phạm vi áp dụng Cho mọi doanh nhân ghi sổ điện tử (trên thực tế: tất cả)
Khối lượng 146 số đoạn (Rz.)

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

Ba nguyên tắc cốt lõi của GoBD trong chi tiết

1. Khả năng truy vết (GoBD Rz. 146)

GoBD Rz. 146: "Sổ sách kế toán phải được tổ chức sao cho một bên thứ ba có chuyên môn có thể trong thời gian hợp lý nắm được tổng quan về các nghiệp vụ kinh doanh và tình hình của doanh nghiệp."

Điều này có nghĩa là: Kiểm tra viên (hoặc tư vấn thuế, hoặc công chức thuế) phải có thể truy vết được điều gì đã xảy ra trong thời gian hợp lý.

Yêu cầu GoBD Git đáp ứng như thế nào
Ai đã ghi sổ? git log --author hiển thị tác giả của từng commit
Ghi sổ khi nào? uuidV7 chứa dấu thời gian 48-bit (RFC 9562 §5.7)
Ghi sổ cái gì? Commit-diff hiển thị chính xác những gì đã được thêm/thay đổi
Tại sao ghi sổ? Commit message ghi lại lý do
Với vai trò nào? Trường role trong artefact JSON (GF, kế toán, trưởng R&D)
%%{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. Khả năng kiểm chứng (GoBD Rz. 147)

GoBD Rz. 147: "Sổ sách kế toán phải được tổ chức sao cho có thể kiểm chứng được."

Điều này có nghĩa là: Sổ sách kế toán phải truy vết được cả ngược lẫn xuôi (xem ED03):

Yêu cầu GoBD Git đáp ứng như thế nào
Truy vết ngược source_sha256 trong mục nhật ký → chứng từ
Truy vết xuôi V7GUID trong chứng từ → mục nhật ký → sổ cái
Khả năng xử lý bằng máy (§ 147 Abs. 6 AO) JSON-Schema-First - dữ liệu có cấu trúc, không phải PDF
Tính đầy đủ Pre-commit hook kiểm tra mọi mục sổ cái đều có source_sha256

3. Tính bất biến (GoBD Rz. 146)

GoBD Rz. 146: "Các ghi chép không được thay đổi theo cách khiến nội dung ban đầu không còn xác định được."

Điều này có nghĩa là: Sau khi ghi sổ, dữ liệu không được thay đổi. Việc sửa chữa phải được thực hiện dưới dạng mục ghi mới kèm lý do.

Yêu cầu GoBD Git đáp ứng như thế nào
Không sửa đổi sau sự kiện Các commit Git là bất biến (hash SHA-256)
Sửa chữa bằng mục ghi mới Commit mới với obsolescence: superseded_by
Sửa chữa truy vết được git log hiển thị bản gốc + bản sửa + lý do
Protected branches Nhánh main được bảo vệ, không force-push
Tag làm dấu phê duyệt Tag đánh dấu các trạng thái đã phê duyệt (bất biến)
%%{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: Về mặt kỹ thuật, Git cho phép git rebasegit commit --amend - nhưng chỉ lịch sử tuyến tính không bị viết lại mới tuân thủ GoBD. Pre-commit hook kiểm tra rằng không có force-push nào lên main và các sửa chữa được thực hiện dưới dạng commit mới kèm đá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 Liên hệ GoBD
§ 146 Abs. 1 AO Các bút toán "riêng biệt, đầy đủ, đúng đắn, kịp thời và có trật tự" Rz. 146 (khả năng truy vết)
§ 146 Abs. 4 AO Không thay đổi theo cách làm nội dung ban đầu không thể nhận biết Rz. 146 (tính bất biến)
§ 146 Abs. 5 AO "luôn sẵn có và có thể đọc ngay lập tức" Rz. 152 (khả năng truy cập)
§ 147 Abs. 2 AO "có thể được xử lý bằng máy" Rz. 147 (khả năng kiểm chứng)
§ 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 khi kiểm tra bên ngoài (Z1/Z2/Z3) Rz. 147 (truy cập dữ liệu)

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

GoBD định nghĩa ba hình thức truy cập mà cơ quan quản lý thuế có thể sử dụng khi kiểm tra bên ngoài:

Hình thức truy cập Mô tả Git hỗ trợ như thế nào
Z1 (truy cập trực tiếp) Kiểm tra viên sử 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 tra viên đưa ra yêu cầu, doanh nhân thực hiện xử lý git log --since, git grep, xuất JSON
Z3 (chuyển giao phương tiện lưu trữ) Doanh nhân giao dữ liệu trên phương tiện lưu trữ git bundle làm kho lưu trữ self-contained

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

Mở rộng GitCover: Static-Web làm kênh truy cập cho kiểm tra viên (Z3+)

Ngoài git bundle, các công cụ GitCover (nếu được cài đặt và sử dụng) có thể trong khuôn khổ một kết thúc kỳ kế toán tạo ra một static website điều hướng được bằng trình duyệt từ Tenant Evidence Package. Website này bao gồm:

%%{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 từ trước đến nay: Một web dựa trên filesystem không cần hệ thống IAM, không cần hạ tầng máy chủ, không cần cơ sở dữ liệu, không cần kết nối mạng. Kiểm tra viên mở index.html trong trình duyệt của mình - offline, cục bộ, không cần xác thực. Tính toàn vẹn được đảm bảo bằng manifest với checksum SHA-256, chứ không phải bằng quyền truy cập. Đây là hình thức truy cập an toàn nhất cho kiểm tra viên, vì không tồn tại bề mặt tấn công nào.

Thuộc tính git bundle (Z3) Static-Web (Z3+)
Kiểm tra viên cần Git đã cài đặt Chỉ cần trình duyệt
Điều hướng CLI (git log, git show) Trình duyệt (nhấp chuột, tìm kiếm)
Phân tích Thủ công qua git grep Các trang index được tạo sẵn
Tài liệu DMS Trong repo (PDF, XML) Nhúng dưới dạng HTML/PDF
Tài liệu quy trình Markdown trong repo Được render thành HTML
Tính toàn vẹn Git SHA-256 Manifest + SHA-256 cho từng file
Cần IAM Không Không
Cần mạng 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) lập kết thúc kỳ kế toán cho FY2026. Công cụ GitCover tạo ra một Tenant Evidence Package với git bundle (dành cho kiểm tra viên am hiểu kỹ thuật) một static website (dành cho kiểm tra viên chỉ muốn dùng trình duyệt). Cả hai được chuyển giao trên một USB - self-contained, offline, không cần IAM. Kiểm tra viên tự chọn mở git clone hay index.html.

Đòn bẩy rủi ro

Hôm nay (chi phí thấp) Ngày mai (an toàn trước sửa đổi) Rủi ro được giảm thiểu
Git repo làm phương tiện ghi sổ kế toán GoBD Rz. 146/147 được đáp ứng by Design Bị ước tính thuế § 162 AO
git log làm bằng chứng Khả năng truy vết trong thời gian hợp lý Bị phủ nhận tính tuân thủ quy định
V7GUID + SHA-256 cho mỗi mục Truy vết ngược/xuôi Bị hạ giá trị chứng cứ
Tag + protected branches Tính bất biến sau phê duyệt Vi phạm GoBD do sửa đổi sau sự kiện
git bundle làm xuất Z3 Chuyển giao phương tiện lưu trữ không cần tài khoản cloud Vi phạm GoBD do hệ thống cũ không truy cập được
Đánh dấu obsolescence Sửa chữa truy vết được Các thay đổi bị che giấu
Static-Web với vai trò Z3+ (kết thúc kỳ kế toán) Truy cập của kiểm tra viên không cần IAM, chỉ cần trình duyệt **Vi phạm GoBD do dữ liệu không thể truy cập/không thân thiện với kiểm tra viên **

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

Có thể suy ra từ ED04:

ID Yêu cầu Mức ưu tiên
FA-6.1 Tài liệu hóa quy trình dưới dạng artefact Git có phiên bản MUST
FA-6.2 Sổ cái (journal) dưới dạng JSON với V7GUID + SHA-256 cho mỗi mục MUST
FA-6.5 Lưu trữ 10 năm qua Evidence Package (git bundle) MUST
FA-6.6 Tính bất biến sau phê duyệt (tag, protected branches) MUST
FA-6.7 Trình tạo Static-Web cho kết thúc kỳ kế toán (Z3+): website điều hướng bằng trình duyệt từ Tenant Evidence Package, không cần IAM, dựa trên 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 lên obsolete) SHOULD

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

Nguồn

Cấu trúc nguồn và các 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 trên Codeberg

Lưu ý: Việc phân bổ giữa nguồn, mirror và community hub này 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.