Giới thiệu dự án

Trong bối cảnh nền kinh tế số hóa và tốc độ tăng trưởng của ngành hóa chất - vật liệu xây dựng tại Việt Nam luôn duy trì ở mức trên 10%/năm, việc quản trị dòng tiền và hạch toán chính xác doanh thu bán hàng trở thành yếu tố sống còn đối với các doanh nghiệp thương mại. Công ty Cổ phần Việt Com là đơn vị chuyên phân phối hóa chất sản xuất sơn công nghiệp với mục tiêu tăng trưởng doanh số trên 14%/năm và đạt sản lượng tiêu thụ 20.000 tấn. Tuy nhiên, quy trình kế toán thủ công kết hợp các công cụ rời rạc trước đây bộc lộ nhiều hạn chế nghiêm trọng: thời gian tổng hợp chứng từ kéo dài, nguy cơ sai sót số liệu công nợ và độ trễ báo cáo tài chính lên tới 3–5 ngày sau kỳ hạch toán.

flowchart LR
    A[Chứng từ gốc: Hóa đơn, Phiếu xuất kho] --> B[Nhập liệu & Kiểm tra hợp lệ]
    B --> C[Phân hệ Kế toán Doanh thu & Công nợ VFP 9.0]
    C --> D[Sổ Nhật ký chung & Sổ chi tiết TK 511, 131, 521]
    C --> E[Sổ Cái & Bảng cân đối phát sinh]
    D & E --> F[Báo cáo KQKD & Báo cáo Phân tích Quản trị]

Đề tài tốt nghiệp "Xây dựng phần mềm kế toán xác định doanh thu bán hàng tại Công ty Cổ phần Việt Com" (chuyên ngành Hệ thống Thông tin Kinh tế, Học viện Tài chính) được triển khai nhằm giải quyết triệt để bài toán tự động hóa luồng hạch toán bán hàng và quản trị giảm trừ doanh thu.

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

  1. Tự động hóa 100% quy trình hạch toán nghiệp vụ bán hàng: Xử lý luân chuyển chứng từ từ Hóa đơn GTGT, Phiếu xuất kho đến Sổ Nhật ký chung, Sổ Cái và Báo cáo tài chính theo Thông tư 200/2014/TT-BTC.
  2. Quản lý chi tiết danh mục và công nợ: Theo dõi biến động doanh thu đa sản phẩm hóa chất sơn, kiểm soát chính xác công nợ khách hàng (TK 131) theo từng hóa đơn và thời hạn thanh toán.
  3. Tính toán tự động các khoản giảm trừ doanh thu: Đồng bộ xử lý chiết khấu thương mại (TK 5211), hàng bán bị trả lại (TK 5212) và giảm giá hàng bán (TK 5213) theo thời gian thực.
  4. Tối ưu hóa hiệu suất và chi phí vận hành: Xây dựng phần mềm trên nền tảng Visual FoxPro (VFP 9.0) với kiến trúc hướng đối tượng, tận dụng tối đa hạ tầng phần cứng hiện có của công ty mà không phát sinh chi phí bản quyền cơ sở dữ liệu lớn.

Phạm vi và giới hạn

  • Phạm vi: Phân hệ kế toán xác định doanh thu bán hàng, giảm trừ doanh thu, theo dõi thuế GTGT đầu ra (TK 33311), hạch toán giá vốn (TK 632) và công nợ bán hàng tại trụ sở chính Công ty Cổ phần Việt Com.
  • Giới hạn: Ứng dụng tập trung vào mô hình mạng nội bộ (LAN Client-Server), chưa tích hợp cổng thanh toán trực tuyến hoặc đồng bộ hóa đám mây đa chi nhánh thời gian thực.

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 Cổ phần Việt Com, hình thức kế toán áp dụng là Nhật ký chung, kê khai thuế GTGT theo phương pháp khấu trừ và hạch toán hàng tồn kho theo phương pháp kê khai thường xuyên. Trước khi triển khai hệ thống chuyên biệt, việc theo dõi doanh thu gặp nhiều bất cập khi so sánh giữa các phương án xử lý:

