ED07 - 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à ngoại lệ hiếm gặp:

Thông điệp chính

Một tài liệu quy trình tuân thủ GoBD trong Git-Repo 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 truy vết được - 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 Tags - 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 di chuyển, một commit mới kèm lý do sẽ được tạo, phiên bản cũ vẫn truy vết được
  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àm sau - nó hình thành thông qua việc sử dụng Git. Ai làm việc với Git-Repositories thì tự động ghi chép quy trình của mình 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["Tài liệu quy trình
(GoBD Rz. 64–91)"] VD --> V["Quy trình
(Hạch toán như thế nào?)"] VD --> S["Môi trường hệ thống
(Phần mềm/Phần cứng nào?)"] VD --> O["Tổ chức
(Ai làm gì?)"] VD --> K["Kiểm soát
(Kiểm tra như thế nào?)"] VD --> D["Dữ liệu
(Định dạng/Cấu trúc nào?)"] 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 schemas, dictionaries; 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, Sphären, Obsoleszenz); 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 Git-Repo

ORG-1/
├── .gitcover/
│   ├── schemas/                    # Cấu trúc dữ liệu (Rz. 86–91)
│   │   ├── diary-entry-1.0.schema.json
│   │   ├── v7g-sidecar-1.0.schema.json
│   │   └── timesheet-1.0.schema.json
│   ├── dictionaries/               # Phân loại (Rz. 86–91)
│   │   ├── spheres.json
│   │   ├── roles.json
│   │   └── beleg-types.json
│   └── LEGAL_ENTITY.v7g.json       # Định danh Tenant
├── docs/
│   └── verfahrensdokumentation/
│       ├── README.md               # Bắt đầu + Tổng quan
│       ├── 01-verfahren.md         # Quy trình kế toán (Rz. 64–71)
│       ├── 02-systemumgebung.md    # Phần mềm/Phần cứng (Rz. 72–76)
│       ├── 03-organisation.md      # Trách nhiệm (Rz. 77–80)
│       ├── 04-kontrollen.md        # Kiểm soát nội bộ (Rz. 81–85)
│       └── 05-daten.md             # Cấu trúc dữ liệu (Rz. 86–91)
└── .githooks/
    ├── pre-commit                  # Kiểm soát (Rz. 81–85)
    └── post-commit                 # Tạo index

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. Composite Key V7GUID:uuidV7 phục vụ cho việc tổ chức lưu trữ và DB-Query. Không có trường datetime/date riêng - 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["Bản nháp
Commit 1"] E --> R["Rà soát
Commit 2 (Thay đổi)"] R --> F["Phê duyệt
Tag: vd-v1.0-2026"] F --> P["Sản xuất
Trạng thái v1.0"] P --> A["Cần thay đổi
(ví dụ: thay đổi hệ thống)"] A --> E2["Bản nháp v2.0
Commit 3"] E2 --> R2["Rà soát v2.0"] R2 --> F2["Phê duyệt
Tag: vd-v2.0-2027"] F2 --> P2["Sản xuất
Trạng thái 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 Liên quan đến 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 với 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)
Obsoleszenz Phiên bản cũ obsolescence: superseded_by Rz. 146 (Khả năng truy vết)

Quan trọng - Tags 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). Người kiểm tra có thể 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 bằng git show vd-v1.0-2026.

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

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FBFAF7','primaryTextColor':'#0F1B33','primaryBorderColor':'#6B7280','lineColor':'#6B7280'}}}%% flowchart LR A["Hệ thống cũ
(ví dụ: Cloud-Lohn)"] A --> M["Di chuyển
Commit kèm lý do"] M --> N["Hệ thống mới
(ví dụ: Git-Cover)"] A --> DA["Dữ liệu cũ
git bundle
(self-contained)"] N --> DN["Dữ liệu mới
Git-Repo
(được tiếp tục)"] M --> VD["Tài liệu quy trình
được cập nhật tiếp
+ Commit-Message
kèm lý do"] 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 ED05 Z3)
  2. Cập nhật tiếp tài liệu quy trình - commit mới kèm lý do: "Di chuyển 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 di chuyển như thế nào, các 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) di chuyển từ phần mềm tính lương trên cloud sang GitCover. Ông/chị tạo một git bundle của dữ liệu cũ, cập nhật tiếp tài liệu quy trình (commit mới với Commit-Message "Di chuyển sang GitCover, 260815, vai trò: GF"), đánh dấu phiên bản cũ là superseded và tag phiên bản mới là vd-v2.0-2027. Người kiểm tra có thể truy vết cả hai phiên bản.

Bản thân repo như là 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
Quy trình (Rz. 64–71)"] R --> GC["git config
Môi trường hệ thống (Rz. 72–76)"] R --> GA["git log --author
Tổ chức (Rz. 77–80)"] R --> GH["Git-Hooks
Kiểm soát (Rz. 81–85)"] R --> SC["Schemas + Sidecars
Dữ liệu (Rz. 86–91)"] GL --> VD["Tài liệu quy trình
hình thành tự động"] 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

Nhận thức cốt lõi: Một Git-Repo chính 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, schemas 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 là chính repo.

Đò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 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ý Phủ nhận tài liệu quy trình
Tags 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 Phủ nhận trạng thái
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 Obsoleszenz Các phiên bản cũ truy vết được Các thay đổi bị che giấu
Bản thân repo làm tài liệu quy trình Tự động ghi chép thông qua 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ừ ED07:

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 tài khoản lương) SHOULD
FA-6.6 Tính không thể thay đổi sau phê duyệt (Tags, Protected Branches) MUST
FA-6.7 Trình tạo web tĩnh cho kết kỳ (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 Obsoleszenz 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 liên kết 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ữ chuẩn tắc (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 bổ nguồn, mirror và community-hub này phản ánh trạng thái hiện tại và có thể thay đổi. Vui lòng kiểm tra nguồn chuẩn tắc tương ứng trên gitcover.org để biết trạng thái mới nhất.