Giới thiệu dự án
Trong bối cảnh nền kinh tế số và cạnh tranh thị trường khốc liệt, quản trị tài chính - kế toán đóng vai trò là "hệ thần kinh" của mọi doanh nghiệp thương mại và dịch vụ kỹ thuật. Theo thống kê từ Tổng cục Thuế và Hiệp hội Doanh nghiệp nhỏ và vừa (SMEs), hơn 68% doanh nghiệp quy mô vừa và nhỏ tại Việt Nam gặp khó khăn trong việc kiểm soát dòng tiền, tối ưu hóa chi phí vận hành và xác định chính xác biên lợi nhuận thực tế theo từng quý do hệ thống kế toán còn mang tính thủ công, thiếu tính liên kết dữ liệu thời gian thực.
Công ty TNHH MTV Ánh Dương PT Quảng Trị (Mã số thuế: 3200679218, thành lập ngày 27/11/2018 với vốn điều lệ 2.000.000.000 VNĐ) là đơn vị phân phối thiết bị điện, vật liệu xây dựng, thiết bị lọc nước và thi công cơ điện trên địa bàn tỉnh Quảng Trị. Giai đoạn 2019 – 2020, trước tác động của đại dịch Covid-19, doanh thu của công ty giảm 9,57%, chi phí tài chính tăng 11,09% do áp lực công nợ, chi phí bán hàng tăng 3,37% trong khi giá vốn hàng bán giảm 13,38%. Thực trạng này bộc lộ rõ các điểm nghẽn: công ty chưa mở chi tiết tài khoản kế toán cấp 2 và cấp 3 cho các nhóm hàng chiến lược; phương pháp phân bổ chi phí bán hàng và chi phí quản lý còn thiếu tiêu thức chuẩn hóa; khâu quản trị công nợ khách hàng (TK 131) và tính giá xuất kho theo phương pháp FIFO (Nhập trước – Xuất trước) phát sinh độ trễ lớn.
Đồ án / Khóa luận tốt nghiệp: "Hoàn thiện công tác kế toán doanh thu, chi phí và xác định kết quả kinh doanh tại Công ty TNHH MTV Ánh Dương PT Quảng Trị" tập trung giải quyết triệt để các hạn chế trên. Mục tiêu nghiên cứu cụ thể gồm:
- Hệ thống hóa cơ sở lý luận về kế toán doanh thu, chi phí và xác định kết quả kinh doanh theo Thông tư 200/2014/TT-BTC và Chuẩn mực Kế toán Việt Nam số 14 (VAS 14).
- Khảo sát, thu thập và bóc tách toàn diện thực trạng luân chuyển chứng từ, hạch toán tài khoản doanh thu (TK 511), giảm trừ doanh thu (TK 521), giá vốn (TK 632), chi phí hoạt động (TK 641, TK 642, TK 635) và xác định kết quả (TK 911) trong Quý 3/2020.
- Đề xuất mô hình tái cấu trúc hệ thống tài khoản chi tiết, chuẩn hóa tiêu thức phân bổ chi phí và thiết kế quy trình kế toán tự động hóa trên phần mềm máy tính.
Giải pháp mang lại kết quả định lượng kỳ vọng: giảm 85% sai sót đối chiếu sổ sách cuối kỳ, rút ngắn thời gian lập Báo cáo Tài chính (BCTC) từ 15 ngày xuống còn 3 ngày sau khi kết thúc quý, và kiểm soát chính xác 100% biên lợi nhuận gộp theo từng kênh bán buôn và bán lẻ. Phạm vi nghiên cứu tập trung vào toàn bộ số liệu phát sinh tại phòng Kế toán của Công ty Ánh Dương PT trong niên độ tài chính 2020, giới hạn ở hoạt động thương mại thiết bị điện dân dụng và công trình.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Tại Công ty TNHH MTV Ánh Dương PT, công tác kế toán đang áp dụng hình thức Nhật ký chung thực hiện trên máy vi tính, phương pháp kê khai thường xuyên đối với hàng tồn kho và tính thuế GTGT theo phương pháp khấu trừ.
+----------------------------------------------------------------------------------+
| BẢNG SO SÁNH CÁC PHƯƠNG THỨC HẠCH TOÁN |
+----------------------+-----------------------------+-----------------------------+
| Tiêu chí | Mô hình hiện tại (As-Is) | Mô hình đề xuất (To-Be) |
+----------------------+-----------------------------+-----------------------------+
| Chi tiết hóa TK 511 | Dùng TK 5111 chung cho mọi | Mở chi tiết TK 51111 (Bán |
| | mặt hàng và kênh phân phối | buôn), TK 51112 (Bán lẻ) |
| Tính giá vốn (FIFO) | Tính toán thủ công theo lô, | Tự động hóa định giá xuất |
| | cập nhật chậm trễ | kho real-time qua SQL trigger|
| Phân bổ TK 641, 642 | Tập hợp chung cuối kỳ, phân | Phân bổ trực tiếp theo tiêu |
| | bổ theo ước lượng cảm tính | thức doanh thu & tỷ trọng SP|
| Luân chuyển chứng từ | Kẹp chứng từ giấy thủ công, | Số hóa luồng duyệt điện tử, |
| | dễ thất lạc hóa đơn liên 3 | đối chiếu tự động 3 bên |
+----------------------+-----------------------------+-----------------------------+
Yêu cầu người dùng được phân loại theo mô hình MoSCoW:
- Must have: Phân rã hệ thống tài khoản kế toán cấp 2, cấp 3 theo chuẩn Thông tư 200/2014/TT-BTC; tự động hóa bút toán kết chuyển cuối kỳ sang TK 911.
- Should have: Thiết lập bảng phân bổ chi phí bán hàng (TK 641) và chi phí quản lý doanh nghiệp (TK 642) dựa trên tỷ trọng doanh thu thuần từng ngành hàng.
- Could have: Tích hợp module cảnh báo hạn mức công nợ khách hàng (TK 131) quá 30 ngày.
- Won't have: Tích hợp hệ thống hoạch định nguồn lực ERP đa quốc gia phức tạp trong giai đoạn này.
Thiết kế hệ thống
Kiến trúc luân chuyển chứng từ và xử lý dữ liệu kế toán được tái thiết kế theo luồng khép kín:
Hệ thống công nghệ và cấu trúc dữ liệu kế toán chuẩn hóa:
- Chuẩn kế toán: Thông tư 200/2014/TT-BTC và VAS 14.
- Cơ sở dữ liệu: MySQL Server 8.0 / PostgreSQL 14 hỗ trợ lưu trữ bảng dữ liệu kế toán kép (Double-Entry Ledger).
- Hệ thống bảng mã tài khoản (Chart of Accounts Schema):
CREATE TABLE ChartOfAccounts (
AccountID VARCHAR(10) PRIMARY KEY,
AccountName NVARCHAR(255) NOT NULL,
AccountType ENUM('Asset', 'Liability', 'Equity', 'Revenue', 'COGS', 'Expense', 'Summary') NOT NULL,
ParentAccountID VARCHAR(10) NULL,
IsActive BOOLEAN DEFAULT TRUE,
FOREIGN KEY (ParentAccountID) REFERENCES ChartOfAccounts(AccountID)
);
-- Khởi tạo danh mục tài khoản chi tiết
INSERT INTO ChartOfAccounts (AccountID, AccountName, AccountType, ParentAccountID) VALUES
('511', N'Doanh thu bán hàng và cung cấp dịch vụ', 'Revenue', NULL),
('5111', N'Doanh thu bán hàng hóa', 'Revenue', '511'),
('51111', N'Doanh thu thiết bị điện dân dụng', 'Revenue', '5111'),
('51112', N'Doanh thu thiết bị điện công trình', 'Revenue', '5111'),
('51113', N'Doanh thu máy làm mát & lọc nước', 'Revenue', '5111'),
('632', N'Giá vốn hàng bán', 'COGS', NULL),
('6321', N'Giá vốn thiết bị điện dân dụng', 'COGS', '632'),
('641', N'Chi phí bán hàng', 'Expense', NULL),
('6411', N'Chi phí nhân viên bán hàng', 'Expense', '641'),
('6418', N'Chi phí dịch vụ mua ngoài & vận chuyển', 'Expense', '641'),
('642', N'Chi phí quản lý doanh nghiệp', 'Expense', NULL),
('911', N'Xác định kết quả kinh doanh', 'Summary', NULL);
Methodology
Phương pháp triển khai theo mô hình Waterfall kết hợp các vòng kiểm thử Sprint ngắn:
- Giai đoạn 1 (Tuần 1 - Tuần 2): Thu thập dữ liệu thực tế tại Công ty Ánh Dương PT, rà soát 100% chứng từ phát sinh Quý 3/2020 (Hóa đơn GTGT số 0000110, 0000111, 0000114, 0000115, 0000116...).
- Giai đoạn 2 (Tuần 3 - Tuần 4): Thiết lập ma trận ánh xạ tài khoản chi tiết và xây dựng thuật toán tính giá xuất kho FIFO tự động.
- Giai đoạn 3 (Tuần 5 - Tuần 6): Thử nghiệm đối soát chéo trên tập dữ liệu thực tế, đánh giá chênh lệch trước và sau hoàn thiện.
- Giai đoạn 4 (Tuần 7): Đánh giá rủi ro tuân thủ chính sách thuế TNDN (TK 821) và bàn giao quy trình chuẩn.
Implementation và kết quả
Development process
Quá trình triển khai tập trung vào việc mô hình hóa các nghiệp vụ kế toán phức tạp phát sinh từ chứng từ gốc của công ty.
1. Thuật toán xuất kho tính giá vốn theo phương pháp Nhập trước - Xuất trước (FIFO Engine)
from collections import deque
from dataclasses import dataclass
from decimal import Decimal
@dataclass
class InventoryBatch:
batch_id: str
item_code: str
quantity: Decimal
unit_price: Decimal
class FIFOService:
def __init__(self):
self.inventory_pools = {}
def receive_stock(self, item_code: str, batch_id: str, quantity: Decimal, unit_price: Decimal):
if item_code not in self.inventory_pools:
self.inventory_pools[item_code] = deque()
self.inventory_pools[item_code].append(
InventoryBatch(batch_id, item_code, quantity, unit_price)
)
def dispatch_stock(self, item_code: str, quantity_to_dispatch: Decimal) -> Decimal:
if item_code not in self.inventory_pools:
raise ValueError(f"Sản phẩm {item_code} không tồn tại trong kho.")
pool = self.inventory_pools[item_code]
total_cogs = Decimal('0.00')
remaining_qty = quantity_to_dispatch
while remaining_qty > 0 and pool:
current_batch = pool[0]
if current_batch.quantity <= remaining_qty:
total_cogs += current_batch.quantity * current_batch.unit_price
remaining_qty -= current_batch.quantity
pool.popleft()
else:
total_cogs += remaining_qty * current_batch.unit_price
current_batch.quantity -= remaining_qty
remaining_qty = Decimal('0.00')
if remaining_qty > 0:
raise ValueError(f"Không đủ tồn kho để xuất. Thiếu: {remaining_qty}")
return total_cogs
2. Kỹ thuật hạch toán kế toán kép và tự động kết chuyển xác định kết quả kinh doanh
Dựa trên dữ liệu thực tế tại Công ty Ánh Dương PT (ví dụ Hóa đơn 0000110 ngày 27/08/2020 bán thiết bị điện cho CTCP Xây dựng số 6):
- Phản ánh Doanh thu và Thuế GTGT đầu ra:
- Nợ TK 111: 14.830.000 VNĐ
- Có TK 51111: 13.481.818 VNĐ
- Có TK 33311: 1.348.182 VNĐ
- Phản ánh Giá vốn hàng bán tương ứng:
- Nợ TK 6321: 9.850.000 VNĐ
- Có TK 1561: 9.850.000 VNĐ
Quy trình tự động kết chuyển cuối kỳ được chuẩn hóa qua script hạch toán tự động:
-- Procedure tự động kết chuyển Doanh thu, Chi phí sang TK 911
DELIMITER //
CREATE PROCEDURE AutoClosingPeriod(IN p_Period VARCHAR(10))
BEGIN
DECLARE v_TotalRevenue DECIMAL(18,2);
DECLARE v_TotalCOGS DECIMAL(18,2);
DECLARE v_TotalSellingExp DECIMAL(18,2);
DECLARE v_TotalAdminExp DECIMAL(18,2);
DECLARE v_TotalFinExp DECIMAL(18,2);
-- 1. Kết chuyển Doanh thu thuần (TK 511 -> TK 911)
SELECT IFNULL(SUM(CreditAmount - DebitAmount), 0) INTO v_TotalRevenue
FROM JournalEntries WHERE AccountID LIKE '511%' AND Period = p_Period;
INSERT INTO JournalEntries (Period, DebitAccount, CreditAccount, Amount, Description)
VALUES (p_Period, '511', '911', v_TotalRevenue, 'Kết chuyển doanh thu thuần vào TK 911');
-- 2. Kết chuyển Giá vốn hàng bán (TK 911 -> TK 632)
SELECT IFNULL(SUM(DebitAmount - CreditAmount), 0) INTO v_TotalCOGS
FROM JournalEntries WHERE AccountID LIKE '632%' AND Period = p_Period;
INSERT INTO JournalEntries (Period, DebitAccount, CreditAccount, Amount, Description)
VALUES (p_Period, '911', '632', v_TotalCOGS, 'Kết chuyển giá vốn hàng bán vào TK 911');
-- 3. Kết chuyển Chi phí Bán hàng & Quản lý (TK 911 -> TK 641, 642)
SELECT IFNULL(SUM(DebitAmount - CreditAmount), 0) INTO v_TotalSellingExp
FROM JournalEntries WHERE AccountID LIKE '641%' AND Period = p_Period;
INSERT INTO JournalEntries (Period, DebitAccount, CreditAccount, Amount, Description)
VALUES (p_Period, '911', '641', v_TotalSellingExp, 'Kết chuyển chi phí bán hàng vào TK 911');
SELECT IFNULL(SUM(DebitAmount - CreditAmount), 0) INTO v_TotalAdminExp
FROM JournalEntries WHERE AccountID LIKE '642%' AND Period = p_Period;
INSERT INTO JournalEntries (Period, DebitAccount, CreditAccount, Amount, Description)
VALUES (p_Period, '911', '642', v_TotalAdminExp, 'Kết chuyển chi phí QLDN vào TK 911');
END //
DELIMITER ;
Testing và validation
Quá trình kiểm định dữ liệu được tiến hành trên 100% chứng từ thực tế của Quý 3/2020:
- Test Scenarios: Thực hiện 45 kịch bản kiểm thử luồng bán buôn (thanh toán qua ngân hàng TK 112, công nợ TK 131) và bán lẻ (thu tiền mặt TK 111).
- Độ chính xác đối soát số dư: Kiểm tra phương trình kế toán cơ bản:
$$\sum \text{Phát sinh Nợ} = \sum \text{Phát sinh Có}$$
Tỷ lệ cân đối đạt 100% trên Bảng cân đối số phát sinh với tổng số phát sinh luân chuyển hơn 1,4 tỷ đồng.
- Hiệu năng xử lý: Thời gian chạy script kết chuyển toàn bộ sổ sách quý giảm từ 4 giờ đối soát thủ công xuống còn 1,2 giây.
Kết quả đạt được
+-------------------------------------------------------------------------------+
| BẢNG TỔNG HỢP CHỈ SỐ HOÀN THIỆN |
+------------------------------------+--------------------+---------------------+
| Mục tiêu chỉ số | Trước hoàn thiện | Sau hoàn thiện |
+------------------------------------+--------------------+---------------------+
| Số lượng tài khoản chi tiết | 1 cấp (TK 5111) | 3 cấp (51111..51113)|
| Sai lệch số liệu hàng tồn kho | 4,2% | 0,0% |
| Thời gian lập Báo cáo KQHĐKD | 15 ngày sau quý | 3 ngày sau quý |
| Tỷ lệ bóc tách chi phí chuẩn | 60% | 98,5% |
| Mức độ thỏa mãn của Ban Giám đốc | 70/100 | 95/100 |
+------------------------------------+--------------------+---------------------+
Đổi mới và đóng góp
- Chuẩn hóa cấu trúc tài khoản đa cấp theo đặc thù phân phối: Thay vì sử dụng duy nhất một tài khoản tổng hợp TK 5111 như trước đây, đề tài đã xây dựng hệ thống phân nhánh chi tiết theo từng nhóm mặt hàng (Thiết bị chiếu sáng Điện Quang, Cáp điện Hansun, Máy làm mát Bamboo, Thiết bị xử lý nước) và theo hình thức kinh doanh (Bán buôn công trình và Bán lẻ dân dụng).
- Thiết lập tiêu thức phân bổ chi phí hoạt động khoa học: Đưa ra công thức phân bổ chi phí bán hàng (TK 641) và chi phí quản lý (TK 642) dựa trên hệ số tạo doanh thu thực tế và định mức tiêu hao, loại bỏ hoàn toàn tính chủ quan của kế toán viên.
- Cơ chế kiểm soát công nợ liên kết hóa đơn: Xây dựng ma trận quản trị công nợ khách hàng (TK 131) theo tuổi nợ gắn liền với từng số hóa đơn GTGT phát hành, hỗ trợ công ty giảm thiểu rủi ro nợ khó đòi trong giai đoạn thị trường biến động.
- So sánh với giải pháp trước đây: So với phương thức ghi chép Excel đơn giản không liên kết, mô hình đề xuất giúp tăng 45% tốc độ truy xuất thông tin doanh thu thuần và giảm 80% thời gian rà soát chứng từ phục vụ quyết toán thuế TNDN (TK 821).
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
Khi phát sinh đơn hàng bán buôn trị giá 90.000.000 VNĐ cho Công ty CP Đầu tư Phát triển Xây dựng Việt Đức (theo Bảng kê 01 và HĐ 0000115 ngày 20/09/2020):
- Bộ phận Kinh doanh: Lập đơn hàng và đề nghị xuất kho trên hệ thống.
- Bộ phận Kho: Căn cứ phiếu xuất tự động theo FIFO để xuất hàng, hệ thống tự động ghi giảm số lượng và ghi nhận giá vốn tương ứng.
- Bộ phận Kế toán: Hệ thống tự động sinh bút toán Nợ TK 112 / Có TK 51112 (81.818.182 VNĐ) và Có TK 33311 (8.181.818 VNĐ); đồng thời tự động cập nhật công nợ và sổ chi tiết bán hàng.
Phân tích chi phí - lợi ích (ROI)
- Chi phí triển khai: Chi phí chuẩn hóa quy trình, thiết lập phần mềm và đào tạo nhân sự ước tính khoảng 15.000.000 VNĐ.
- Lợi ích kinh tế: Tiết kiệm 120 giờ làm việc của nhân sự kế toán mỗi năm (tương đương 18.000.000 VNĐ), giảm thiểu phạt hành chính do sai sót kê khai thuế ước tính 20.000.000 VNĐ/năm. Thời gian hoàn vốn (Payback Period) đạt dưới 5 tháng với ROI ước tính đạt 153% trong năm đầu tiên.
Hạn chế và hướng phát triển
- Hạn chế: Nghiên cứu giới hạn trong phạm vi số liệu của Quý 3/2020 do tác động của bảo mật thông tin nội bộ; chưa tích hợp module hóa đơn điện tử có mã của cơ quan thuế theo Thông tư 78/2021/TT-BTC một cách tự động hoàn toàn qua API.
- Hướng phát triển:
- Mở rộng xây dựng phân hệ kế toán quản trị chuyên sâu: lập dự toán ngân sách chi phí bán hàng và chi phí quản lý hàng năm.
- Tích hợp hệ thống quản lý kho thông minh qua mã vạch (Barcode/QR Code) liên kết trực tiếp với phân hệ kế toán hàng tồn kho.
- Áp dụng các chỉ số phân tích tài chính chuyên sâu (EBITDA, ROA, ROE) vào báo cáo quản trị tự động phục vụ Ban Giám đốc.
Đối tượng hưởng lợi
- Sinh viên ngành Kế toán - Kiểm toán: Nắm vững tài liệu tham khảo chuẩn mực, gắn liền lý thuyết Thông tư 200/2014/TT-BTC với tình huống thực tế của một doanh nghiệp thương mại thiết bị điện.
- Kế toán viên & Lập trình viên phần mềm kế toán: Có được mô hình dữ liệu (Database schema) và logic thuật toán định giá FIFO, quy tắc hạch toán kép để lập trình hệ thống.
- Doanh nghiệp vừa và nhỏ (SMEs): Ứng dụng ngay quy trình chuẩn hóa chứng từ và phương pháp phân bổ chi phí để tối ưu hóa lợi nhuận và hạn chế rủi ro pháp lý về thuế.
- Nhà nghiên cứu: Bổ sung cơ sở dữ liệu thực nghiệm về tác động của biến động kinh tế đến cơ cấu chi phí doanh nghiệp tại thị trường miền Trung Việt Nam.
Câu hỏi thường gặp
-
Doanh nghiệp thương mại nhỏ có bắt buộc áp dụng Thông tư 200/2014/TT-BTC không?
Doanh nghiệp nhỏ và vừa có thể lựa chọn áp dụng Thông tư 133/2016/TT-BTC hoặc Thông tư 200/2014/TT-BTC. Công ty Ánh Dương PT lựa chọn Thông tư 200 nhằm đảm bảo tính bao quát, chuẩn hóa cao và dễ dàng mở rộng quy mô vốn trong tương lai mà không cần chuyển đổi hệ thống kế toán.
-
Tại sao phương pháp FIFO lại tối ưu hơn phương pháp Bình quân gia quyền tại công ty?
Do đặc thù các sản phẩm thiết bị điện, đèn led, vật tư xây dựng có nhiều chủng loại, model nhập theo từng lô với biến động giá từ nhà sản xuất. FIFO phản ánh sát giá trị thị trường của hàng tồn kho trên Bảng cân đối kế toán và tính toán được giá vốn tức thời cho từng hóa đơn xuất bán.
-
Khi nào doanh thu bán hàng được ghi nhận chính thức theo VAS 14?
Doanh thu chỉ được ghi nhận khi đồng thời thỏa mãn 4 điều kiện: Doanh nghiệp đã chuyển giao phần lớn rủi ro và lợi ích gắn liền với quyền sở hữu; không còn nắm giữ quyền quản lý hàng hóa; doanh thu được xác định tương đối chắc chắn; và doanh nghiệp đã hoặc sẽ thu được lợi ích kinh tế từ giao dịch.
-
Cách xử lý khi có khoản giảm giá hàng bán hoặc hàng bán bị trả lại phát sinh?
Kế toán ghi nhận tập hợp vào bên Nợ của TK 521 (TK 5212 hoặc TK 5213), giảm trừ thuế GTGT đầu ra tương ứng tại Nợ TK 33311. Cuối kỳ, toàn bộ số dư Nợ TK 521 sẽ được kết chuyển sang bên Nợ TK 511 để xác định Doanh thu thuần trước khi chuyển sang TK 911.
-
Chi phí bán hàng (TK 641) tăng trong mùa dịch Covid-19 có phải là rủi ro quản trị?
Tại Ánh Dương PT, chi phí bán hàng 2020 tăng 3,37% chủ yếu do chính sách duy trì lương và hỗ trợ nhân viên bán hàng nhằm giữ vững mạng lưới phân phối. Đây là quyết định mang tính chiến lược nhân sự, tuy nhiên cần được bóc tách và kiểm soát chặt chẽ các khoản chi phí quảng cáo và vận chuyển đi kèm.
Kết luận
Đồ án tốt nghiệp "Hoàn thiện công tác kế toán doanh thu, chi phí và xác định kết quả kinh doanh tại Công ty TNHH MTV Ánh Dương PT Quảng Trị" đã giải quyết thành công bài toán chuyển đổi từ mô hình hạch toán đơn giản, chậm trễ sang hệ thống kế toán chuẩn mực, chi tiết và có tính tự động hóa cao theo Thông tư 200/2014/TT-BTC.
Bằng việc tối ưu hóa sơ đồ luân chuyển chứng từ, tái cấu trúc bảng mã tài khoản cấp chi tiết và thiết lập giải pháp tính giá vốn FIFO tự động, nghiên cứu không chỉ giúp doanh nghiệp minh bạch hóa bức tranh tài chính, tối ưu hóa nghĩa vụ thuế mà còn tạo nền tảng vững chắc để ban lãnh đạo đưa ra các quyết định mở rộng thị trường hiệu quả. Đây là tài liệu tham khảo có giá trị ứng dụng thực tiễn cao cho các nhà quản lý doanh nghiệp, chuyên viên kế toán và sinh viên khối ngành kinh tế.