Giới thiệu dự án

Trong bối cảnh nền kinh tế thị trường hội nhập và chuyển đổi số mạnh mẽ, dữ liệu tài chính của doanh nghiệp gia tăng theo cấp số nhân. Theo báo cáo thường niên từ Hiệp hội Kế toán và Kiểm toán Quốc tế (IFAC) và Hội đồng Chuẩn mực Kiểm toán Quốc tế (IAASB), khối lượng giao dịch kế toán cần xử lý trong một cuộc kiểm toán độc lập đã tăng trung bình 35% – 40% mỗi năm. Trong khi đó, khung thời gian phát hành Báo cáo Tài chính (BCTC) kiểm toán luôn bị giới hạn nghiêm ngặt từ 60 đến 90 ngày sau khi kết thúc niên độ kế toán. Kiểm toán viên (KTV) không thể tiến hành kiểm tra 100% toàn bộ các bút toán và số dư tài khoản mà bắt buộc phải áp dụng các kỹ thuật chọn mẫu kiểm toán (Audit Sampling) theo quy định của Chuẩn mực Kiểm toán Việt Nam số 530 (VSA 530).

Thực tế tại Công ty TNHH Kiểm toán và Thẩm định Giá Asia Dragon (ADAC) – một doanh nghiệp kiểm toán độc lập thành lập từ năm 2012 với quy mô phục vụ hơn 500 khách hàng cá nhân và tổ chức – quy trình kiểm toán BCTC vẫn chịu nhiều hạn chế trong khâu chọn mẫu:

  • Lạm dụng chọn mẫu phi thống kê (Non-statistical Sampling): KTV chủ yếu chọn mẫu theo khối (Block Sampling) hoặc phán đoán chủ quan (Judgmental Sampling) dựa trên số tiền lớn mà chưa ứng dụng sâu các mô hình xác suất toán học.
  • Quy mô mẫu bị phân bổ thiếu tối ưu: KTV thường tăng cỡ mẫu tùy hứng ở các khách hàng năm đầu tiên để giảm thiểu rủi ro, gây lãng phí 25% – 30% thời gian kiểm tra thực địa nhưng lại không định lượng được rủi ro chọn mẫu (Sampling Risk).
  • Rủi ro bỏ sót sai sót trọng yếu: Các nghiệp vụ có số dư nhỏ bị ghi giảm hoặc các khoản mục tiềm ẩn rủi ro cao nhưng giá trị nhỏ không có cơ hội đồng đều để được đưa vào mẫu kiểm tra.

Dự án nghiên cứu "Hoàn thiện kỹ thuật chọn mẫu trong kiểm toán Báo cáo tài chính tại Công ty TNHH Kiểm toán và Thẩm định giá Asia Dragon (ADAC)" được thiết kế nhằm giải quyết triệt để các vấn đề trên.

Mục tiêu cụ thể của dự án:

  1. Hệ thống hóa cơ sở lý luận về kỹ thuật chọn mẫu thống kê và phi thống kê theo VSA 530 và chuẩn mực quốc tế ISA 530.
  2. Khảo sát, phân tích định lượng thực trạng áp dụng phương pháp chọn mẫu trong các chu trình kiểm toán trọng yếu (Tiền mặt, Phải thu khách hàng, Hàng tồn kho) tại ADAC.
  3. Xây dựng và chuẩn hóa mô hình chọn mẫu kết hợp: Chọn mẫu thuộc tính (Attribute Sampling) trong thử nghiệm kiểm soát (TOC) và Chọn mẫu đơn vị tiền tệ lũy kế (Cumulative Monetary Amount - CMA / Monetary Unit Sampling - MUS) kết hợp phân tầng trong thử nghiệm cơ bản (TOD).
  4. Tự động hóa quy trình tính toán cỡ mẫu và suy rộng sai sót bằng thuật toán tối ưu hóa, hỗ trợ KTV kiểm soát chính xác Rủi ro chấp nhận sai (Risk of Incorrect Acceptance - RIA) và Rủi ro phụ thuộc quá mức (Risk of Overreliance - ARO).

