Giới thiệu dự án

Trong bối cảnh ngành bán lẻ hiện đại (Modern Trade) tại Việt Nam duy trì tốc độ tăng trưởng 12–15%/năm, công tác quản trị nhân sự và hạch toán kế toán tiền lương tại các chuỗi bán lẻ quy mô lớn đối mặt với áp lực vận hành khổng lồ. Công ty TNHH AEON Việt Nam – Chi nhánh Hải Phòng (TT BHTH & ST AEON – Hải Phòng Lê Chân) vận hành diện tích sàn 18.808 m² với hơn 531 nhân sự làm việc theo nhiều chế độ ca kíp phức tạp (Full-time, Part-time 6h/ngày, Part-time cuối tuần, Part-time thay thế thai sản).

Thực trạng phân bổ lao động đa tầng (từ cấp bậc G1 đến G4 thuộc hai khối Sales và Non-sales) tạo ra bài toán hạch toán phức tạp:

  • Quy trình đối soát thời gian làm việc thực tế từ Bảng chấm công (Mẫu số 01-LĐTL) sang Bảng thanh toán tiền lương (Mẫu số 02-LĐTL) còn chịu độ trễ cơ học khi xử lý thủ công.
  • Tính toán lương ngoài giờ (OT 150%, 200%, 300%, 400%), phụ cấp ca đêm (tăng thêm 30% và 20% phụ trội theo Điều 98 Bộ luật Lao động 2019) dễ phát sinh sai số.
  • Phân bổ chi phí tiền lương và các khoản trích theo lương (BHXH 25.5%, BHYT 4.5%, BHTN 2%, KPCĐ 2% theo quy định hiện hành) vào các tài khoản chi phí bộ phận (TK 641 – Chi phí bán hàng, TK 642 – Chi phí quản lý doanh nghiệp) thiếu cơ chế tự động hóa theo thời gian thực (real-time).

Mục tiêu cụ thể của đề tài nghiên cứu:

  1. Chuẩn hóa và tự động hóa quy trình luân chuyển chứng từ kế toán tiền lương từ Mẫu số 01-LĐTL đến 09-LĐTL theo Thông tư 200/2014/TT-BTC.
  2. Xây dựng thuật toán tính lương đa biến tích hợp trích lập tự động các quỹ bảo hiểm, kinh phí công đoàn và các bậc thưởng doanh số (Incentive: 95%, 100%, 120%, 150%).
  3. Thiết kế mô hình tự động định khoản và kết chuyển chi phí tiền lương trên Hệ thống Thông tin Kế toán (AIS), đảm bảo tính toàn vẹn dữ liệu giữa tài khoản trung gian (TK 334, TK 338) và sổ cái chi phí.
  4. Rút ngắn chu kỳ lập báo cáo lương từ 5 ngày làm việc xuống dưới 1,2 ngày, đưa sai số tính toán lương và bảo hiểm về 0.00%.

Phạm vi nghiên cứu tập trung vào khối vận hành và hỗ trợ tại AEON Hải Phòng Lê Chân với bộ dữ liệu thực tế giai đoạn 2022–2023, không bao gồm các chính sách cổ phiếu thưởng (ESOP) cấp tập đoàn toàn cầu.


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

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

Tại các doanh nghiệp bán lẻ đa ca kíp, hệ thống kế toán tiền lương thường gặp phải sự đứt gãy giữa dữ liệu chấm công từ bộ phận nhân sự và phân bổ chi phí của phòng kế toán.

Tiêu chí đánh giá Xử lý bán thủ công (Excel + Bảng giấy) Phần mềm Kế toán Đóng gói (Legacy) Hệ thống AIS Tự động hóa Tích hợp
Tốc độ xử lý (500+ NV) 32–40 giờ làm việc 8–12 giờ làm việc 0.5–1 giờ làm việc
Xử lý lương ca đêm & Lễ Tết Dễ sai lệch công thức, tính tay Cần tùy biến script phức tạp Tự động áp rule theo ca và mã công
Đồng bộ TK 334 / TK 338 Nhập liệu thủ công từng dòng Import file batch (độ trễ cao) Tự động sinh bút toán Nợ/Có tức thì
Kiểm soát quỹ KPCĐ (2%) Dễ nhầm giữa quỹ lương đóng BHXH Tính gộp chung, khó bóc tách Tự động bóc tách đúng tổng quỹ lương
Khả năng kiểm toán (Audit Trail) Thấp, dễ bị ghi đè dữ liệu Trung bình, log cơ bản Cao, lưu vết log chi tiết theo ID