Tiêu chí đánh giá Xử lý thủ công / Excel Phần mềm đóng gói (MISA SME) Phần mềm thiết kế chuyên biệt (VFP)
Tính tương thích quy trình Thấp, dễ chỉnh sửa tùy tiện Trung bình, quy trình chuẩn hóa cứng Tương thích 100% đặc thù hóa chất sơn
Tốc độ kết xuất sổ sách Chậm (2-4 giờ/báo cáo) Nhanh (< 3 giây) Nhanh (< 1.5 giây)
Kiểm soát tính toàn vẹn dữ liệu Kém, dễ mất mát/đè công thức Tốt, bảo mật tập trung Rất tốt với cơ chế ràng buộc toàn vẹn
Chi phí đầu tư & duy trì Thấp nhưng chi phí lỗi cao Đắt (phí duy trì hàng năm) Tối ưu chi phí đầu tư ban đầu

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must-have (Bắt buộc): Nhập liệu chứng từ bán hàng (Hóa đơn GTGT, Phiếu xuất kho); tự động định khoản Nợ/Có TK 511, 3331, 131, 111, 112; kết xuất Sổ Nhật ký chung, Sổ Cái và Bảng tổng hợp công nợ.
  • Should-have (Cần có): Phân hệ quản lý chiết khấu thương mại tự động theo quy mô đơn hàng; cảnh báo khách hàng quá hạn thanh toán.
  • Could-have (Có thể có): Kết xuất báo cáo định dạng PDF/Excel thông qua Report Designer/Crystal Reports tích hợp.
  • Won't-have (Chưa triển khai): Phân hệ kế toán tiền lương và kế toán tài sản cố định chuyên sâu.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình 3 lớp (3-Tier Architecture) hướng đối tượng:

graph TD
    UI[Giao diện người dùng: Forms VFP (.SCX)] --> BL[Tầng Logic Nghiệp vụ: Procedures/Functions (.PRG)]
    BL --> DAL[Tầng Quản trị Dữ liệu: VFP Database Engine (.DBC/.DBF)]
    DAL --> DB[(Cơ sở dữ liệu Kế toán Việt Com)]
    BL --> REP[Module Báo cáo & Kết xuất: Report Designer (.FRX)]

Technology Stack

  • Ngôn ngữ phát triển & Giao diện: Microsoft Visual FoxPro 9.0 SP2 (OOP-based Forms, Visual Controls).
  • Cơ sở dữ liệu: Visual FoxPro Database Container Engine (.DBC) kết hợp bảng dữ liệu quan hệ (.DBF), hỗ trợ lệnh truy vấn ANSI SQL.
  • Engine Báo cáo: VFP Report Designer & Crystal Reports Engine.
  • Môi trường vận hành: Windows XP / Windows 7 / Windows 10 / Windows Server.

Thiết kế Cơ sở dữ liệu quan hệ (Database Schema)

Hệ thống chuyển đổi từ mô hình thực thể liên kết (E-R) sang mô hình quan hệ chuẩn hóa dạng 3NF:

-- Cấu trúc bảng Danh mục Khách hàng (DM_KHACHHANG)
CREATE TABLE DM_KHACHHANG (
    MaKH C(10) PRIMARY KEY,
    TenKH C(100) NOT NULL,
    DiaChi C(150),
    MaSoThue C(15),
    SoDienThoai C(15),
    HanMucNo N(12, 2) DEFAULT 0
)

-- Cấu trúc bảng Hóa đơn Bán hàng (HOADON_BANHANG)
CREATE TABLE HOADON_BANHANG (
    SoHD C(10) PRIMARY KEY,
    NgayHD D NOT NULL,
    MaKH C(10) REFERENCES DM_KHACHHANG(MaKH),
    DienGiai C(200),
    HinhThucTT C(20), -- 'TM' (Tiền mặt) hoặc 'CK' (Chuyển khoản) / 'CN' (Công nợ)
    TongTienHang N(14, 2) DEFAULT 0,
    TienThueGTGT N(14, 2) DEFAULT 0,
    TongThanhTien N(14, 2) DEFAULT 0,
    MaNhanVien C(10)
)

-- Cấu trúc bảng Chi tiết Hóa đơn Bán hàng (CHITIET_HOADON)
CREATE TABLE CHITIET_HOADON (
    IDAuto I AUTOINC PRIMARY KEY,
    SoHD C(10) REFERENCES HOADON_BANHANG(SoHD),
    MaHang C(10) REFERENCES DM_HANGHOA(MaHang),
    SoLuong N(10, 2) NOT NULL,
    DonGiaBan N(12, 2) NOT NULL,
    ThanhTien N(14, 2) NOT NULL,
    ThueSuat N(3, 0) DEFAULT 10,
    TienChietKhau N(12, 2) DEFAULT 0
)

Phương pháp luận phát triển (Methodology)

Dự án áp dụng quy trình Rational Unified Process (RUP) kết hợp lập trình hướng đối tượng (OOP) chia làm 4 pha chính: Khởi tạo (Inception), Tinh chỉnh (Elaboration), Xây dựng (Construction) và Chuyển giao (Transition).