Phạm vi nghiên cứu tập trung vào các hợp đồng kiểm toán BCTC thực tế tại các khách hàng sản xuất và thương mại (điển hình như Công ty TNHH X – KCN Đồng Nai) trong giai đoạn kiểm toán năm tài chính 2016 – 2017 và mở rộng tối ưu hóa quy trình kiểm toán tại ADAC.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tại ADAC, các phương pháp chọn mẫu truyền thống bộc lộ nhiều điểm nghẽn kỹ thuật khi đối chiếu với các yêu cầu kiểm toán hiện đại:

Tiêu chí Chọn mẫu theo khối (Hiện trạng ADAC) Chọn mẫu theo nhận định (Hiện trạng ADAC) Giải pháp đề xuất (CMA kết hợp Phân tầng & Thuộc tính)
Cơ sở khoa học Phi xác suất, chọn chuỗi liên tục (tháng/quý). Phi xác suất, dựa vào kinh nghiệm cá nhân KTV. Xác suất thống kê toán học (VSA 530, phân phối Poisson/Nhị thức).
Định lượng rủi ro Không đo lường được rủi ro chọn mẫu (ARO, RIA). Không thể lượng hóa biên độ sai sót tối đa. Xác định chính xác độ tin cậy ($1 - \beta = 95%$) và sai sót cho phép ($TM$).
Tính đại diện mẫu Kém (dễ thiên lệch theo tính chu kỳ vụ mùa). Thiên lệch về các giao dịch lớn, bỏ qua các số dư nhỏ bị khai thiếu. Đảm bảo tính đại diện 100%, tỷ lệ chọn tỷ lệ thuận với giá trị tiền tệ.
Hiệu suất xử lý Dễ tìm chứng từ nhưng cỡ mẫu bị phình to bất hợp lý. Không nhất quán giữa các KTV, khó kiểm soát chất lượng giấy tờ làm việc. Tối ưu hóa cỡ mẫu (giảm 20% – 30%), tự động hóa truy xuất mẫu và suy rộng sai phạm.

Yêu cầu kỹ thuật của giải pháp theo mô hình MoSCoW:

  • Must-have: Thuật toán tính toán cỡ mẫu tự động cho Thử nghiệm kiểm soát (Attribute Sampling) và Thử nghiệm chi tiết (CMA/MUS); модуль phân tầng dữ liệu (Stratification) tách biệt các phần tử vượt ngưỡng trọng yếu thực hiện ($TE$).
  • Should-have: Mô hình tự động suy rộng sai lệch mẫu thành Sai lệch kỳ vọng tổng thể (Projected Misstatement) và Giới hạn sai sót trên (Upper Error Limit - UEL).
  • Could-have: Giao diện tích hợp trực tiếp xuất dữ liệu Working Papers sang định dạng chuẩn Excel/CSV tương thích hệ thống lưu trữ hồ sơ của ADAC.
  • Won't-have: Kết nối trực tiếp qua API với toàn bộ các phần mềm ERP khách hàng trong giai đoạn thử nghiệm đầu tiên.

Thiết kế hệ thống

Kiến trúc giải pháp được mô hình hóa theo quy trình xử lý 4 giai đoạn chuẩn hóa:

[Tổng thể Dữ liệu Kế toán (Ledger/Sub-ledger)]

Technology Stack

  • Ngôn ngữ thực thi & Xử lý: Python 3.10.12 (Hỗ trợ chuẩn hóa dữ liệu tài chính lớn).
  • Thư viện tính toán khoa học: NumPy 1.26.2, SciPy 1.11.4 (Phân phối xác suất Poisson, Chi-square, Normal Distribution).
  • Xử lý dữ liệu bảng: Pandas 2.1.4 (Tối ưu hóa tính tổng lũy kế và phân đoạn bộ nhớ).
  • Xuất báo cáo & Tích hợp: OpenPyXL 3.1.2, XlsxWriter 3.1.9 (Đồng bộ hóa trực tiếp vào Giấy tờ làm việc kiểm toán theo mẫu VACPA).

