ED05 - Kiến thức cơ bản về GoBD: Tính truy nguyên, Tính kiểm chứng được, Tính bất biến

Vấn đề

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

Thực trạng hiện nay trong khu vực doanh nghiệp vừa và nhỏ (KMU):

Luận điểm cốt lõi

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

  1. Tính truy nguyên (GoBD Rz. 146) - mỗi mục ghi phải có thể truy nguyên (Ai? Khi nào? Cái gì? Tại sao?)
  2. Tính kiểm chứng được (GoBD Rz. 147) - bộ sách kế toán phải có thể kiểm chứng (khả năng 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 các mục ghi mới)

Git đáp ứng cả ba một cách cấu trúc - không phải qua các kiểm soát bổ sung sau đó, mà qua chính kiến trúc của nó:

%%{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 hình thành từ việc kiểm tra sau đó, mà từ việc lựa chọn phương tiện. Ai làm việc trong các Git-repo thì đáp ứng Tính truy nguyên, Tính kiểm chứng được và Tính bất biến một cách cấu trúc - không phải qua các Controls bổ sung.

GoBD - Nguồn gốc và phạm vi hiệu lực

Các GoBD (Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff) 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 vào ngày 14.07.2025 (BStBl I S. 1502).

Thuộc tính Giá trị
Cơ quan ban hành 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ác cơ quan thuế)
Cơ sở § 146 AO (các 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ử (thực tế: tất cả)
Khối lượng 146 Randziffern (Rz.)

Quan trọng: GoBD không phải là một "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), tiền phạt do chậm trễ (§ 152 AO) và trong trường hợp xấu nhất là thủ tục hình sự về thuế (§ 370 AO).

Chi tiết ba nguyên tắc cốt lõi của GoBD

1. Tính truy nguyên (GoBD Rz. 146)

GoBD Rz. 146: "Bộ 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 đó có nghĩa là: Một kiểm toán viên (hoặc tư vấn thuế, hoặc công chức thuế) phải có thể trong thời gian hợp lý truy nguyên được những gì đã xảy ra.

Yêu cầu của GoBD Git đáp ứng như thế nào
Ai đã ghi sổ? git log --author hiển thị từng tác giả 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
Ghi sổ tại sao? 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 F&E)
%%{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. Tính kiểm chứng được (GoBD Rz. 147)

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

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

Yêu cầu của GoBD Git đáp ứng như thế nào
Truy vết ngược source_sha256 trong mục ghi nhật ký → chứng từ
Truy vết xuôi V7GUID trong chứng từ → mục ghi nhật ký → sổ cái
Khả năng đánh giá 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 rằng mỗi mục ghi sổ cái đều có source_sha256

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

GoBD Rz. 146: "Các mục ghi không được bị thay đổi theo cách mà nội dung ban đầu không còn nhận biết được."

Điều đó có nghĩa là: Sau khi ghi sổ, dữ liệu không được thay đổi. Cá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 của GoBD Git đáp ứng như thế nào
Không sửa đổi sau đó Các Git-commit là bất biến (SHA-256-Hash)
Sửa chữa dưới dạng mục ghi mới Các commit mới với obsolescence: superseded_by
Sửa chữa có thể truy nguyên 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 có Force-Push
Tags làm dấu phê duyệt Tags đánh dấu các trạng thái đã phê duyệt (không thể thay đổ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: 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 nhánh main và rằng 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 quan GoBD
§ 146 Abs. 1 AO Các bút toán "từng nghiệp vụ một, đầy đủ, đúng đắn, kịp thời và có trật tự" Rz. 146 (Tính truy nguyên)
§ 146 Abs. 4 AO Không có thay đổi nào làm nội dung ban đầu không còn nhận biết được Rz. 146 (Tính bất biến)
§ 146 Abs. 5 AO "sẵn có mọi lúc và đọc được ngay lập tức" Rz. 152 (Tính sẵn có)
§ 147 Abs. 2 AO "có thể được đánh giá bằng máy" Rz. 147 (Tính kiểm chứng được)
§ 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 tra từ bê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 hình thức truy cập mà cơ quan quản lý thuế có thể sử dụng trong một cuộc kiểm tra từ 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 toán 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 toán viên đưa ra yêu cầu, doanh nhân thực hiện đánh giá git log --since, git grep, xuất JSON
Z3 (bàn giao phương tiện lưu trữ dữ liệu) Doanh nhân bàn giao dữ liệu trên phương tiện lưu trữ git bundle dưới dạng 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ử, các commit, các tag) trong một tệp 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 toán viên có thể dùng git clone để tái dựng 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 cổng truy cập cho kiểm toán viên (Z3+)

Ngoài git bundle, các GitCover Tools (nếu được cài đặt và sử dụng) có thể tạo ra một Static-Website điều hướng được bằng trình duyệt từ Tenant Evidence Package trong khuôn khổ kết thúc kỳ kế toán. 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 Filesystem-Based-Web 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 toán 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ởi Manifest với các checksum SHA-256, chứ không phải bởi quyền truy cập. Đây là hình thức truy cập an toàn nhất cho kiểm toán viên, vì không có bề mặt tấn công nào.

Thuộc tính git bundle (Z3) Static-Web (Z3+)
Kiểm toán 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)
Báo cáo phân tích Thủ công qua git grep Các trang chỉ mục đượ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 tệp
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) thực hiện kết thúc kỳ kế toán cho FY2026. GitCover Tool tạo ra một Tenant Evidence Package với git bundle (dành cho kiểm toán viên am hiểu kỹ thuật) một Static-Website (dành cho những kiểm toán viên chỉ muốn dùng trình duyệt). Cả hai được bàn giao trên một ổ USB - self-contained, offline, không cần IAM. Kiểm toán viên tự chọn, mở git clone hay index.html.

Đòn bẩy rủi ro

Hôm nay (cheap) Ngày mai (chắc chắn chống sửa đổi) Rủi ro được giảm thiểu
Git-repo làm phương tiện ghi sổ GoBD Rz. 146/147 được đáp ứng by Design Ước tính thuế § 162 AO
git log làm bằng chứng Tính truy nguyên trong thời gian hợp lý Phủ nhận tính đúng chuẩn mực
V7GUID + SHA-256 cho từng mục ghi Truy vết ngược/xuôi Giảm giá trị chứng cứ
Tags + Protected Branches Tính bất biến sau phê duyệt Vi phạm GoBD do sửa đổi sau đó
git bundle làm xuất Z3 Bàn giao phương tiện lưu trữ dữ liệu 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 có thể truy nguyên Các thay đổi bị che giấu
Static-Web làm Z3+ (kết thúc kỳ kế toán) Truy cập của kiểm toán 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ể tiếp cận/thiếu thân thiện với kiểm toán viên **

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

Có thể suy ra từ ED05:

ID Yêu cầu Mức ưu tiên
FA-6.1 Tài liệu quy trình dưới dạng artefact Git được phiên bản hóa MUST
FA-6.2 Sổ cái (Journal) dưới dạng JSON với V7GUID + SHA-256 cho từng mục ghi MUST
FA-6.5 Lưu trữ 10 năm qua các Evidence-Package (Git-Bundle) 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+): website điều hướng được bằng trình duyệt từ Tenant Evidence Package, không cần IAM, Filesystem-Based 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; FLOSS-Discovery
Community Hub github.com/gitcover-commons Issues & Discussions; tham chiếu mã nguồn tới 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.