ED06 - Tài liệu quy trình GoBD: Các trường bắt buộc, quản lý phiên bản, phê duyệt

Vấn đề

GoBD Rz. 64–91 yêu cầu có tài liệu quy trình - nhưng trong khu vực doanh nghiệp vừa và nhỏ, đây lại là ngoại lệ lớn:

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

Một tài liệu quy trình tuân thủ GoBD trong kho Git có nghĩa là:

  1. Tài liệu quy trình là một Git artifact được quản lý phiên bản - không phải tệp Word, mà là Markdown + JSON trong repo
  2. Mọi thay đổi đều có thể truy vết - git log hiển thị Ai, Khi nào, Cái gì, Tại sao (tác giả commit, dấu thời gian uuidV7, diff, commit message)
  3. Phê duyệt bằng tag - một Git tag đánh dấu trạng thái đã phê duyệt của tài liệu quy trình (ví dụ: vd-v1.0-2026)
  4. Thay đổi hệ thống được cập nhật tiếp - khi chuyển đổi, một commit mới kèm lý do được tạo ra, phiên bản cũ vẫn có thể truy vết
  5. Bản thân repo là một phần của tài liệu quy trình - git log hiển thị quy trình, .gitcover/schemas/ hiển thị cấu trúc dữ liệu, Git hooks hiển thị các kiểm soát

Compliance by Design: Tài liệu quy trình không phải là thứ làm thêm về sau - nó hình thành ngay qua việc sử dụng Git. Ai làm việc với các kho Git thì tự động tài liệu hóa quy trình của mình thông qua các commit, diff và tag. Tài liệu quy trình chính thức bổ sung điều này bằng phần mô tả dễ đọc cho con người.