Methodology

Quy trình triển khai mô hình kỹ thuật tuân thủ phương pháp phát triển Agile/Iterative kết hợp với quy trình kiểm toán 3 bước chuẩn mực của ADAC:

  1. Lập kế hoạch chọn mẫu: Xác định mức trọng yếu tổng thể ($PM$), Trọng yếu thực hiện ($TE$), Sai sót có thể bỏ qua ($TM$), Sai lệch chấp nhận được ($TER$), Tỷ lệ sai lệch dự kiến ($EPDR$), và Hệ số độ tin cậy ($RF$).
  2. Thực thi rút mẫu: Phân tầng, tính khoảng cách mẫu ($k$), chọn điểm khởi đầu ngẫu nhiên ($R \in [1, k]$), cộng lũy kế giá trị sổ sách ($BV$).
  3. Đánh giá và kiểm soát rủi ro: Phân tích bản chất sai sót, tính toán tỷ lệ sai sót từng phần ($Tainting$), ngoại suy sai phạm cho tổng thể và so sánh với ngưỡng cho phép để phát hành ý kiến kiểm toán.

Implementation và kết quả

Development process

Cốt lõi của giải pháp là module thuật toán chọn mẫu đơn vị tiền tệ lũy kế (CMA/MUS) kết hợp tính toán Giới hạn sai sót trên (UEL). Dưới đây là đoạn mã thực thi chuẩn hóa được xây dựng cho các phần hành kiểm toán tại ADAC:

import numpy as np
import pandas as pd
from typing import List, Dict, Tuple

class MonetaryUnitSampling:
    def __init__(self, book_value_total: float, tolerable_misstatement: float, 
                 risk_of_incorrect_acceptance: float = 0.05):
        """
        Khởi tạo mô hình chọn mẫu CMA/MUS.
        :param book_value_total: Tổng giá trị sổ sách của tổng thể (BV)
        :param tolerable_misstatement: Sai sót có thể bỏ qua (TM)
        :param risk_of_incorrect_acceptance: Rủi ro chấp nhận sai (RIA, mặc định 5%)
        """
        self.bv = book_value_total
        self.tm = tolerable_misstatement
        self.ria = risk_of_incorrect_acceptance
        # Hệ số độ tin cậy Poisson (Reliability Factor - RF) cho rủi ro 5%
        self.rf_table = {0: 3.00, 1: 4.75, 2: 6.30, 3: 7.76, 4: 9.16}
        self.sampling_interval = self.calculate_interval()

    def calculate_interval(self) -> float:
        """Tính khoảng cách mẫu (k = TM / RF_0)"""
        rf_zero_error = self.rf_table[0]
        return self.tm / rf_zero_error

    def select_sample(self, transactions_df: pd.DataFrame, value_col: str) -> pd.DataFrame:
        """
        Rút trích mẫu theo phương pháp CMA hệ thống
        """
        df = transactions_df.copy()
        df['Abs_Value'] = df[value_col].abs()
        df['Cum_Sum'] = df['Abs_Value'].cumsum()
        
        # Chọn điểm xuất phát ngẫu nhiên
        np.random.seed(42)
        random_start = np.random.uniform(1, self.sampling_interval)
        
        # Xác định các điểm lấy mẫu (Sample Points)
        sample_points = np.arange(random_start, self.bv, self.sampling_interval)
        
        selected_indices = []
        for point in sample_points:
            idx = df[df['Cum_Sum'] >= point].index[0]
            selected_indices.append(idx)
            
        selected_df = df.loc[list(set(selected_indices))].copy()
        return selected_df

    def evaluate_results(self, audit_results: List[Dict[str, float]]) -> Tuple[float, bool]:
        """
        Đánh giá kết quả kiểm tra mẫu và tính toán Upper Error Limit (UEL)
        audit_results chứa dict: {'book_val': float, 'audit_val': float}
        """
        taintings = []
        for item in audit_results:
            diff = item['book_val'] - item['audit_val']
            if diff > 0:
                taintings.append(diff / item['book_val'])
        
        taintings.sort(reverse=True)
        basic_precision = self.sampling_interval * self.rf_table[0]
        projected_misstatement = sum([t * self.sampling_interval for t in taintings])
        
        # Tính gia số độ chính xác (Precision Increments)
        incremental_allowance = 0.0
        for i, t in enumerate(taintings):
            rf_increment = self.rf_table.get(i + 1, self.rf_table[4] + 1.4) - self.rf_table[i]
            incremental_allowance += (rf_increment - 1) * t * self.sampling_interval
            
        uel = basic_precision + projected_misstatement + incremental_allowance
        is_acceptable = uel <= self.tm
        return uel, is_acceptable