gantt
    title Lộ trình triển khai dự án Phần mềm Kế toán Việt Com
    dateFormat  YYYY-MM-DD
    section Khảo sát & Phân tích
    Khảo sát quy trình chứng từ & phỏng vấn KT: 2014-01-05, 15d
    Mô hình hóa E-R & Ma trận chức năng: 2014-01-20, 15d
    section Thiết kế & Xây dựng
    Thiết kế CSDL Vật lý & Data Dictionary: 2014-02-05, 12d
    Lập trình Form nhập liệu & Module hạch toán: 2014-02-18, 30d
    Xây dựng Báo cáo Sổ Cái, Nhật ký chung: 2014-03-20, 15d
    section Kiểm thử & Bàn giao
    Kiểm thử tích hợp & Test sai lệch số liệu: 2014-04-05, 15d
    Đào tạo nhân sự & Bàn giao hệ thống: 2014-04-20, 10d

Implementation và kết quả

Quá trình phát triển và Thuật toán cốt lõi

Trọng tâm của hệ thống là module tự động hóa định khoản kép (Double-entry Bookkeeping) khi phát sinh nghiệp vụ ghi nhận doanh thu bán hàng hóa chất sơn và các khoản giảm trừ.

Thuật toán tính toán Doanh thu thuần và Hạch toán tự động

Nghiệp vụ ghi sổ áp dụng công thức tài chính: $$\text{Doanh thu thuần} = \text{Tổng doanh thu (TK 511)} - (\text{Chiết khấu TM (TK 5211)} + \text{Hàng bán trả lại (TK 5212)} + \text{Giảm giá hàng bán (TK 5213)})$$

*====================================================================*
* Program: PRO_POSTING_REVENUE.PRG
* Chức năng: Xử lý định khoản tự động hóa đơn bán hàng vào Nhật ký chung
*====================================================================*
LPARAMETERS pcSoHD, pdNgayHD, pcMaKH, pnTienHang, pnTienThue, pcHinhThucTT
LOCAL lcTkNo, lcTkCo, lcDienGiai

lcDienGiai = "Bán hóa chất sơn theo HĐ số " + ALLTRIM(pcSoHD)

* 1. Xác định Tài khoản Nợ dựa trên phương thức thanh toán
DO CASE
    CASE pcHinhThucTT == "TM"
        lcTkNo = "1111"  && Tiền mặt tại quỹ
    CASE pcHinhThucTT == "CK"
        lcTkNo = "1121"  && Tiền gửi ngân hàng
    OTHERWISE
        lcTkNo = "131"   && Phải thu khách hàng
ENDCASE

* 2. Bắt đầu giao dịch ghi sổ kế toán (Transaction Processing)
BEGIN TRANSACTION
    TRY
        * Ghi nhận Doanh thu bán hàng (Nợ TK 111/112/131 - Có TK 5111)
        INSERT INTO SO_NHATKYCHUNG (NgayGS, SoCT, DienGiai, TKNo, TKCo, SoTien) ;
        VALUES (pdNgayHD, pcSoHD, lcDienGiai, lcTkNo, "5111", pnTienHang)

        * Ghi nhận Thuế GTGT đầu ra (Nợ TK 111/112/131 - Có TK 33311)
        IF pnTienThue > 0
            INSERT INTO SO_NHATKYCHUNG (NgayGS, SoCT, DienGiai, TKNo, TKCo, SoTien) ;
            VALUES (pdNgayHD, pcSoHD, "Thuế GTGT đầu ra HĐ " + ALLTRIM(pcSoHD), lcTkNo, "33311", pnTienThue)
        ENDIF

        * Cập nhật số dư công nợ khách hàng nếu bán chịu
        IF lcTkNo == "131"
            UPDATE DM_KHACHHANG ;
            SET TongDuNo = TongDuNo + (pnTienHang + pnTienThue) ;
            WHERE MaKH == pcMaKH
        ENDIF

        END TRANSACTION
        MESSAGEBOX("Hạch toán nghiệp vụ bán hàng thành công!", 64, "Thông báo")

    CATCH TO oErr
        ROLLBACK
        MESSAGEBOX("Lỗi hạch toán: " + oErr.Message, 16, "Cảnh báo hệ thống")
    ENDTRY
RETURN

Kiểm thử và Đánh giá hiệu năng

Hệ thống đã trải qua các đợt kiểm thử hộp đen (Black-box Testing) và kiểm thử đối chiếu dữ liệu kế toán song song với hệ thống ghi chép cũ tại công ty.

