ED05 - Cơ sở 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 công việc kế toán - và đối diện với câu hỏi: GoBD cụ thể yêu cầu điều 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 tiễn hiện nay trong lĩnh vực SME:

Thông điệp cốt lõi

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

  1. Khả năng truy vết (GoBD Rz. 146) - mỗi bản ghi phải có thể truy vết (Ai? Khi nào? Cái gì? Tại sao?)
  2. Khả năng kiểm chứng (GoBD Rz. 147) - hệ thống kế toán phải có thể kiểm chứng (khả năng truy vết theo chiều ngược/thuận)
  3. Tính bất biến (GoBD Rz. 146) - sau khi ghi sổ, dữ liệu không được thay đổi (các bản điều chỉnh phải là bản ghi mới)

Git đáp ứng cả ba về mặt cấu trúc - không thông qua các kiểm tra bổ sung về sau, 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

Tuân thủ theo thiết kế: Sự tuân thủ GoBD không được tạo ra thông qua kiểm tra bổ sung về sau, mà nhờ lựa chọn phương tiện. Người làm việc trong Git repo đáp ứng khả năng truy vết, khả năng kiểm chứng và tính bất biến về mặt cấu trúc - không nhờ các biện pháp kiểm soát bổ sung.

GoBD - Nguồn gốc và phạm vi áp dụng

GoBD (Nguyên tắc lập và lưu giữ sổ sách, bản ghi và tài liệu theo quy định ở dạng điện tử, cũng như 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 gần nhất 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 có giá trị bắt buộc đối với cơ quan thuế)
Cơ sở § 146 AO (quy định về trật tự), § 147 AO (lưu giữ), HGB (§§ 238–241)
Phạm vi áp dụng Đối với mọi doanh nhân ghi sổ bằng phương tiện điện tử (thực tế: tất cả)
Quy mô 146 số mục biên (Rz.)

Lưu ý: GoBD không phải là một "khuyến nghị" - đó là chỉ thị hành chính, theo đó các cơ quan thuế tiến hành kiểm tra. Người không tuân thủ GoBD có nguy cơ bị truy thu ước tính (§ 162 AO), chịu phụ thu nộp chậm (§ 152 AO) và trong trường hợp xấu nhất là bị khởi tố thủ tục xử phạt về thuế (§ 370 AO).

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

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

GoBD Rz. 146: "Hệ thống kế toán phải được thiết kế theo cách để một bên thứ ba có chuyên môn có thể trong thời gian hợp lý nắm được toàn cảnh các giao dịch kinh doanh và tình hình của doanh nghiệp."

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

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

GoBD Rz. 147: "Hệ thống kế toán phải được thiết kế theo cách có thể kiểm chứng."

Điều này có nghĩa là: Hệ thống kế toán phải có thể truy vết theo cả chiều ngược và chiều thuận (xem ED03):