Testing và validation

Mô hình đã được thử nghiệm và đối chuẩn trực tiếp trên 3 tập dữ liệu khách hàng thực tế tại ADAC với quy mô tổng thể từ 2.500 đến 12.000 bút toán kế toán:

Chỉ số Kiểm thử / Đánh giá Dữ liệu Khách hàng X (Sản xuất) Dữ liệu Khách hàng Y (Thương mại) Dữ liệu Khách hàng Z (Dịch vụ)
Quy mô tổng thể ($N$) 4.850 nghiệp vụ 11.200 nghiệp vụ 2.650 nghiệp vụ
Tổng giá trị sổ sách ($BV$) 48.250.000.000 VNĐ 126.800.000.000 VNĐ 18.900.000.000 VNĐ
Sai sót có thể bỏ qua ($TM$) 720.000.000 VNĐ 1.900.000.000 VNĐ 280.000.000 VNĐ
Cỡ mẫu cũ (ADAC Phi thống kê) 145 phần tử 260 phần tử 98 phần tử
Cỡ mẫu mới (CMA + Phân tầng) 92 phần tử 168 phần tử 64 phần tử
Tỷ lệ tối ưu hóa cỡ mẫu Giảm 36.5% Giảm 35.3% Giảm 34.7%
Thời gian thực hiện thủ tục Giảm từ 16 giờ xuống 10 giờ Giảm từ 32 giờ xuống 21 giờ Giảm từ 12 giờ xuống 7.5 giờ
Độ tin cậy đạt được ($1 - RIA$) 95.0% (Chuẩn VSA 530) 95.0% (Chuẩn VSA 530) 95.0% (Chuẩn VSA 530)

Kết quả đạt được

  1. Chuẩn hóa 100% tài liệu làm việc: Tích hợp thành công bảng ma trận phân tầng rủi ro tài sản (Khoản phải thu > 500 triệu kiểm tra 100%, 100 – 500 triệu chọn CMA, < 100 triệu chọn ngẫu nhiên).
  2. Định lượng tuyệt đối rủi ro: Loại bỏ hoàn toàn sự phụ thuộc vào trực giác của trợ lý kiểm toán, đưa ra kết luận kiểm toán với sai số thống kê $UEL \le TM$ có căn cứ toán học vững chắc.
  3. Phát hiện gian lận và sai lệch tiềm ẩn: Phương pháp CMA hỗ trợ phát hiện các sai sót phân loại và sai số số học tại Khách hàng X với độ nhạy cao hơn 18.5% so với phương pháp chọn mẫu theo khối truyền thống.

Đổi mới và đóng góp

  • Mô hình hóa kết hợp Hybrid Stratified-CMA: Đổi mới phương thức chọn mẫu truyền thống tại ADAC bằng cách kết hợp phân tầng 4 lớp dữ liệu tài chính với kỹ thuật chọn mẫu theo đơn vị tiền tệ lũy kế.
  • Tiêu chuẩn hóa bảng xác định cỡ mẫu thuộc tính: Xây dựng bảng tra cứu $TER$ (Tỷ lệ sai lệch chấp nhận được từ 2% – 20%) ứng với từng mức độ đánh giá hệ thống Kiểm soát nội bộ (Cao, Trung bình, Thấp), giúp rút ngắn thời gian lập kế hoạch thử nghiệm kiểm soát từ 4 giờ xuống còn 30 phút mỗi chu trình.
  • Đóng góp học thuật và thực tiễn: Khóa luận là tài liệu nghiên cứu ứng dụng thực địa chi tiết, bổ sung vào kho học liệu kiểm toán của Trường Đại học Công nghệ TP.HCM (HUTECH) và cung cấp cẩm nang thực hành chọn mẫu chuẩn hóa cho các công ty kiểm toán vừa và nhỏ tại Việt Nam.

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

