Skip to content

Tham số luật

Quyền truy cập: Xem cần quyền "Xem bảng lương" (PAYROLL_VIEW); cấu hình, chỉnh sửa tham số luật cần quyền quản trị "Quản trị bảng lương" (PAYROLL_ADMIN) hoặc Admin · Điều hướng: Bảng lương > Tham số luật (/manage/payroll/statutory-config)

Tham số luật là màn hình khai báo toàn bộ con số pháp lý mà bộ máy tính lương (engine) dùng để tính bảo hiểm bắt buộc, thuế thu nhập cá nhân, đoàn phí, tiền làm thêm giờ và lương tối thiểu vùng. Đây là "nguồn sự thật" duy nhất cho mọi kỳ lương: mọi công thức đều đọc số từ bản cấu hình đang có hiệu lực, không có con số nào bị viết cứng trong lúc tính. Vì vậy đây là trang quan trọng nhất về tuân thủ luật trong module Bảng lương.

Lưu ý: Màn hình này chỉ dùng để cấu hình. Việc chụp dữ liệu, tính lương và duyệt kỳ diễn ra ở trang chi tiết kỳ lương; nhân viên xem phiếu lương của mình ở app Nhân viên (noova-employee). Module Bảng lương chỉ hiện khi đã bật tại Cài đặt hệ thống > Tính năng (cờ __payroll và biến môi trường ALLOW_PAYROLL_FEATURE).

Tổng quan

Màn Tham số luật (component StatutoryConfigManager) liệt kê các phiên bản cấu hình luật theo hiệu lực và cho phép thêm, sửa, đặt bản chờ hiệu lực. Mỗi phiên bản gói trọn: biểu thuế TNCN, mức giảm trừ, tỷ lệ BHXH/BHYT/BHTN, lương cơ sở, lương tối thiểu vùng, đoàn phí, hệ số làm thêm giờ và mẫu số chia ngày công. Khi tính một kỳ lương, engine chọn đúng phiên bản đang áp dụng tại tháng của kỳ đó rồi áp mọi con số bên trong.

Hệ thống được seed sẵn một phiên bản nhãn "VN 2024-07-01 (áp dụng 2026)" ngay lúc khởi động, hiệu lực từ 01/07/2024 và dùng cho năm 2026. Toàn bộ con số dưới đây là của phiên bản seed này.

Phiên bản theo hiệu lực

Mỗi bản ghi cấu hình có các trường quản lý phiên bản sau:

TrườngMô tả
Nhãn phiên bản (label)Tên gợi nhớ, ví dụ "VN 2024-07-01 (áp dụng 2026)"
Hiệu lực từ (effectiveFrom)Ngày bắt đầu áp dụng phiên bản
Hiệu lực đến (effectiveTo)Ngày kết thúc, để trống nghĩa là còn hiệu lực
Đang áp dụng (isActive)Phiên bản đang được engine dùng để tính
Bản chờ hiệu lực (isStaged)Bản chuẩn bị trước cho thay đổi luật tương lai, chưa áp dụng

Lưu ý: Cơ chế bản "staged" cho phép admin soạn trước một phiên bản mới (ví dụ nâng giảm trừ gia cảnh, tăng lương tối thiểu vùng) mà chưa cho engine dùng ngay. Khi luật mới có hiệu lực, bản staged mới được kích hoạt, nhờ đó các kỳ lương cũ giữ nguyên con số tại thời điểm chốt.

Thuế thu nhập cá nhân

Biểu thuế TNCN là biểu lũy tiến từng phần 7 bậc, tính trên thu nhập tính thuế mỗi tháng (trường uptoMonthly + rate):

BậcThu nhập tính thuế/thángThuế suất
1Đến 5.000.000đ5%
2Trên 5.000.000đ đến 10.000.000đ10%
3Trên 10.000.000đ đến 18.000.000đ15%
4Trên 18.000.000đ đến 32.000.000đ20%
5Trên 32.000.000đ đến 52.000.000đ25%
6Trên 52.000.000đ đến 80.000.000đ30%
7Trên 80.000.000đ35%

Mức giảm trừ (áp cho cá nhân cư trú):

Khoản giảm trừMức/tháng
Bản thân người nộp thuế11.000.000đ
Mỗi người phụ thuộc4.400.000đ

Công thức thu nhập tính thuế:

Thu nhập tính thuế = thu nhập chịu thuế - bảo hiểm bắt buộc (phần nhân viên) - giảm trừ bản thân - (giảm trừ người phụ thuộc x số người phụ thuộc). Kết quả không xuống dưới 0.

Ví dụ kiểm chứng: thu nhập chịu thuế 100.000.000đ, bảo hiểm nhân viên 5.438.000đ, 2 người phụ thuộc. Thu nhập tính thuế = 100.000.000 - 5.438.000 - 11.000.000 - 8.800.000 = 74.762.000đ, thuế TNCN = 16.578.600đ.

Quan trọng: Cá nhân KHÔNG cư trú (non_resident) không áp biểu lũy tiến và không được giảm trừ. Thuế tính khoán 20% trên toàn bộ thu nhập chịu thuế. Tình trạng cư trú lấy từ hồ sơ nhân viên.

Bảo hiểm bắt buộc

Tỷ lệ trích nộp BHXH, BHYT, BHTN chia theo phần nhân viên và phần chủ sử dụng lao động:

Khoản bảo hiểmPhần nhân viênPhần chủ sử dụng lao động
BHXH8%17,5%
BHYT1,5%3%
BHTN1%1%
Tổng10,5%21,5%

Trần tiền lương làm căn cứ đóng bảo hiểm:

