Báo cáo kiểm tra tính không thể thay đổi của dữ liệu

Cơ quan thuế ở một số quốc gia yêu cầu các công ty phải chứng minh các mục nhập kế toán đã đăng không bị thay đổi, nghĩa là một khi mục nhập đã được bảo mật thì sẽ không thể thay đổi được nữa.

Để thực hiện như vậy, Odoo tạo một dấu vân tay duy nhất cho mỗi mục nhập được bảo mật nhờ thuật toán SHA-256. Dấu vân tay này được gọi là hàm băm. Hàm băm được tạo bằng cách lấy dữ liệu cần thiết của mục nhập (các giá trị của các trường name, date, journal_id, company_id, debit, credit, account_idpartner_id), nối chúng lại và đưa vào hàm băm SHA-256, sau đó xuất ra một chuỗi ký tự có kích thước cố định (256 bit). Hàm băm là hàm xác định (cùng một đầu vào luôn tạo ra cùng một đầu ra): bất kỳ sửa đổi nhỏ nào đối với dữ liệu gốc sẽ thay đổi hoàn toàn hàm băm kết quả. Do đó, thuật toán SHA-256 thường được sử dụng, trong số những mục đích khác, cho mục đích xác minh tính toàn vẹn của dữ liệu.

Ngoài ra, hàm băm của mục nhập trước luôn được thêm vào mục nhập tiếp theo để tạo thành chuỗi băm. Điều này được sử dụng để đảm bảo mục nhập mới không được thêm vào sau đó giữa hai mục nhập được bảo mật, vì làm như vậy sẽ phá vỡ chuỗi băm.

Ghi chú

Các hàm băm do thuật toán SHA-256 tạo ra về mặt lý thuyết không phải là duy nhất, vì có một số lượng hữu hạn các giá trị có thể. Tuy nhiên, con số này lại cực kỳ cao: 2²⁵⁶, lớn hơn nhiều so với số lượng nguyên tử trong vũ trụ đã biết. Đây là lý do tại sao các hàm băm được coi là duy nhất trong thực tế.

Tính năng không thay đổi

Các tính năng không thể thay đổi có thể được kích hoạt bằng cách kích hoạt :ref:`bảo mật các mục đã đăng bằng hàm băm<data-inalterability/restricted> ` tùy chọn trên bất kỳ tạp chí nào hoặc sử dụng trình hướng dẫn mục nhập an toàn :ref:`<data-inalterability/wizard> `.

  • Hai chỉ báo được thêm vào dạng xem biểu mẫu của mục nhập nhật ký. Chúng cho biết mục nhập có được bảo mật hay không.

    • hoặc (lock icon) bên cạnh trạng thái Đã đăng.

    • Hộp kiểm Secured trong tab Thông tin khác.

  • Bộ lọc Not Secured có sẵn trên các mục nhật ký và chế độ xem danh sách các mục nhật ký. Có thể sử dụng bộ lọc này để tìm các mục nhật ký đã đăng nhưng chưa được bảo mật.

  • Tùy chọn để mở trình hướng dẫn mục nhập an toàn<data-inalterability/wizard> ` được hiển thị trong menu :guilabel:`Kế toán.

Bảo mật các mục đã đăng bằng hàm băm

Để kích hoạt chức năng băm trên một tạp chí cụ thể, hãy vào Accounting --gt; Configuration --gt; Journals. Mở một tạp chí bán hàng, mua hàng hoặc tạp chí hỗn hợp, vào tab Advanced Settings và bật Secure Posted Entries with Hash. Các tạp chí có tính năng này được kích hoạt được gọi là &quot;restricted&quot;.

Để tính toán hàm băm của một mục nhập, Odoo sẽ truy xuất các mục nhập tiền nhiệm của chuỗi (tức là các mục nhập có cùng tiền tố chuỗi) và băm chúng theo cách liên tục từ mục nhập được băm cuối cùng đến mục nhập mới để băm.

Cảnh báo

Sau khi bạn đăng một mục trong nhật ký bị hạn chế, bạn không thể tắt tính năng này nữa hoặc chỉnh sửa bất kỳ mục nào được bảo mật.

Trình hướng dẫn nhập an toàn

Bạn cũng có thể sử dụng Trình hướng dẫn Mục nhập an toàn để bảo mật tất cả các mục nhập nhật ký, trong tất cả nhật ký, cho đến một ngày cụ thể.

Ghi chú

Trình hướng dẫn hoạt động độc lập với cài đặt nhật ký và loại nhật ký.

Để mở nó, hãy kích hoạt chế độ developer<developer-mode> `, hãy vào :menuselection:`Kế toán --&gt; Kế toán, và nhấp vào Mục nhập an toàn. Nếu :ref:`tính năng không thể thay đổi<data-inalterability/inalterability_features> ` được kích hoạt, nó cũng hiển thị bên ngoài chế độ gỡ lỗi.

Để bảo mật các mục nhập, hãy chọn ngày mà tất cả các mục nhập cần được bảo mật và nhấn Bảo mật các mục nhập.

Cảnh báo

Sau khi bảo mật các mục nhập, bạn không thể chỉnh sửa chúng nữa.

Ghi chú

Có thể xảy ra trường hợp các mục nhập sau ngày đã chọn được bảo mật. Điều này có thể xảy ra vì chuỗi băm tương ứng với tiền tố chuỗi, được sắp xếp theo số chuỗi.

Tải báo cáo

Để tải xuống báo cáo kiểm tra tính bất biến của dữ liệu, hãy vào Kế toán --gt; Cấu hình --gt; Cài đặt --gt; Báo cáo và nhấp vào Tải xuống Báo cáo kiểm tra tính bất biến của dữ liệu.

Phần đầu tiên của báo cáo là tổng quan về tất cả các tiền tố chuỗi nhật ký có chứa các mục đã băm. Trong cột Restricted, bạn có thể xem nhật ký có các mục đã đăng an toàn với băm hay không<data-inalterability/restricted> ` tùy chọn (V) được kích hoạt hay không (X). Cột :guilabel:`Kiểm tra cho bạn biết liệu tất cả các mục nhập có được băm chính xác hay không.

Báo cáo cấu hình cho hai tạp chí

Phần thứ hai cung cấp kết quả chi tiết hơn về kiểm tra tính nhất quán của dữ liệu cho mỗi tiền tố chuỗi nhật ký băm. Bạn có thể xem mục băm đầu tiên và băm tương ứng, cũng như mục băm cuối cùng và băm tương ứng.

Báo cáo kiểm tra tính nhất quán dữ liệu cho một tạp chí