pie title Tỷ lệ phân bổ kịch bản kiểm thử hệ thống
    "Kiểm thử tính đúng đắn hạch toán Nợ/Có" : 45
    "Kiểm thử ràng buộc toàn vẹn CSDL" : 25
    "Kiểm thử kết xuất sổ sách & BCTC" : 20
    "Kiểm thử giao diện & Bắt lỗi người dùng" : 10
  • Độ chính xác số liệu: Kiểm thử trên 1.250 chứng từ bán hàng phát sinh thực tế; sai lệch số liệu cân đối phát sinh Nợ/Có đạt 0.00%.
  • Thời gian xử lý giao dịch: Thời gian trung bình để ghi nhận 1 hóa đơn chi tiết gồm 15 dòng mặt hàng và cập nhật sổ phụ: 0.18 giây.
  • Thời gian tổng hợp sổ: Thời gian tổng hợp Sổ Nhật ký chung và Bảng cân đối tài khoản tháng: giảm từ 180 phút (làm thủ công) xuống còn 1.2 giây trên hệ thống mới.

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

  1. Chuẩn hóa luồng chứng từ khép kín theo Thông tư 200/2014/TT-BTC: Khắc phục triệt để tình trạng lệch số liệu giữa phân hệ kho và phòng kế toán bằng cơ chế tự động liên kết Phiếu xuất kho với Hóa đơn GTGT.
  2. Cơ chế bẫy lỗi và kiểm soát nghiệp vụ thông minh: Tích hợp kiểm tra tự động mã số thuế, kiểm soát hạn mức nợ khách hàng trước khi cho phép lập phiếu xuất kho bán trả chậm.
  3. Hiệu quả tối ưu hóa vượt trội:
    • Cắt giảm 75% thời gian nhập liệu và đối chiếu sổ sách định kỳ.
    • Giảm thiểu 100% sai sót số học trong việc cộng dồn doanh thu và tính thuế GTGT.
    • Nâng cao tốc độ cung cấp số liệu doanh thu cho Ban Giám đốc từ chu kỳ tuần sang truy vấn tức thời (Real-time reporting).

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

Kịch bản vận hành thực tế tại Công ty Cổ phần Việt Com

  • Nghiệp vụ Bán hàng Thu tiền ngay: Nhân viên nhập thông tin đơn hàng -> Phần mềm tự động sinh Phiếu thu (Mẫu 01-TT) và Hóa đơn GTGT -> Hệ thống tự động ghi Nợ TK 1111 / Có TK 5111, Có TK 33311.
  • Nghiệp vụ Bán hàng Trả chậm: Kiểm tra điều kiện hạn mức tín dụng khách hàng -> Sinh Phiếu xuất kho (Mẫu 02-VT) kiêm ghi nhận công nợ Nợ TK 131 -> Theo dõi chi tiết theo từng hóa đơn đến hạn thanh toán.
  • Nghiệp vụ Hàng bán bị trả lại do lỗi chất lượng: Lập biên bản trả hàng -> Nhập phiếu hàng bán trả lại -> Phần mềm tự động định khoản Nợ TK 5212, Nợ TK 33311 / Có TK 131 (hoặc TK 111) và tự động giảm trừ doanh thu thuần khi lên Báo cáo kết quả kinh doanh.

Yêu cầu triển khai hệ thống (System Requirements)

  • Hệ điều hành: Microsoft Windows 7 / 8 / 10 / 11 hoặc Windows Server 2012 trở lên.
  • Cấu hình phần cứng tối thiểu: CPU Intel Core 2 Duo 2.0 GHz, RAM 2 GB, Ổ cứng trống 500 MB.
  • Cấu hình đề nghị: CPU Intel Core i3 trở lên, RAM 4 GB, SSD 120 GB để đảm bảo truy vấn bảng dữ liệu lớn đạt tốc độ tối đa.

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

  • Hạn chế hiện tại: Cơ sở dữ liệu VFP Database Engine (.DBF) có giới hạn dung lượng 2GB/bảng; khả năng bảo mật cấp cơ sở dữ liệu và xử lý đồng thời trên môi trường mạng diện rộng (WAN) còn hạn chế so với các RDBMS hiện đại.
  • Hướng nâng cấp tiếp theo:
    • Chuyển đổi tầng lưu trữ dữ liệu sang hệ quản trị cơ sở dữ liệu Microsoft SQL Server hoặc PostgreSQL nhằm nâng cao tính an toàn, bảo mật và toàn vẹn giao dịch.
    • Xây dựng giao diện Web/Mobile App phục vụ giám sát doanh thu từ xa cho Ban Lãnh đạo thông qua API RESTful.
    • Tích hợp chữ ký số và hệ thống Hóa đơn điện tử (E-Invoice) theo quy chuẩn Nghị định 123/2020/NĐ-CP.

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

  • Sinh viên & Học viên ngành Kinh tế/HTTT: Tài liệu tham khảo chuẩn mực về phương pháp phân tích thiết kế hệ thống thông tin kế toán (AIS), cách thức chuyển hóa chế độ kế toán vào các mô hình dữ liệu thực tế.
  • Lập trình viên & Kỹ sư phần mềm: Cung cấp pattern thiết kế form nhập liệu kế toán nghiệp vụ, kỹ thuật bẫy lỗi và cấu trúc quản lý giao dịch CSDL trong các ứng dụng kế toán doanh nghiệp vừa và nhỏ.
  • Doanh nghiệp thương mại & phân phối: Mô hình giải pháp thực tiễn giúp số hóa quy trình quản trị doanh thu, kiểm soát chặt chẽ thất thoát và chiết khấu bán hàng với chi phí đầu tư ban đầu thấp nhất.

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