Tài liệu quy trình là gì?

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD VD["Verfahrensdokumentation
(GoBD Rz. 64–91)"] VD --> V["Verfahren
(Wie wird gebucht?)"] VD --> S["Systemumgebung
(Welche Software/Hardware?)"] VD --> O["Organisation
(Wer macht was?)"] VD --> K["Kontrollen
(Wie wird geprüft?)"] VD --> D["Daten
(Welche Formate/Strukturen?)"] V --> G["Git-Repo
(Commits, Hooks)"] S --> G O --> G K --> G D --> G style VD fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style V fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style S fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style O fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style K fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style D fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style G fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33
Yêu cầu GoBD Nội dung Git đáp ứng như thế nào
Quy trình (Rz. 64–71) Mô tả quy trình kế toán git log hiển thị từng bước; commit message ghi chép lý do
Môi trường hệ thống (Rz. 72–76) Phần mềm, phần cứng, phiên bản .gitcover/ với schema, dictionary; git config hiển thị cài đặt
Tổ chức (Rz. 77–80) Trách nhiệm, vai trò, quyền hạn Trường role cho mỗi artifact; git log --author hiển thị trách nhiệm
Kiểm soát (Rz. 81–85) Kiểm soát nội bộ, kiểm tra tính hợp lý Pre-commit hooks (schema, sphere, obsolescence); post-commit hooks (index)
Dữ liệu (Rz. 86–91) Cấu trúc dữ liệu, định dạng, giao diện JSON schema trong .gitcover/schemas/; sidecar với v7g_taxonomy

Các trường bắt buộc của tài liệu quy trình

Cấu trúc trong kho Git

ORG-1/
├── .gitcover/
│   ├── schemas/                    # Datenstrukturen (Rz. 86–91)
│   │   ├── diary-entry-1.0.schema.json
│   │   ├── v7g-sidecar-1.0.schema.json
│   │   └── timesheet-1.0.schema.json
│   ├── dictionaries/               # Klassifizierungen (Rz. 86–91)
│   │   ├── spheres.json
│   │   ├── roles.json
│   │   └── beleg-types.json
│   └── LEGAL_ENTITY.v7g.json       # Tenant-Identität
├── docs/
│   └── verfahrensdokumentation/
│       ├── README.md               # Einstieg + Übersicht
│       ├── 01-verfahren.md         # Buchführungsverfahren (Rz. 64–71)
│       ├── 02-systemumgebung.md    # Software/Hardware (Rz. 72–76)
│       ├── 03-organisation.md      # Zuständigkeiten (Rz. 77–80)
│       ├── 04-kontrollen.md        # Internen Kontrollen (Rz. 81–85)
│       └── 05-daten.md             # Datenstrukturen (Rz. 86–91)
└── .githooks/
    ├── pre-commit                  # Kontrollen (Rz. 81–85)
    └── post-commit                 # Index-Generierung

Tài liệu quy trình dưới dạng JSON artifact

Bản thân tài liệu quy trình là một artifact được quản lý phiên bản với V7GUID (Class) và uuidV7 (Object ID dưới dạng DocID):

{
  "$schema": "https://gitcover.org/schemas/verfahrensdoku-1.0.schema.json",
  "V7GUID": "<V7GUID-Class-aus-Registry>",
  "uuidV7": "<uuidV7-Object-mit-vorgegebener-Zeitmarke>",
  "author": "E1",
  "role": "GF",
  "tenant": "ORG-1",
  "sphere": "wirtschaftlich",
  "source": "E1",
  "version": "1.0",
  "status": "released",
  "sections": ["01-verfahren", "02-systemumgebung", "03-organisation", "04-kontrollen", "05-daten"]
}

Lưu ý: uuidV7 là DocID của tài liệu quy trình. Khóa tổng hợp (composite key) V7GUID:uuidV7 phục vụ việc tổ chức lưu trữ và truy vấn DB. Không có trường datetime/date riêng biệt - thời gian nằm ngay trong uuidV7.

Quản lý phiên bản và phê duyệt

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD E["Entwurf
Commit 1"] E --> R["Review
Commit 2 (Änderungen)"] R --> F["Freigabe
Tag: vd-v1.0-2026"] F --> P["Produktiv
Stand v1.0"] P --> A["Änderung nötig
(z. B. Systemwechsel)"] A --> E2["Entwurf v2.0
Commit 3"] E2 --> R2["Review v2.0"] R2 --> F2["Freigabe
Tag: vd-v2.0-2027"] F2 --> P2["Produktiv
Stand v2.0"] F -.-> OBS["obsolescence:
v1.0 → superseded by v2.0"] style E fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style R fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style F fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style P fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style A fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style E2 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style R2 fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style F2 fill:#10A987,stroke:#0A7F5C,color:#FBFAF7 style P2 fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style OBS fill:#E5E7EB,stroke:#6B7280,color:#0F1B33
Giai đoạn Thao tác Git Đối chiếu GoBD
Bản nháp Commit trên main (hoặc feature branch) Rz. 83 (tính cập nhật)
Rà soát Các commit tiếp theo chứa thay đổi Rz. 83 (khả năng truy vết)
Phê duyệt git tag vd-v1.0-2026 Rz. 83 (trạng thái có giá trị ràng buộc)
Sản xuất Tag không thể thay đổi (Protected) Rz. 146 (tính không thể thay đổi)
Thay đổi Commit mới + tag mới Rz. 146–150 (thay đổi hệ thống)
Obsolescence Phiên bản cũ obsolescence: superseded_by Rz. 146 (khả năng truy vết)

Quan trọng - Tag làm dấu hiệu phê duyệt: Một Git tag là không thể thay đổi - nó đánh dấu một trạng thái commit chính xác mà không thể bị sửa đổi về sau. Điều này tương ứng với GoBD Rz. 146 (tính không thể thay đổi). Kiểm tra viên có thể dùng git show vd-v1.0-2026 để tái dựng trạng thái chính xác của tài liệu quy trình tại thời điểm kiểm tra.

Thay đổi hệ thống và chuyển đổi (GoBD Rz. 146–150)

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR A["Altes System
(z. B. Cloud-Lohn)"] A --> M["Migration
Commit mit Begründung"] M --> N["Neues System
(z. B. Git-Cover)"] A --> DA["Daten alt
git bundle
(self-contained)"] N --> DN["Daten neu
Git-Repo
(fortgeführt)"] M --> VD["Verfahrensdoku
fortgeschrieben
+ Commit-Message
mit Begründung"] style A fill:#FDBA74,stroke:#C2410C,color:#0F1B33 style M fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style N fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style DA fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style DN fill:#D1FAE5,stroke:#0A7F5C,color:#0F1B33 style VD fill:#10A987,stroke:#0A7F5C,color:#FBFAF7

GoBD Rz. 146–150 yêu cầu khi thay đổi hệ thống:

  1. Giữ cho dữ liệu của hệ thống cũ luôn sẵn có - git bundle dưới dạng kho lưu trữ self-contained (không cần tài khoản cloud, xem ED04 Z3)
  2. Cập nhật tiếp tài liệu quy trình - commit mới kèm lý do: "Chuyển đổi từ Cloud-Lohn sang GitCover, ngày tháng, vai trò"
  3. Ghi chép giai đoạn chuyển tiếp - dữ liệu nào đã được chuyển đổi như thế nào, những kiểm tra nào đã được thực hiện
  4. Đánh dấu phiên bản cũ là lỗi thời - obsolescence: superseded_by trong artifact tài liệu quy trình cũ

Ví dụ thực tế: Doanh nhân (E1) chuyển đổi từ một phần mềm tính lương trên cloud (Cloud-Lohn) sang GitCover. Ông tạo một git bundle cho dữ liệu cũ, cập nhật tiếp tài liệu quy trình (commit mới với commit message "Migration zu GitCover, 260815, Rolle: GF"), đánh dấu phiên bản cũ là superseded và tag phiên bản mới là vd-v2.0-2027. Kiểm tra viên có thể truy vết cả hai phiên bản.

Bản thân repo như một tài liệu quy trình

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart TD R["Git-Repo"] R --> GL["git log
Verfahren (Rz. 64–71)"] R --> GC["git config
Systemumgebung (Rz. 72–76)"] R --> GA["git log --author
Organisation (Rz. 77–80)"] R --> GH["Git-Hooks
Kontrollen (Rz. 81–85)"] R --> SC["Schemata + Sidecars
Daten (Rz. 86–91)"] GL --> VD["Verfahrensdokumentation
entsteht automatisch"] GC --> VD GA --> VD GH --> VD SC --> VD style R fill:#0F1B33,stroke:#0F1B33,color:#FBFAF7 style GL fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GC fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GA fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style GH fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style SC fill:#DBEAFE,stroke:#1D4ED8,color:#0F1B33 style VD fill:#10A987,stroke:#0A7F5C,color:#FBFAF7

Điểm mấu chốt: Một kho Git bản thân nó đã là một tài liệu quy trình - git log hiển thị quy trình, git config hiển thị môi trường hệ thống, Git hooks hiển thị các kiểm soát, schema hiển thị cấu trúc dữ liệu. Tài liệu quy trình chính thức (Markdown trong docs/verfahrensdokumentation/) bổ sung điều này bằng phần mô tả dễ đọc cho con người - nhưng nguồn có thẩm quyền chính là bản thân kho đó.

Đòn bẩy rủi ro

Hôm nay (chi phí thấp) Ngày mai (an toàn kiểm toán) Rủi ro được giảm thiểu
Tài liệu quy trình dưới dạng Git artifact GoBD Rz. 64–91 được đáp ứng by Design Ước tính thuế theo § 162 AO (không có tài liệu quy trình)
git log làm bằng chứng quy trình Khả năng truy vết trong thời gian hợp lý Tài liệu quy trình bị bác bỏ
Tag làm dấu hiệu phê duyệt Trạng thái không thể thay đổi tại thời điểm kiểm tra Trạng thái bị bác bỏ
Thay đổi hệ thống dưới dạng commit + bundle Tuân thủ GoBD Rz. 146–150 Vi phạm GoBD do thay đổi không được ghi chép
Đánh dấu obsolescence Các phiên bản cũ có thể truy vết Các thay đổi bị che giấu
Bản thân repo làm tài liệu quy trình Tài liệu hóa tự động nhờ việc sử dụng Tài liệu quy trình lỗi thời

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

Có thể suy ra từ ED06:

ID Yêu cầu Mức ưu tiên
FA-6.1 Tài liệu quy trình dưới dạng Git artifact được quản lý phiên bản MUST
FA-6.3 Quản lý hệ thống tài khoản SKR04 (bao gồm cả tài khoản lương) SHOULD
FA-6.6 Tính không thể thay đổi sau phê duyệt (tag, protected branch) MUST
FA-6.7 Trình tạo web tĩnh cho việc kết thúc kỳ kế toán (Z3+) 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 SHOULD
TA-2.6 Post-commit: tự động tạo index SHOULD

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

Nguồn

Cấu trúc nguồn và 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 Mirror chỉ đọc; khám phá FLOSS
Community Hub github.com/gitcover-commons Issues & Discussions; tham chiếu mã nguồn tới Codeberg

Lưu ý: Cách phân bổ 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.