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:
- GoBD như cuốn sách bảy chìa khóa - GoBD (công văn BMF, 146 trang) được soạn thảo theo lối pháp lý trừu tượng, khó tiếp cận đối với người không chuyên
- "Kế toán viên thuế sẽ lo việc này" - nhiều doanh nhân giao việc tuân thủ GoBD cho StB mà không tự hiểu điều gì được yêu cầu - và trả phí cho việc đó
- Giải pháp rời rạc - phần mềm tính lương, kế toán và kho lưu trữ chứng từ là các thành phần riêng lẻ, không tuân thủ GoBD xuyên suốt
- PDF được coi là "điện tử" - nhiều người tin rằng một tệp PDF trên ổ cứng đáp ứng GoBD - nhưng GoBD yêu cầu khả năng phân tích tự động (§ 147 Abs. 6 AO), không chỉ lưu trữ
- Không có tài liệu quy trình - GoBD Rz. 64–91 yêu cầu một tài liệu quy trình, nhưng ai ở SME có tài liệu đó?
- Thay đổi sau khi ghi sổ - các bút toán được "điều chỉnh" mà không thể truy vết thay đổi - GoBD Rz. 146 yêu cầu tính bất biến
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ế:
- 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?)
- 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)
- 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:
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) |
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):
- Ngược chiều: từ bản ghi kế toán → chứng từ → bản ghi sổ nhật ký → V7GUID
- Thuận chiều: từ chứng từ → bản ghi kế toán → sổ cái → bảng cân đối khai mở
| 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) |
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 rebasevà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
mainvà 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ý
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 bundlechứ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ùnggit 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:
- Toàn bộ tài liệu DMS (chứng từ, hóa đơn, hợp đồng) dưới dạng HTML/PDF
- Hợp đồng xuyên suốt các kỳ và tài liệu kéo dài nhiều kỳ
- Báo cáo phân tích (sổ cái, sổ nhật ký, báo cáo kết quả hoạt động kinh doanh, bảng cân đối)
- Quy định quy trình (tài liệu quy trình, bảng tài khoản)
- Sidecars (
.v7g.mdvới V7GUID, SHA-256, phân loại) - Bằng chứng toàn vẹn (manifest với tổng kiểm)
(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.htmltrong 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ồmgit 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 clonehoặcindex.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
- GoBD (công văn BMF ngày 28.11.2019, BStBl I S. 1269, sửa đổi gần nhất ngày 14.07.2025, BStBl I S. 1502)
- AO (§ 146 - quy định về trật tự, § 147 - lưu giữ, § 162 - ước tính, § 152 - phụ thu nộp chậm)
- HGB (§§ 238–241 - nghĩa vụ lập sổ sách)
E1/agents/(ẩn danh) - khái niệm SSoT với cách sử dụng Git tuân thủ GoBDGitCover.Ledger/docs/02-Tenant-Evidence-Package.md- khái niệm Tenant Evidence Package (đóng kỳ kế toán, vai trò repo, quy tắc đầy đủ)GitCover.Toolbox- bộ công cụ GitCover (phân tích, V7GUID, thành phần UI)
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.