Yêu cầu GoBD Cách Git đáp ứng
Khả năng truy vết ngược chiều source_sha256 trong bản ghi sổ nhật ký → chứng từ
Khả năng truy vết thuận chiều V7GUID trong chứng từ → bản ghi sổ nhật ký → sổ cái
Khả năng phân tích tự động (§ 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 bản ghi sổ cái đều có source_sha256

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

GoBD Rz. 146: "Các bút toán 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. Các bản điều chỉnh phải được thực hiện dưới dạng bản ghi mới kèm lý do.

Yêu cầu GoBD Cách Git đáp ứng
Không thay đổi sau khi ghi sổ Git commit là bất biến (hash SHA-256)
Điều chỉnh dưới dạng bản ghi mới Commit mới với obsolescence: superseded_by
Bản điều chỉnh có thể truy vết git log hiển thị bản gốc + bản điều chỉnh + 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 đã được 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

Lưu ý: Về mặt kỹ thuật, Git cho phép git rebase và git 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 được thực hiện trên main và các bản điều chỉnh diễn ra dưới dạng commit mới với dấu hiệu lỗi thời (Obsoleszenz-Markierung).

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 Mối liên quan GoBD
§ 146 Abs. 1 AO Ghi sổ "riêng lẻ, đầy đủ, chính xác, 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 làm mất khả năng xác định nội dung ban đầu 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 sẵn có)
§ 147 Abs. 2 AO "có thể được phân tích bằng máy" Rz. 147 (khả năng kiểm chứng)
§ 147 Abs. 3 AO Thời hạn lưu giữ (10/8/6 năm) Rz. 152 (lưu giữ)
§ 147 Abs. 6 AO Truy cập dữ liệu khi kiểm toán 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 xác định ba loại truy cập mà cơ quan quản lý thuế có thể sử dụng trong kiểm toán bê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 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 chỉ dẫn, doanh nhân phân tích kết quả git log --since, git grep, JSON export
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ữ tự chứa

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 - tự chứa, 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 toàn bộ thao tác Z1/Z2. Đây là bản xuất Z3 tuân thủ GoBD "theo thiết kế".

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

Ngoài git bundle, GitCover Tools (nếu được cài đặt và sử dụng) có thể, trong quá trình đóng kỳ kế toán, tạo ra một Static-Website 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 tuyệt đối: 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 - ngoại tuyến, cục bộ, không cần xác thực. Tính toàn vẹn được bảo đảm bằng manifest với các tổng kiểm SHA-256, chứ không phải bằng quyền truy cập. Đây là hình thức truy cập cho kiểm toán viê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 Đã cài Git 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 chỉ mục được tạo trước
Tài liệu DMS Trong repo (PDF, XML) Được nhúng dưới dạng HTML/PDF
Tài liệu quy trình Markdown trong repo Được kết xuất 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ỉ hệ thống tệp)

Ví dụ thực tế: Doanh nhân (E1) thực hiện đóng kỳ kế toán cho FY2026. GitCover Tool tạo ra một Tenant Evidence Package gồm git bundle (dành cho kiểm toán viên có chuyên môn kỹ thuật) và một Static-Website (dành cho kiểm toán viên chỉ muốn sử dụng trình duyệt). Cả hai được bàn giao trên một ổ USB - tự chứa, ngoại tuyến, không cần IAM. Kiểm toán viên tự chọn mở git clone hoặc index.html.

Giảm thiểu rủi ro

Hiện tại (rẻ) Ngày mai (an toàn trước chỉnh sửa) Rủi ro được giảm thiểu
Git repo làm phương tiện kế toán Đáp ứng GoBD Rz. 146/147 theo thiết kế Bị truy thu ước tính § 162 AO
git log làm bằng chứng Khả năng truy vết trong thời gian hợp lý Phủ nhận tính phù hợp quy định
V7GUID + SHA-256 cho mỗi bản ghi Khả năng truy vết ngược/thuận Hạ giá trị chứng cứ
Tags + Protected Branches Tính bất biến sau khi phê duyệt Vi phạm GoBD do thay đổi sau khi ghi sổ
git bundle làm bản xuất Z3 Bàn giao phương tiện lưu trữ mà không cần tài khoản cloud Vi phạm GoBD do hệ thống cũ không khả dụng
Dấu hiệu lỗi thời Bản điều chỉnh có thể truy vết Thay đổi bị che giấu
Static-Web làm Z3+ (đóng kỳ kế toán) Quyền truy cập cho 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ể truy cập/không 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 Độ ưu tiên
FA-6.1 Tài liệu quy trình dưới dạng artifact 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 mỗi bản ghi MUST
FA-6.5 Lưu giữ 10 năm thông 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 đóng kỳ kế toán (Z3+): website có thể điều hướng bằng trình duyệt từ Tenant Evidence Package, không cần IAM, dựa trên hệ thống tệp 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 lỗi thời (không có commit nào trên obsolete) SHOULD

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

Nguồn

Cấu trúc 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ó quản lý phiên bản)
Bản sao OSS công khai / CDN codeberg.org/gitcover-commons Bản sao 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 ý: Sự phân công giữa nguồn, bản sao và trung tâm cộng đồng phản ánh tình trạng 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 tình trạng mới nhất.