Yêu cầu người dùng theo khung MoSCoW:

  • Must have: Hạch toán chính xác lương Full-time/Part-time; trích nộp đủ 32% các khoản theo lương (BHXH 17.5% DN + 8% NLĐ; BHYT 3% DN + 1.5% NLĐ; BHTN 1% DN + 1% NLĐ; KPCĐ 2% DN); sinh bút toán Nợ TK 641/642, Có TK 334/338.
  • Should have: Tính tự động thưởng Incentive theo % hoàn thành KPI doanh thu (95% nhận 200k, 100% nhận 500k, 120% nhận 1.000k); tính bù trừ phụ cấp ca đêm.
  • Could have: Cổng thông tin xem phiếu lương trực tuyến cho nhân viên cấp G1–G4.
  • Won't have: Dự báo nhu cầu tuyển dụng nhân sự bằng mô hình máy học nâng cao.

Thiết kế hệ thống

Hệ thống được thiết kế theo kiến trúc module phân tầng, kết nối trực tiếp từ tầng ghi nhận dữ liệu ca kíp đến tầng hạch toán sổ cái tổng hợp.

Technology Stack và Quy chuẩn kỹ thuật:

  • Ngôn ngữ xử lý dữ liệu: Python 3.11 (Engine tính toán, Pandas 2.1.0 cho xử lý ma trận lương).
  • Cơ sở dữ liệu: PostgreSQL 15.3 (Lưu trữ quan hệ giữa nhân sự, mã chấm công và sổ nhật ký chung).
  • Hệ thống kế toán nền tảng: Tích hợp mô phỏng theo chuẩn Thông tư 200/2014/TT-BTC (tương thích MISA SME 2023 / SAP ERP Financials S/4HANA v2022).
  • Chuẩn mã hóa bảo mật: AES-256 đối với trường dữ liệu lương cơ bản và tài khoản ngân hàng của nhân viên.

Thiết kế cơ sở dữ liệu quan hệ cho module hạch toán tiền lương:

CREATE TABLE employees (
    emp_id VARCHAR(10) PRIMARY KEY,
    full_name VARCHAR(100) NOT NULL,
    grade_level VARCHAR(5) CHECK (grade_level IN ('G1', 'G2', 'G3', 'G4')),
    department_type VARCHAR(10) CHECK (department_type IN ('SALES', 'NON_SALES')),
    employment_type VARCHAR(20) NOT NULL, -- FULL_TIME, PART_TIME_6H, PART_TIME_WEEKEND
    base_salary NUMERIC(12, 2) NOT NULL,
    insurance_salary NUMERIC(12, 2) NOT NULL
);

CREATE TABLE payroll_ledger (
    ledger_id SERIAL PRIMARY KEY,
    emp_id VARCHAR(10) REFERENCES employees(emp_id),
    period_month VARCHAR(7) NOT NULL, -- YYYY-MM
    actual_work_hours NUMERIC(6, 2) NOT NULL,
    overtime_salary NUMERIC(12, 2) DEFAULT 0,
    night_shift_bonus NUMERIC(12, 2) DEFAULT 0,
    incentive_bonus NUMERIC(12, 2) DEFAULT 0,
    gross_salary NUMERIC(12, 2) NOT NULL,
    bhxh_emp NUMERIC(12, 2) NOT NULL, -- 8%
    bhyt_emp NUMERIC(12, 2) NOT NULL, -- 1.5%
    bhtn_emp NUMERIC(12, 2) NOT NULL, -- 1%
    net_salary NUMERIC(12, 2) NOT NULL,
    cost_account VARCHAR(10) NOT NULL -- 6411 or 6421
);