Loại trầnCách tínhGiá trị (phiên bản seed)
Trần BHXH + BHYT20 x lương cơ sở (baseReference 2.340.000đ)46.800.000đ
Trần BHTN20 x lương tối thiểu vùng I (4.960.000đ)99.200.000đ

Ví dụ kiểm chứng với lương 100.000.000đ, vùng I:

KhoảnPhần nhân viênPhần chủ sử dụng lao động
BHXH46.800.000 x 8% = 3.744.000đ8.190.000đ
BHYT46.800.000 x 1,5% = 702.000đ1.404.000đ
BHTN99.200.000 x 1% = 992.000đ992.000đ
Tổng5.438.000đ10.586.000đ

Lương tối thiểu vùng và lương cơ sở

Lương cơ sở (baseReference) của phiên bản seed là 2.340.000đ, dùng để tính trần BHXH + BHYT và trần đoàn phí. Lương tối thiểu vùng dùng làm nền cho trần BHTN và các kiểm tra sàn lương:

VùngTheo thángTheo giờ
I4.960.000đ23.800đ
II4.410.000đ21.200đ
III3.860.000đ18.600đ
IV3.450.000đ16.600đ

Vùng lương (I, II, III, IV) được chọn ở từng kỳ lương và ảnh hưởng trực tiếp đến trần BHTN.

Đoàn phí công đoàn

Bên đóngTỷ lệTrần
Nhân viên1% trên nền BHXH + BHYT234.000đ (= 10% x lương cơ sở 2.340.000đ)
Chủ sử dụng lao động2%(không áp trần như phần nhân viên)

Ví dụ kiểm chứng: nền lương 20.000.000đ, đoàn phí = 200.000đ (dưới trần, giữ nguyên). Nền lương 30.000.000đ, đoàn phí tính ra 300.000đ nhưng bị giới hạn còn 234.000đ. Đoàn phí nhân viên được trừ vào lương thực nhận; đoàn phí chủ sử dụng lao động cộng vào tổng chi phí lao động trong báo cáo chi phí.

Hệ số làm thêm giờ và mẫu số chia ngày công

Hệ số tiền làm thêm giờ (OT) nhân với đơn giá tiền lương giờ chuẩn:

Loại làm thêmHệ số
Ngày thườngx1,5
Cuối tuầnx2,0
Ngày lễx3,0
Phụ cấp làm đêm+0,3 (tương đương x1,3)

Mẫu số chia ngày công quyết định lương một ngày = lương cơ bản / mẫu số, dùng để prorate khi nhân viên nghỉ không lương:

Tùy chọn mẫu sốÝ nghĩa
26Cố định 26 ngày (mặc định)
standardSố ngày công chuẩn của kỳ (workingDays của kỳ lương)
24Cố định 24 ngày

Lưu ý: Phần tiền OT MIỄN THUẾ là phần vượt trên đơn giá giờ thường: tiền OT thực trả - (số giờ OT x lương giờ x1). Chỉ phần chênh do hệ số OT mới chịu thuế. Bốn nhóm giờ OT (ngày thường, cuối tuần, ngày lễ, ban đêm) được lấy tự động từ module Chấm công.

Thao tác

Thêm hoặc sửa cấu hình

Mở cửa sổ "Cấu hình tham số luật" (StatutoryConfigFormModal) để thêm mới hoặc chỉnh một phiên bản (statutoryConfig.upsert). Tại đây khai báo nhãn phiên bản, khoảng hiệu lực và toàn bộ con số ở các mục trên.

Đặt bản chờ hiệu lực

Dùng thao tác đặt bản staged (statutoryConfig.setStaged) để đánh dấu một phiên bản là bản chuẩn bị cho luật tương lai, chưa cho engine dùng ngay.

Xem danh sách theo hiệu lực

Danh sách phiên bản sắp theo hiệu lực (statutoryConfig.list) giúp đối chiếu phiên bản nào đang áp dụng và phiên bản nào đang chờ.

Quan trọng: Bậc thuế cao nhất dùng giá trị vô cực (Infinity) trong engine. Khi lưu xuống cơ sở dữ liệu, giá trị này được chuyển thành số canh giới (Number.MAX_SAFE_INTEGER) vì MongoDB không lưu được Infinity. Admin không cần nhập tay ngưỡng của bậc cao nhất.

Lưu ý tuân thủ

Trong mã seed có cảnh báo rằng một số con số đang chờ thay đổi luật và admin phải xác nhận trước khi dùng cho môi trường thật:

Tham sốTrạng thái cảnh báo
Mức giảm trừ gia cảnhCó đề xuất nâng nhưng CHƯA thành luật, nên tạo bản staged khi có hiệu lực chính thức
Lương tối thiểu vùng 2026Có đề xuất tăng khoảng 7,2% nhưng CHƯA chốt
Tỷ lệ BHXH chủ sử dụng lao động 17,5%Cần xác nhận trước khi xuất báo cáo BHXH D02-TS

Quan trọng: Vì mọi kỳ lương đều đọc con số từ phiên bản đang áp dụng, hãy rà lại toàn bộ tham số trước mỗi năm tài chính và trước khi xuất tờ khai thuế 05/KK hay báo cáo D02-TS. Không sửa trực tiếp phiên bản đã dùng tính lương của các kỳ đã chốt; thay vào đó tạo phiên bản mới với ngày hiệu lực tương ứng để giữ nguyên số liệu lịch sử.

Liên kết

Hướng dẫn sử dụng nền tảng HR/LMS Noova. Vận hành bởi VN-ELEARNING.