ED05 - Kiến thức cơ bản về GoBD: Tính có thể truy vết, Tính có thể kiểm tra, 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ể đ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 tế hiện nay trong lĩnh vực doanh nghiệp vừa và nhỏ (KMU):

Tuyên bố cốt lõi

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

  1. Tính có thể truy vết (GoBD Rz. 146) - mỗi mục phải có thể truy vết (Ai? Khi nào? Cái gì? Tại sao?)
  2. Tính có thể kiểm tra (GoBD Rz. 147) - việc ghi sổ phải có thể kiểm tra (khả năng theo dõi 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 đổi là các mục mới)

Git đáp ứng cả ba về mặt cấu trúc - không phải bằng các kiểm soát bổ sung sau đó, mà bằng 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 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 Git-Repo sẽ đáp ứng tính có thể truy vết, tính có thể kiểm tra và tính bất biến về mặt cấu trúc - không phải bằng các kiểm soát bổ sung.

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

GoBD (Nguyên tắc quản lý 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ư truy cập dữ liệu) là một công văn của 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 phát 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 đối với cơ quan thuế)
Cơ sở § 146 AO (quy định về trật tự), § 147 AO (lưu trữ), HGB (§§ 238–241)
Hiệu lực Đối với tất cả doanh nhân ghi sổ điện tử (trên thực tế: tất cả)
Phạm vi 146 số lề (Rz.)

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

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

1. Tính có thể truy vết (GoBD Rz. 146)

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

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

Yêu cầu GoBD Cách Git đáp ứng
Ai đã ghi sổ? git log --author hiển thị từng tác giả 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 những gì đã được thêm/thay đổi
Tại sao được ghi sổ? Commit-Message ghi lại lý do
Trong vai trò nào? Trường role trong tạo tác 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. Tính có thể kiểm tra (GoBD Rz. 147)

GoBD Rz. 147: "Việc ghi sổ phải được thiết kế sao cho có thể kiểm tra được."

Điều này có nghĩa là: Việc ghi sổ phải có thể theo dõi ngược và xuôi (xem ED03):

Yêu cầu GoBD Cách Git đáp ứng
Khả năng theo dõi ngược source_sha256 trong mục nhật ký → chứng từ
Khả năng theo dõi xuôi V7GUID trong chứng từ → mục nhật ký → sổ nhật ký
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 sổ nhật ký có source_sha256

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

GoBD Rz. 146: "Các mục không được thay đổi theo cách khiến nội dung ban đầu không còn có thể 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 đổi phải được thực hiện như các mục mới kèm lý do.

Yêu cầu GoBD Cách Git đáp ứng
Không thay đổi sau đó Các commit Git là bất biến (băm SHA-256)
Sửa đổi là các mục mới Các commit mới với obsolescence: superseded_by
Sửa đổi có thể truy vết git log hiển thị bản gốc + sửa đổi + lý do
Protected Branches Nhánh main được bảo vệ, không có force-push
Tags làm dấu phát hành Các tag đánh dấu trạng thái đã phát hành (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 rebase và git commit --amend

  • nhưng chỉ lịch sử tuyến tính không viết lại là phù hợp với GoBD. Pre-Commit-Hook kiểm tra rằng không có force-push lên main và rằng các sửa đổi được thực hiện như các commit mới với đánh dấu lỗi thời (Obsoleszenz).

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 Bút toán "riêng lẻ, đầy đủ, đúng đắn, kịp thời và có trật tự" Rz. 146 (Tính có thể truy vết)
§ 146 Abs. 4 AO Không thay đổi làm cho 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 (Tính sẵn có)
§ 147 Abs. 2 AO "có thể được đánh giá bằng máy" Rz. 147 (Tính có thể kiểm tra)
§ 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 GoBD (Z1, Z2, Z3)

GoBD định nghĩa ba loại truy cập mà cơ quan quản lý tài chính có thể sử dụng trong một cuộc kiểm tra 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 yêu cầu, doanh nhân đánh giá git log --since, git grep, xuất JSON
Z3 (bàn giao vật mang dữ liệu) Doanh nhân bàn giao dữ liệu trên vật mang dữ liệu git bundle như kho lưu trữ tự chứa

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 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 tạo repo trên hệ thống của mình và thực hiện tất cả các thao tác Z1/Z2. Đó là xuất Z3 phù hợp với GoBD "by Design".

Phần mở rộng GitCover: Static-Web làm truy cập cho kiểm toán 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ể tạo ra một Static-Website có thể điều hướng bằng trình duyệt từ Tenant Evidence Package trong khuôn khổ kết thúc kỳ. Website 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 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 đảm bảo bằng manifest với checksum SHA-256, không phải bằng quyền truy cập. Đó 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.

Thuộc tính git bundle (Z3) Static-Web (Z3+)
Kiểm toán viên cần Git được cài đặt Chỉ trình duyệt
Điều hướng CLI (git log, git show) Trình duyệt (nhấp, tìm kiếm)
Đánh giá 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 dưới dạng HTML
Tính toàn vẹn Git-SHA-256 Manifest + SHA-256 cho mỗi 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) tạo kết thúc kỳ cho FY2026. Công cụ GitCover tạo một Tenant Evidence Package với git bundle (cho kiểm toán viên có kỹ năng kỹ thuật) và một Static-Website (cho 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 stick - tự chứa, ngoại tuyến, 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 (rẻ) Ngày mai (an toàn kiểm toán) 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 có thể truy vết trong thời gian hợp lý Phủ nhận tính đúng quy định
V7GUID + SHA-256 cho mỗi mục Khả năng theo dõi ngược/xuôi Giảm giá trị chứng cứ
Tags + Protected Branches Tính bất biến sau khi phát hành Vi phạm GoBD do thay đổi sau đó
git bundle làm xuất Z3 Bàn giao vật mang dữ liệu không cần tài khoản cloud Vi phạm GoBD do hệ thống cũ không khả dụng
Đánh dấu lỗi thời Sửa đổi có thể truy vết Thay đổi bị che giấu
Static-Web làm Z3+ (kết thúc kỳ) Truy cập cho kiểm toán viên không cần IAM, chỉ 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 như tạo tác Git được quản lý phiên bản MUST
FA-6.2 Sổ nhật ký (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-Packages (Git-Bundles) MUST
FA-6.6 Tính bất biến sau khi phát hành (Tags, Protected Branches) MUST
FA-6.7 Trình tạo Static-Web cho kết thúc kỳ (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 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 lỗi thời (không commit lên obsolete) SHOULD

Danh sách yêu cầu đầy đủ 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
Primary / SSoT git.gitcover.org/GCC Kho lưu trữ chuẩn (ký GPG, được quản lý 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 loại nguồn, mirror và community hub này 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 hiện tại.