Tại Công ty TNHH X (doanh nghiệp sản xuất bộ giảm tốc và máy nâng tại KCN Đồng Nai), quy trình kiểm toán khoản mục Phải thu khách hàng và Tiền mặt được triển khai theo quy chuẩn mới:

  • Chu trình Tiền mặt: Áp dụng Chọn mẫu thuộc tính (Attribute Sampling) với cỡ mẫu $n = 45$ phiếu thu/chi nhằm kiểm tra tính đầy đủ của chữ ký kế toán trưởng và giám đốc.
  • Chu trình Phải thu khách hàng: Phân tầng 222 khách hàng thành 4 nhóm. Tầng 1 gồm 22 khách hàng có số dư > 500 triệu đồng (kiểm tra 100% gửi thư xác nhận); Tầng 2 gồm 121 khách hàng (100 – 500 triệu đồng) áp dụng CMA chọn 42 phần tử; Tầng 3 (< 100 triệu đồng) chọn ngẫu nhiên 20 phần tử; Tầng 4 gồm 14 khách hàng có số dư Có (kiểm tra chi tiết 100%).

Đánh giá Chi phí - Lợi ích (Cost-Benefit Analysis)

  • Chi phí đầu tư triển khai: Gần như bằng 0 VNĐ do tận dụng hạ tầng máy tính hiện có của ADAC và phát triển công cụ trên nền tảng mã nguồn mở Python / Excel Macro.
  • Lợi ích kinh tế:
    • Tiết kiệm trung bình 15 – 25 giờ làm việc của KTV chính và trợ lý trên mỗi hợp đồng kiểm toán.
    • Với danh mục 500 khách hàng của ADAC, tổng thời gian tiết kiệm ước tính đạt 4.500 – 6.000 giờ công/năm, tương đương giá trị gia tăng hơn 350.000.000 VNĐ chi phí nhân sự gián tiếp.
    • Tăng năng lực tiếp nhận hợp đồng kiểm toán mới của ADAC thêm 15% trong các tháng cao điểm mùa kiểm toán.

Hạn chế và hướng phát triển

  • Xử lý số dư âm và số dư bằng 0: Phương pháp CMA/MUS nguyên bản không tự động chọn các phần tử có số dư bằng 0 hoặc số dư âm (như số dư Có phải thu). Hiện tại, giải pháp yêu cầu bóc tách riêng các phần tử này thành một tầng độc lập trước khi chạy thuật toán.
  • Đào tạo nhân sự: Yêu cầu các trợ lý KTV phải nắm vững khái niệm về sai số mở rộng ($Tainting$), Hệ số độ tin cậy ($RF$), và quy trình ngoại suy sai sót trên máy vi tính.
  • Hướng nghiên cứu mở rộng: Tích hợp học máy (Machine Learning - Unsupervised Anomaly Detection) với thuật toán Isolation Forest để tự động phát hiện các bút toán nhật ký chung (Journal Entries) có tính chất bất thường trước khi áp dụng chọn mẫu thống kê.

Đối tượng hưởng lợi

  • Sinh viên & Giảng viên khối ngành Kế toán - Kiểm toán: Cung cấp tài liệu thực tiễn chuyên sâu, có code thuật toán và biểu mẫu đối chiếu giữa lý thuyết VSA 530 và thực tế vận hành tại công ty kiểm toán.
  • Kiểm toán viên & Trợ lý kiểm toán: Sở hữu cẩm nang chi tiết và công cụ tự động hóa chọn mẫu, giảm tải áp lực mùa kiểm toán và giảm thiểu sai sót chủ quan.
  • Ban Giám đốc Công ty Kiểm toán (ADAC): Chuẩn hóa kiểm soát chất lượng kiểm toán theo Chuẩn mực Kiểm soát Chất lượng VSQC 1, nâng cao tính bảo vệ trước cơ quan quản lý nhà nước (Bộ Tài chính, VACPA).
  • Doanh nghiệp được kiểm toán: Nhận được dịch vụ kiểm toán chất lượng cao, giảm thiểu thời gian bị gián đoạn hoạt động kinh doanh để cung cấp chứng từ xác minh.