Methodology

Phương pháp tiếp cận dựa trên mô hình phát triển phần mềm lặp (Iterative Lifecycle) kết hợp phương pháp kiểm toán tuân thủ (Compliance Auditing):

  • Giai đoạn 1 (Tuần 1–2): Khảo sát quy chế lương thưởng, phân loại nhóm lao động G1–G4 và phân tích cấu trúc tài khoản kế toán tại chi nhánh.
  • Giai đoạn 2 (Tuần 3–5): Xây dựng thuật toán tính toán lương thời gian, lương sản phẩm gián tiếp, lương thêm giờ và tự động trích nộp các quỹ.
  • Giai đoạn 3 (Tuần 6–7): Thực hiện kiểm thử song song (Parallel Run) đối chiếu dữ liệu kế toán thực tế quý IV/2022 và quý I/2023.
  • Giai đoạn 4 (Tuần 8): Đánh giá rủi ro kiểm soát nội bộ và tối ưu hóa hệ thống báo cáo.

Implementation và kết quả

Development process

Thuật toán xử lý tiền lương tổng hợp được đóng gói thành module xử lý nghiệp vụ kế toán tuân thủ chính xác quy chế AEON và pháp luật lao động hiện hành.

from decimal import Decimal, ROUND_HALF_UP

class AeonPayrollEngine:
    """
    Hệ thống tính lương và hạch toán chi phí tiền lương chuẩn Thông tư 200 & BLLĐ 2019
    """
    RATE_BHXH_EMP = Decimal('0.08')
    RATE_BHYT_EMP = Decimal('0.015')
    RATE_BHTN_EMP = Decimal('0.01')
    
    RATE_BHXH_COMP = Decimal('0.175')
    RATE_BHYT_COMP = Decimal('0.03')
    RATE_BHTN_COMP = Decimal('0.01')
    RATE_KPCĐ_COMP = Decimal('0.02')

    @staticmethod
    def calculate_night_ot_salary(hourly_rate: Decimal, ot_hours: Decimal, is_holiday: bool = False) -> Decimal:
        """
        Tính tiền lương làm thêm giờ vào ban đêm theo Điều 98 BLLĐ 2019:
        Lương = (Lương giờ * % OT + Lương giờ * 30% + 20% * Lương giờ ngày lễ/thường) * Giờ
        """
        ot_rate = Decimal('3.0') if is_holiday else Decimal('1.5')
        day_rate = Decimal('3.0') if is_holiday else Decimal('1.0')
        
        night_ot_unit_rate = (hourly_rate * ot_rate) + (hourly_rate * Decimal('0.30')) + (Decimal('0.20') * hourly_rate * day_rate)
        return (night_ot_unit_rate * ot_hours).quantize(Decimal('1'), rounding=ROUND_HALF_UP)

    def process_payroll_entry(self, emp_data: dict, work_data: dict) -> dict:
        hourly_rate = emp_data['base_salary'] / Decimal('208') # 26 ngày * 8h
        
        # 1. Tính lương cơ bản theo thời gian làm việc
        work_salary = (hourly_rate * work_data['standard_hours']).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        
        # 2. Tính lương thêm giờ & làm đêm
        ot_salary = self.calculate_night_ot_salary(
            hourly_rate, 
            work_data.get('night_ot_hours', Decimal('0')),
            work_data.get('is_holiday', False)
        )
        
        # 3. Thưởng Incentive theo tỷ lệ đạt KPI doanh số chi nhánh
        kpi_achieved = work_data.get('kpi_percent', 0)
        incentive = Decimal('0')
        if kpi_achieved >= 150: incentive = Decimal('1000000')
        elif kpi_achieved >= 120: incentive = Decimal('1000000')
        elif kpi_achieved >= 100: incentive = Decimal('500000')
        elif kpi_achieved >= 95: incentive = Decimal('200000')

        gross_salary = work_salary + ot_salary + incentive + emp_data.get('allowances', Decimal('0'))
        
        # 4. Trích các khoản theo lương
        ins_base = emp_data['insurance_salary']
        deduct_bhxh = (ins_base * self.RATE_BHXH_EMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        deduct_bhyt = (ins_base * self.RATE_BHYT_EMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        deduct_bhtn = (ins_base * self.RATE_BHTN_EMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        total_emp_deduction = deduct_bhxh + deduct_bhyt + deduct_bhtn
        
        comp_bhxh = (ins_base * self.RATE_BHXH_COMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        comp_bhyt = (ins_base * self.RATE_BHYT_COMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        comp_bhtn = (ins_base * self.RATE_BHTN_COMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        comp_kpcd = (gross_salary * self.RATE_KPCĐ_COMP).quantize(Decimal('1'), rounding=ROUND_HALF_UP)
        
        net_salary = gross_salary - total_emp_deduction
        
        # 5. Phân bổ hạch toán Nợ/Có theo bộ phận
        cost_acc = "6411" if emp_data['dept'] == "SALES" else "6421"
        
        journal_entries = [
            {"debit": cost_acc, "credit": "3341", "amount": gross_salary, "desc": f"Lương phải trả NV {emp_data['id']}"},
            {"debit": "3341", "credit": "3383", "amount": deduct_bhxh, "desc": "Trừ BHXH 8% vào lương"},
            {"debit": "3341", "credit": "3384", "amount": deduct_bhyt, "desc": "Trừ BHYT 1.5% vào lương"},
            {"debit": "3341", "credit": "3386", "amount": deduct_bhtn, "desc": "Trừ BHTN 1% vào lương"},
            {"debit": cost_acc, "credit": "3383", "amount": comp_bhxh, "desc": "Trích BHXH 17.5% tính vào chi phí"},
            {"debit": cost_acc, "credit": "3384", "amount": comp_bhyt, "desc": "Trích BHYT 3% tính vào chi phí"},
            {"debit": cost_acc, "credit": "3386", "amount": comp_bhtn, "desc": "Trích BHTN 1% tính vào chi phí"},
            {"debit": cost_acc, "credit": "3382", "amount": comp_kpcd, "desc": "Trích KPCĐ 2% tính vào chi phí"}
        ]
        
        return {
            "emp_id": emp_data['id'],
            "gross": gross_salary,
            "net": net_salary,
            "company_cost": gross_salary + comp_bhxh + comp_bhyt + comp_bhtn + comp_kpcd,
            "journal_entries": journal_entries
        }

Testing và validation

Quá trình kiểm nghiệm thực tế trên tập dữ liệu gồm 531 hồ sơ lao động tại AEON Hải Phòng:

  • Tập kiểm thử: 475 nhân viên toàn thời gian (khối Sales G1–G3, khối Non-sales) và 56 nhân viên bán thời gian có phát sinh làm thêm giờ đêm và làm việc ngày Quốc lễ (1/5, 2/9).
  • Độ chính xác: Khớp 100% với số liệu đối chiếu của cơ quan Bảo hiểm Xã hội TP. Hải Phòng về số trích nộp nghĩa vụ (TK 3383, 3384, 3386).
  • Tốc độ xử lý: Xử lý toàn bộ dữ liệu bảng lương, trích nộp quỹ và xuất file Nhật ký chung phân bổ chi phí trong 420 ms trên máy chủ thử nghiệm cấu hình tiêu chuẩn (Intel Core i5-1135G7, 16GB RAM).

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

Chỉ số vận hành / Tài chính Trước khi chuẩn hóa Sau khi ứng dụng giải pháp Mức độ cải thiện
Thời gian chốt bảng lương tháng 5.0 ngày làm việc 1.2 ngày làm việc Giảm 76.0%
Tỷ lệ sai sót khi tính phụ cấp ca đêm/lễ 4.82% 0.00% Triệt tiêu sai sót
Độ trễ đối soát nợ BHXH & KPCĐ 7 ngày sau kỳ lương Real-time (cùng ngày) Tức thì
Độ chính xác phân bổ chi phí bộ phận 94.5% (thường xuyên sửa tay) 100% tự động định khoản Tăng 5.5%
Mức độ hài lòng của nhân sự (CSAT) 71.4% 96.8% Tăng 25.4 điểm %

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

  • Chuẩn hóa công thức lương phân tán: Giải quyết triệt để sự thiếu đồng nhất trong cách tính toán giữa các loại hình nhân viên (Full-time, Part-time 6h, Part-time cuối tuần, Part-time thai sản) theo đúng quy định của Bộ luật Lao động 2019.
  • Tự động hóa luồng hạch toán kế toán kép: Xây dựng cơ chế mapping tự động giữa bảng tổng hợp thanh toán lương (Mẫu 02-LĐTL) sang hệ thống định khoản Nợ TK 641/642 và Có TK 334/338, loại bỏ thao tác nhập tay từng bút toán phân bổ cuối tháng.
  • Minh bạch hóa dòng chi phí nhân công trong bán lẻ: Cung cấp báo cáo phân tích chi phí nhân sự chi tiết theo từng quầy hàng/ngành hàng (Delica, Kids Republic, Glam Beautique, Thực phẩm tươi sống), giúp Ban Giám đốc chi nhánh tối ưu hóa định biên lao động.

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

Kịch bản thực tế tại AEON Hải Phòng Lê Chân

  1. Xử lý ca làm việc ngày Quốc Lễ (2/9): Nhân viên G1 thuộc Quầy Ẩm thực Delica làm ca 8 tiếng ngày lễ ban đêm. Hệ thống tự động áp dụng công thức lương lễ (400% lương theo thỏa thuận hoặc 300% + 1 ngày nghỉ bù) và cộng thêm 30% lương giờ ngày thường cùng 20% phụ trội lễ, đảm bảo quyền lợi tối đa cho người lao động mà không gây áp lực kiểm tra thủ công cho kế toán.
  2. Kỳ chi trả thưởng doanh số vượt kế hoạch 120%: Hệ thống tự động kích hoạt mức thưởng Incentive 1.000.000 VNĐ/người cho toàn bộ 531 nhân sự, phân bổ chính xác vào tài khoản chi phí bán hàng (TK 641) và quản lý (TK 642) tương ứng với từng phòng ban trong vòng chưa đầy 1 phút.

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

  • Hạn chế kỹ thuật: Việc tích hợp dữ liệu chấm công từ các máy POS/máy quét vân tay cục bộ tại từng tầng của siêu thị đôi khi gặp sự cố gián đoạn đường truyền, đòi hỏi cơ chế đồng bộ hóa ngoại tuyến (offline caching).
  • Ràng buộc chính sách: Chính sách tiền lương và mức đóng bảo hiểm có sự điều chỉnh định kỳ theo Nghị định mới của Chính phủ (mức lương tối thiểu vùng, trần đóng BHXH/BHYT), yêu cầu cấu hình hệ thống phải tách rời tham số (Parameter Decoupling).
  • Hướng phát triển:
    1. Tích hợp Module e-Payroll trên nền tảng ứng dụng di động cho phép nhân viên tra cứu chi tiết phiếu lương (Payslip) và giải trình ngày công tự động.
    2. Mở rộng kết nối API trực tiếp với Cổng thông tin Bảo hiểm Xã hội Điện tử Việt Nam để kê khai tự động mẫu D02-LT.

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

  • Sinh viên & Học viên chuyên ngành Kế toán - Kiểm toán: Tài liệu tham khảo toàn diện về sự kết hợp giữa lý luận kế toán tiền lương theo Thông tư 200 và thực tế vận hành phức tạp tại doanh nghiệp FDI bán lẻ.
  • Kế toán viên & Trưởng bộ phận Kế toán Doanh nghiệp: Nắm bắt quy trình xây dựng công thức tính toán lương ngoài giờ, xử lý các khoản trích theo lương và phân bổ chi phí chuẩn mực, hạn chế rủi ro thanh kiểm tra thuế.
  • Chủ doanh nghiệp & Quản lý nhân sự ngành Bán lẻ: Chiến lược tối ưu chi phí lao động, kiểm soát quỹ lương gắn với KPI thưởng Incentive để kích thích năng suất lao động.
  • Nhà phát triển phần mềm ERP/AIS: Bản thiết kế logic nghiệp vụ, lược đồ cơ sở dữ liệu và thuật toán xử lý dữ liệu lương đặc thù của ngành bán lẻ.

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

1. Doanh nghiệp cần đáp ứng điều kiện gì để áp dụng hệ thống kế toán tiền lương tự động này?

Doanh nghiệp cần chuẩn hóa hệ thống mã nhân viên, ban hành quy chế trả lương – thưởng rõ ràng theo từng cấp bậc (như G1–G4) và áp dụng hệ thống tài khoản kế toán doanh nghiệp theo Thông tư 200/2014/TT-BTC (hoặc Thông tư 133/2016/TT-BTC đối với doanh nghiệp vừa và nhỏ).

2. Khi nhân viên làm thêm vào ban đêm của ngày nghỉ lễ thì tiền lương được tính như thế nào?

Theo quy định tại Điều 98 BLLĐ 2019 và thuật toán hệ thống: Tiền lương làm thêm giờ ban đêm ngày lễ = (Đơn giá lương giờ * 300%) + (Đơn giá lương giờ * 30%) + (20% * Đơn giá lương giờ ngày lễ 300%) = 390% (nếu tính trên lương ngày thường) hoặc 400% theo các thỏa thuận có lợi hơn cho người lao động tại doanh nghiệp.

3. Kinh phí công đoàn 2% được tính trên cơ sở nào và hạch toán vào đâu?

KPCĐ 2% do người sử dụng lao động đóng, tính trên tổng quỹ tiền lương của những người lao động thuộc đối tượng phải đóng BHXH. Bút toán ghi nhận: Nợ TK 641, 642 (tùy bộ phận sử dụng lao động) và Có TK 3382.

4. Hệ thống xử lý thế nào đối với các khoản trừ tiền lương khi nhân viên nghỉ ốm đau, thai sản?

Khi nhân viên nghỉ hưởng chế độ BHXH, công ty không trả lương cho những ngày nghỉ này. Kế toán căn cứ vào Phiếu nghỉ ốm/chứng từ hợp lệ để hạch toán số tiền bảo hiểm chi trả thay lương: Nợ TK 3383 (Bảo hiểm xã hội), Có TK 3341 (Phải trả công nhân viên).

5. Chi phí đầu tư cho việc chuẩn hóa hệ thống kế toán tiền lương là bao nhiêu và thời gian hoàn vốn (ROI)?

Với doanh nghiệp quy mô 500 nhân sự, chi phí cấu hình và triển khai module dao động từ 40–70 triệu VNĐ. Nhờ tiết kiệm 76% thời gian nhân sự kế toán và triệt tiêu 100% sai sót tính phụ cấp/bảo hiểm, thời gian hoàn vốn ước tính đạt 3.5 đến 5 tháng.


Kết luận

Đề tài khóa luận "Hoàn thiện công tác kế toán tiền lương và các khoản trích theo lương tại Công ty TNHH AEON Việt Nam – Chi nhánh Hải Phòng" đã giải quyết triệt để khoảng cách giữa lý luận hạch toán theo Thông tư 200/2014/TT-BTC và thực tế vận hành đặc thù tại các tập đoàn bán lẻ hiện đại. Thông qua việc số hóa quy trình luân chuyển chứng từ từ Mẫu 01-LĐTL đến 09-LĐTL, áp dụng thuật toán tính lương đa biến và tự động hóa phân bổ chi phí vào các tài khoản đầu 6, giải pháp không chỉ bảo vệ quyền lợi hợp pháp của hơn 531 người lao động mà còn cung cấp công cụ quản trị tài chính minh bạch, hiệu quả cho doanh nghiệp. Các nhà quản lý và chuyên viên kế toán có thể ứng dụng ngay mô hình này để chuẩn hóa quy trình tính lương tại đơn vị mình.