1. Phần mềm có đáp ứng đầy đủ quy định của Bộ Tài chính về sổ sách kế toán không?

Hệ thống tuân thủ hoàn toàn chế độ kế toán doanh nghiệp theo Thông tư 200/2014/TT-BTC, chuẩn hóa mẫu biểu chứng từ (Phiếu thu 01-TT, Phiếu xuất kho 02-VT), hệ thống Sổ Nhật ký chung (Mẫu S03a-DN), Sổ Cái (Mẫu S02c1-DN) và Báo cáo kết quả hoạt động kinh doanh.

2. Dung lượng file DBF có bị quá tải khi doanh nghiệp phát sinh hàng chục ngàn giao dịch?

Với quy mô giao dịch hiện tại của Công ty Việt Com (khoảng 2.000–5.000 chứng từ/năm), dung lượng CSDL chỉ tăng khoảng 15–30 MB/năm, hoàn toàn nằm trong ngưỡng tối ưu của Visual FoxPro (tối đa 2GB/table). Đối với nhu cầu mở rộng 5-10 năm tới, hệ thống đã sẵn sàng cấu trúc để tách năm tài chính (Year-end closing/Archive database).

3. Phần mềm xử lý thế nào khi có chênh lệch giữa hóa đơn bán lẻ và hóa đơn chiết khấu?

Hệ thống phân tách rõ ràng tài khoản doanh thu (TK 511) và tài khoản chiết khấu thương mại (TK 5211). Khi lập hóa đơn có chiết khấu, phần mềm tự động ghi nhận song song doanh thu gộp và số tiền giảm trừ, tự động tổng hợp số liệu Doanh thu thuần chính xác khi lập báo cáo tài chính cuối kỳ.

4. Chi phí bảo trì và chuyển giao phần mềm cho doanh nghiệp là bao nhiêu?

Nhờ sử dụng kiến trúc module độc lập hướng đối tượng và không phụ thuộc vào license máy chủ CSDL thương mại đắt tiền, chi phí triển khai và bảo trì gần như bằng 0 đối với bản quyền phần mềm nền tảng, chỉ cần chi phí đào tạo người dùng nội bộ trong 1–2 tuần.

5. Dữ liệu kế toán có thể xuất ra Excel để phục vụ thanh tra thuế hoặc kiểm toán không?

Phần mềm tích hợp sẵn module OLE Automation cho phép kết xuất toàn bộ Sổ Nhật ký chung, Sổ chi tiết công nợ và Bảng cân đối phát sinh sang định dạng Microsoft Excel (.XLS/.XLSX) với đầy đủ định dạng số liệu, phục vụ công tác kiểm tra, quyết toán thuế nhanh chóng.


Kết luận

Đồ án "Xây dựng phần mềm kế toán xác định doanh thu bán hàng tại Công ty Cổ phần Việt Com" đã giải quyết trọn vẹn bài toán số hóa nghiệp vụ kế toán doanh thu và công nợ bán hàng trong một doanh nghiệp thương mại vật liệu hóa chất sơn. Với sự kết hợp chặt chẽ giữa lý luận Hệ thống Thông tin Kế toán và công nghệ phát triển phần mềm Visual FoxPro 9.0, hệ thống không chỉ đảm bảo tính chính xác, kịp thời và an toàn dữ liệu mà còn mang lại giá trị kinh tế trực tiếp thông qua việc tối ưu hóa nhân lực và nâng cao hiệu quả quản trị tài chính. Đây là nền tảng vững chắc để công ty tiếp tục mở rộng quy mô kinh doanh và từng bước hoàn thiện chuyển đổi số toàn diện.