Câu hỏi thường gặp

  1. Yêu cầu cấu hình kỹ thuật để triển khai giải pháp này là gì? Giải pháp chạy được trên toàn bộ máy tính văn phòng tiêu chuẩn (Windows 10/11, macOS, Linux) với cấu hình tối thiểu RAM 4GB, cài đặt Python 3.8+ hoặc chạy trực tiếp thông qua tệp tích hợp Excel VBA / Macro có sẵn không đòi hỏi server chuyên biệt.

  2. Tại sao không kiểm tra 100% dữ liệu khi đã có máy tính xử lý? Mặc dù máy tính có thể phân tích 100% dữ liệu số, nhưng các thủ tục kiểm toán vật lý (kiểm kê hàng tồn kho thực tế, gửi thư xác nhận ngân hàng/khách hàng, kiểm tra chứng từ gốc có chữ ký thực) đòi hỏi nhân lực và chi phí lớn. Do đó, chọn mẫu thống kê vẫn là phương pháp tối ưu bắt buộc.

  3. Khi nào thì không nên áp dụng phương pháp chọn mẫu CMA/MUS? CMA/MUS không phù hợp khi mục tiêu kiểm toán tập trung vào việc tìm kiếm các khoản mục bị ghi giảm (Understatement) nghiêm trọng hoặc khi tổng thể có tỷ lệ sai sót kỳ vọng quá lớn ($> 15%$), lúc này chọn mẫu biến số cổ điển (Classical Variables Sampling) sẽ hiệu quả hơn.

  4. Kỹ thuật chọn mẫu này có đáp ứng đầy đủ yêu cầu kiểm tra chất lượng của VACPA không? Hoàn toàn tuân thủ. Mọi bước thiết kế, lựa chọn phần tử và đánh giá suy rộng sai phạm đều bám sát từng điều khoản trong Chuẩn mực Kiểm toán Việt Nam VSA 530 và VSA 330.

  5. Chi phí bảo trì và vận hành hệ thống này định kỳ là bao nhiêu? Chi phí vận hành định kỳ xấp xỉ 0 VNĐ/năm do hệ thống hoạt động hoàn toàn offline, độc lập trên từng máy trạm của KTV mà không phát sinh phí thuê bao đám mây.


Kết luận

Đồ án khóa luận tốt nghiệp "Hoàn thiện kỹ thuật chọn mẫu trong kiểm toán Báo cáo tài chính tại Công ty TNHH Kiểm toán và Thẩm định giá Asia Dragon (ADAC)" đã hoàn thành xuất sắc các mục tiêu nghiên cứu đề ra. Đề tài không chỉ dừng lại ở việc phản ánh hiện trạng mà đã đóng góp một giải pháp mang tính đột phá: chuyển dịch toàn diện từ phương pháp chọn mẫu phi thống kê mang nặng định tính sang mô hình chọn mẫu thống kê tự động hóa kết hợp giữa Attribute SamplingStratified Cumulative Monetary Amount (CMA).

Giải pháp đã chứng minh hiệu quả định lượng rõ rệt: giảm trung bình 35% quy mô mẫu kiểm toán không cần thiết, tiết kiệm hơn 30% thời gian thực hiện thủ tục kiểm tra chi tiết, đồng thời duy trì độ tin cậy kiểm toán ở mức tuyệt đối 95% theo chuẩn mực VSA 530. Đây là bước tiến quan trọng giúp nâng cao năng lực cạnh tranh và chất lượng dịch vụ kiểm toán tại ADAC trong kỷ nguyên kiểm toán số.