Giới thiệu dự án
Trong bối cảnh nền kinh tế số và sự phát triển mạnh mẽ của Công nghệ Thông tin (CNTT), việc số hóa quy trình quản trị doanh nghiệp đã trở thành yếu tố sống còn. Theo các khảo sát ngành tài chính - kế toán, hơn 68% doanh nghiệp vừa và nhỏ (SMEs) gặp phải tình trạng sai lệch số liệu kho, đối soát công nợ chậm trễ từ 5–10 ngày và tiêu tốn hơn 40% quỹ thời gian của nhân sự kế toán khi duy trì các phương pháp thủ công hoặc bảng tính rời rạc. Tại các đơn vị kinh doanh giải pháp và thiết bị giáo dục như Công ty Cổ phần iuEdu (chuyên cung ứng bảng tương tác Up, máy chiếu, thiết bị trắc nghiệm, phần mềm giáo án Air), luồng hàng hóa và cơ chế chiết khấu, trả lại diễn ra phức tạp đòi hỏi một hệ thống quản lý chuẩn hóa.
+-------------------------------------------------------------------------------+
| iuEdu Sales Accounting Architecture |
| |
| [ Client Layer ] WinForms UI (.NET Framework 4.5/4.8) |
| | |
| [ Business Layer ] BLL Services (Tax Engine, Posting Engine, Validation) |
| | |
| [ Data Access Layer ] DAL / ADO.NET / Stored Procedures |
| | |
| [ Storage Layer ] Microsoft SQL Server 2014 RDBMS (ACID Compliant) |
+-------------------------------------------------------------------------------+
Vấn đề thực tế (Problem Statement)
Phương thức quản trị kế toán bán hàng thủ công và bán tự động tại iuEdu trước đây bộc lộ các điểm nghẽn nghiêm trọng:
- Sai lệch số liệu định khoản: Ghi nhận thủ công các bút toán đồng thời giữa Doanh thu (TK 511), Thuế GTGT (TK 3331) và Giá vốn (TK 632) thường xuyên phát sinh sai sót số học và nhầm lẫn tài khoản đối ứng.
- Ách tắc luân chuyển chứng từ: Hóa đơn GTGT, phiếu xuất kho và chứng từ hàng bán bị trả lại (TK 5212) phân tán, làm chậm quá trình lập Báo cáo tài chính và Sổ Cái.
- Rủi ro theo dõi công nợ: Thiếu cơ chế kiểm soát hạn mức nợ khách hàng (TK 131) theo thời gian thực, dẫn đến công nợ tồn đọng kéo dài.
Mục tiêu dự án
- Chuẩn hóa nghiệp vụ: Xây dựng phần mềm kế toán bán hàng tuân thủ nghiêm ngặt Thông tư 200/2014/TT-BTC của Bộ Tài chính.
- Tự động hóa luồng dữ liệu: Tự động hóa 100% quy trình từ lập đơn hàng, xuất hóa đơn, ghi nhận giảm trừ doanh thu (chiết khấu thương mại TK 5211, hàng bán bị trả lại TK 5212, giảm giá hàng bán TK 5213) đến kết chuyển cuối kỳ.
- Tối ưu hóa hiệu năng và độ chính xác: Giảm thời gian xử lý chứng từ xuống dưới 3 giây/giao dịch, đảm bảo tính toàn vẹn dữ liệu với độ chính xác đạt 99.98%.
- Kết xuất báo cáo quản trị: Tích hợp công cụ tạo báo cáo chuyên sâu (Crystal Reports / DevExpress XtraReports) xuất dữ liệu đa định dạng (PDF, Excel, Word).
Giải pháp và Phạm vi tiếp cận
Dự án áp dụng phương pháp phân tích thiết kế hệ thống có cấu trúc (Structured Analysis and Design - SA/SD), triển khai ứng dụng Desktop trên nền tảng C# .NET Framework kết hợp cơ sở dữ liệu quan hệ Microsoft SQL Server. Phạm vi hệ thống tập trung chuyên sâu vào phân hệ Kế toán bán hàng và Công nợ phải thu tại Công ty Cổ phần iuEdu, hỗ trợ kết nối mạng nội bộ (LAN).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Quản lý thủ công / Excel |
Phần mềm ERP đóng gói lớn |
Phần mềm chuyên biệt iuEdu (Đề xuất) |
| Chi phí đầu tư |
Thấp (sẵn có) |
Rất cao ($5,000 - $30,000) |
Tối ưu, phù hợp năng lực doanh nghiệp |
| Độ phức tạp |
Thấp |
Cồng kềnh, thừa module |
Thiết kế may đo đúng nghiệp vụ |
| Tính toàn vẹn dữ liệu |
Kém, dễ bị chỉnh sửa tùy tiện |
Rất cao |
Cao (Ràng buộc toàn vẹn RDBMS + RBAC) |
| Thời gian xuất báo cáo |
2 - 5 ngày (tổng hợp tay) |
Tức thì |
Tức thì (< 1.5 giây) |
| Khả năng mở rộng |
Không |
Tốt nhưng phụ thuộc nhà cung cấp |
Linh hoạt, dễ nâng cấp mã nguồn |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must Have: Đăng nhập phân quyền; Lập hóa đơn bán hàng kiêm phiếu xuất; Quản lý hàng bán bị trả lại; Hạch toán tự động TK 511, 632, 131, 3331, 521; Kết xuất Sổ Nhật ký chung, Sổ Cái, Sổ chi tiết công nợ.
- Should Have: Tìm kiếm nâng cao đa tiêu chí; Cảnh báo hàng tồn kho dưới định mức; Cảnh báo vượt hạn mức công nợ.
- Could Have: Tùy biến mẫu in báo cáo qua giao diện đồ họa; Xuất dữ liệu đồng bộ với phần mềm kê khai thuế HTKK.
- Won't Have (Giai đoạn này): Tích hợp cổng thanh toán trực tuyến quốc tế; Module tính lương và khấu hao tài sản cố định chuyên sâu.
Thiết kế hệ thống
graph TD
UI[Giao diện Người dùng - Windows Forms] --> BLL[Tầng Xử lý Nghiệp vụ - Business Logic Layer]
BLL --> DAL[Tầng Truy cập Dữ liệu - Data Access Layer]
DAL --> DB[(Cơ sở Dữ liệu - SQL Server)]
BLL --> ReportEng[Engine Báo cáo - Crystal Reports/XtraReport]
ReportEng --> Export[Kết xuất: PDF / Excel / In ấn]
Ngăn xếp công nghệ (Technology Stack)
- Ngôn ngữ lập trình: C# (.NET Framework 4.5 / 4.8)
- Hệ quản trị CSDL: Microsoft SQL Server 2012 / 2014 RDBMS
- Giao diện & Báo cáo: Windows Forms API, DevExpress WinForms Controls, SAP Crystal Reports Engine
- Kiến trúc ứng dụng: 3-Tier Architecture (Presentation - Business Logic - Data Access)
Thiết kế Cơ sở dữ liệu và Lược đồ quan hệ
Hệ thống chuẩn hóa dữ liệu từ mô hình Thực thể Liên kết (E-R) sang mô hình Quan hệ (Relational Schema) đạt chuẩn chuẩn hóa 3NF, sau đó phi chuẩn hóa có kiểm soát để tăng tốc độ truy vấn báo cáo.
-- DDL trích xuất lược đồ các bảng cốt lõi
CREATE TABLE tbl_KhachHang (
MaKH VARCHAR(20) PRIMARY KEY,
TenKH NVARCHAR(150) NOT NULL,
DiaChi NVARCHAR(250),
MaSoThue VARCHAR(20),
SoDienThoai VARCHAR(15),
GioiHanNo DECIMAL(18,2) DEFAULT 0
);
CREATE TABLE tbl_HangHoa (
MaHang VARCHAR(20) PRIMARY KEY,
TenHang NVARCHAR(150) NOT NULL,
DonViTinh NVARCHAR(30),
DonGiaBan DECIMAL(18,2) NOT NULL,
DonGiaVon DECIMAL(18,2) NOT NULL,
SoLuongTon INT DEFAULT 0
);
CREATE TABLE tbl_HoaDonBan (
SoHD VARCHAR(20) PRIMARY KEY,
NgayLap DATETIME NOT NULL DEFAULT GETDATE(),
MaKH VARCHAR(20) FOREIGN KEY REFERENCES tbl_KhachHang(MaKH),
TongTienHang DECIMAL(18,2) NOT NULL,
ThueSuatGTGT FLOAT DEFAULT 0.1,
TienThueGTGT DECIMAL(18,2) NOT NULL,
ChietKhau DECIMAL(18,2) DEFAULT 0,
TongThanhToan DECIMAL(18,2) NOT NULL,
DaThanhToan DECIMAL(18,2) DEFAULT 0,
MaNV VARCHAR(20) NOT NULL
);
CREATE TABLE tbl_ChiTietHoaDon (
ID INT IDENTITY(1,1) PRIMARY KEY,
SoHD VARCHAR(20) FOREIGN KEY REFERENCES tbl_HoaDonBan(SoHD) ON DELETE CASCADE,
MaHang VARCHAR(20) FOREIGN KEY REFERENCES tbl_HangHoa(MaHang),
SoLuong INT NOT NULL,
DonGia DECIMAL(18,2) NOT NULL,
GiaVon DECIMAL(18,2) NOT NULL,
ThanhTien AS (SoLuong * DonGia)
);
Ma trận Thực thể - Chức năng (CRUD Matrix)
| Chức năng / Tiến trình |
tbl_KhachHang |
tbl_HangHoa |
tbl_HoaDonBan |
tbl_ChiTietHoaDon |
tbl_SoCai |
| Quản lý danh mục Khách/Hàng |
C, R, U, D |
C, R, U, D |
- |
- |
- |
| Lập Hóa đơn Bán hàng |
R |
R, U |
C, R, U |
C, R |
C |
| Xử lý Hàng bán trả lại |
R |
U |
R |
C, R |
C |
| Ghi sổ Kế toán tự động |
R |
- |
R |
R |
C, R |
| Tổng hợp Báo cáo Doanh thu |
R |
R |
R |
R |
R |
Phương pháp luận phát triển (Methodology)
Dự án kết hợp phương pháp phân tích hệ thống có cấu trúc (Structured Analysis & Design - SA/SD) với các vòng lặp kiểm thử chức năng liên tục:
- Khảo sát & Mô hình hóa nghiệp vụ: Lập Biểu đồ luồng dữ liệu (DFD Mức Khung cảnh, Mức 0, Mức 1) và Biểu đồ phân cấp chức năng (FDD).
- Phân rã luồng dữ liệu: DFD phân rã rõ nét 4 tiến trình hạt nhân:
1.0 Bán hàng, 2.0 Xử lý hàng bán bị trả lại, 3.0 Ghi sổ kế toán, 4.0 Lập báo cáo tài chính & quản trị.
- Đánh giá rủi ro: Xây dựng cơ chế Transaction Management trong SQL Server nhằm ngăn chặn tình trạng cập nhật thiếu đồng bộ giữa bảng tồn kho và sổ chi tiết bán hàng khi xảy ra sự cố mạng.
Implementation và kết quả
Quy trình phát triển và Thuật toán cốt lõi
Hệ thống cài đặt giải thuật hạch toán kế toán kép (Double-Entry Bookkeeping Algorithm) tự động ngay khi người dùng xác nhận phát hành hóa đơn. Quá trình kiểm tra ràng buộc số dư tồn kho, cập nhật giá vốn xuất kho và ghi sổ tổng hợp diễn ra bên trong một Transaction cô lập.
// Logic xử lý hạch toán bán hàng và cập nhật dữ liệu tự động (C#)
public bool PostSalesInvoice(InvoiceDTO invoice, List<InvoiceDetailDTO> details)
{
using (SqlConnection conn = new SqlConnection(DbConfiguration.ConnectionString))
{
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
// 1. Kiểm tra tồn kho và hạn mức công nợ
foreach (var item in details)
{
int currentStock = GetCurrentStock(item.MaHang, conn, trans);
if (currentStock < item.SoLuong)
{
throw new InvalidOperationException($"Hàng hóa {item.MaHang} không đủ tồn kho (Còn: {currentStock}).");
}
}
// 2. Chèn dữ liệu Hóa đơn chính & Chi tiết
InsertInvoiceHeader(invoice, conn, trans);
InsertInvoiceDetails(details, invoice.SoHD, conn, trans);
// 3. Tự động ghi Sổ Nhật ký chung / Sổ Cái
// Bút toán 1: Phản ánh Doanh thu và Thuế GTGT
// Nợ TK 131 (hoặc 111): Tổng thanh toán
// Có TK 511: Doanh thu thuần
// Có TK 3331: Thuế GTGT đầu ra
InsertGeneralLedgerEntry("PK01", invoice.NgayLap, "131", "511", invoice.TongTienHang, invoice.SoHD, conn, trans);
InsertGeneralLedgerEntry("PK01", invoice.NgayLap, "131", "3331", invoice.TienThueGTGT, invoice.SoHD, conn, trans);
// Bút toán 2: Phản ánh Giá vốn hàng bán
// Nợ TK 632 / Có TK 156
decimal totalCost = details.Sum(d => d.SoLuong * d.GiaVon);
InsertGeneralLedgerEntry("PK02", invoice.NgayLap, "632", "156", totalCost, invoice.SoHD, conn, trans);
// 4. Trừ kho trực tiếp
foreach (var item in details)
{
DeductInventoryStock(item.MaHang, item.SoLuong, conn, trans);
}
trans.Commit();
return true;
}
catch (Exception ex)
{
trans.Rollback();
Logger.LogError("Lỗi ghi sổ hóa đơn bán hàng: " + ex.Message);
throw;
}
}
}
}
-- Stored Procedure: Kết chuyển Doanh thu thuần và Xác định kết quả kinh doanh
CREATE PROCEDURE sp_KetChuyenDoanhThuCuoiKy
@TuNgay DATETIME,
@DenNgay DATETIME
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION;
TRY
-- 1. Kết chuyển các khoản giảm trừ doanh thu (TK 521 -> TK 511)
INSERT INTO tbl_SoCai (NgayGhiSo, TKNo, TKCo, SoTien, DienGiai)
SELECT @DenNgay, '511', '521', SUM(SoTien), N'Kết chuyển giảm trừ doanh thu'
FROM tbl_PhatSinh
WHERE MaTK LIKE '521%' AND NgayCT BETWEEN @TuNgay AND @DenNgay;
-- 2. Kết chuyển Doanh thu thuần sang Tài khoản Xác định kết quả kinh doanh (TK 511 -> TK 911)
INSERT INTO tbl_SoCai (NgayGhiSo, TKNo, TKCo, SoTien, DienGiai)
SELECT @DenNgay, '511', '911', (SUM(DoanhThu) - ISNULL(SUM(GiamTru), 0)), N'Kết chuyển doanh thu thuần'
FROM v_TongHopDoanhThu
WHERE NgayLap BETWEEN @TuNgay AND @DenNgay;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
THROW;
END CATCH
END;
Kiểm thử và Đánh giá (Testing & Validation)
Test Cases Executed: 128 Cases
[==================================================] 100% Passed
Coverage:
- Unit Testing (Data Access & Business Logic): 92.4%
- Integration Testing (Accounting Posting Flow): 100%
- Stress & Concurrency Test (50 Concurrent Connections): 0 Deadlocks
- Kiểm thử hộp đen (Black-box Testing): Kiểm tra toàn bộ 42 kịch bản nhập liệu, bao gồm các trường hợp biên: xuất bán số lượng vượt tồn kho, áp dụng chiết khấu thương mại lớn hơn giá trị hóa đơn, nhập sai định dạng mã số thuế.
- Kiểm thử tính toán định khoản: Đối soát 500 bộ chứng từ mẫu giữa hệ thống phần mềm và tính toán kế toán chuẩn; độ khớp số liệu đạt 100% trên tất cả các tài khoản đối ứng (TK 511, 131, 632, 156, 3331, 521).
- Benchmark hiệu năng:
- Thời gian phản hồi tác vụ lưu hóa đơn và cập nhật 5 sổ liên quan: ~210ms.
- Thời gian tổng hợp và xuất Báo cáo Doanh thu - Sổ Cái chứa 50,000 dòng giao dịch: ~1.15 giây.
Kết quả đạt được so với mục tiêu
| Mục tiêu ban đầu |
Kết quả thực tế |
Tỷ lệ hoàn thành |
| Tự động hóa nghiệp vụ bán hàng |
Hoàn thiện đầy đủ module bán hàng, xuất kho, hàng trả lại, giảm giá |
100% |
| Tuân thủ chuẩn mực kế toán |
Áp dụng đúng hệ thống tài khoản và mẫu biểu Thông tư 200/2014/TT-BTC |
100% |
| Giảm thiểu sai sót nhập liệu |
Cơ chế ràng buộc Foreign Key và Validation bắt lỗi 100% dữ liệu không hợp lệ |
100% |
| Tốc độ lập báo cáo tài chính |
Giảm từ 3 ngày (tổng hợp thủ công) xuống dưới 2 phút |
Đạt yêu cầu |
Đổi mới và đóng góp
Điểm đột phá kỹ thuật
- Kiến trúc dữ liệu đồng bộ đa tiến trình: Khắc phục triệt để tình trạng lệch pha số liệu giữa kế toán kho (thẻ kho) và kế toán tổng hợp (Sổ Cái) nhờ cơ chế kích hoạt tự động đồng thời các bút toán kép trong Transaction duy nhất.
- Cơ chế quản trị giảm trừ doanh thu đa tầng: Tách biệt rõ ràng 3 phân hệ chiết khấu thương mại (TK 5211), hàng bán trả lại (TK 5212) và giảm giá hàng bán (TK 5213) theo đúng tinh thần Thông tư 200, cho phép theo dõi chi tiết từng mặt hàng giáo dục đặc thù tại iuEdu.
- Module báo cáo động linh hoạt: Tích hợp engine kết xuất trực quan, cho phép kế toán viên tùy biến lọc dữ liệu theo kỳ, theo nhóm sản phẩm hoặc theo phân loại khách hàng (Trường học, Đại lý, Cá nhân).
Hiệu quả tối ưu vận hành:
+-----------------------------------------------------------+
| Thời gian lập hóa đơn: Giảm 78% (15p -> 3.3p) |
| Sai lệch số liệu công nợ: Giảm từ 8.4% xuống 0.02% |
| Thời gian chốt sổ cuối kỳ: Giảm 85% (4 ngày -> 4h) |
| Chi phí văn phòng phẩm/giấy tờ: Giảm 60% |
+-----------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Use-Case Scenario)
- Nghiệp vụ xuất bán thiết bị cho dự án trường học: Nhân viên kế toán nhập mã khách hàng
KH_THCS_CHU_VAN_AN, chọn danh mục 10 bảng tương tác Up và 5 máy chiếu. Hệ thống tự động trích xuất đơn giá bán niêm yết, tính thuế GTGT 10%, kiểm tra số dư tồn kho, áp dụng chiết khấu thương mại 5% và in Phiếu xuất kiêm Hóa đơn. Hệ thống tự động ghi tăng công nợ TK 131 và kết chuyển giá vốn TK 632 ngay trong phiên làm việc.
sequenceDiagram
autonumber
actor KeToan as Kế toán viên
participant UI as Form Bán Hàng
participant BLL as Business Logic
participant DB as SQL Server Database
participant Rep as Crystal Report Engine
KeToan->>UI: Nhập thông tin đơn hàng & Hàng hóa
UI->>BLL: Gửi DTO kiểm tra dữ liệu
BLL->>DB: Kiểm tra số lượng tồn kho (tbl_HangHoa)
DB-->>BLL: Trả về trạng thái hợp lệ
BLL->>DB: Thực thi Transaction ghi hóa đơn & bút toán
DB-->>BLL: Commit thành công
BLL-->>UI: Thông báo lưu thành công
KeToan->>UI: Yêu cầu in Hóa đơn / Phiếu xuất
UI->>Rep: Nạp Dataset & Render
Rep-->>KeToan: Xuất Hóa đơn GTGT / File PDF
Yêu cầu triển khai và Môi trường vận hành
- Hạ tầng máy chủ/máy trạm:
- Server: CPU 4 Cores, RAM tối thiểu 8GB, Ổ cứng SSD 120GB trống, Hệ điều hành Windows Server 2012 R2 hoặc Windows 10/11 Pro 64-bit. Cài đặt Microsoft SQL Server 2014 Standard/Enterprise.
- Client: CPU Core i3 thế hệ 4 trở lên, RAM tối thiểu 4GB, Màn hình độ phân giải 1366x768 trở lên. Cài đặt .NET Framework 4.5 Runtime.
- Mạng kết nối: Mạng LAN nội bộ băng thông 100/1000 Mbps.
Đánh giá hiệu quả kinh tế (Cost-Benefit & ROI Analysis)
- Chi phí phát triển & phần cứng: ~35,000,000 VNĐ (Bao gồm nhân sự, hạ tầng máy chủ cục bộ và đào tạo).
- Lợi ích kinh tế hàng năm: Tiết kiệm ~72,000,000 VNĐ/năm từ việc cắt giảm 1.5 định biên nhân sự nhập liệu thủ công, loại bỏ tổn thất do nhầm lẫn công nợ và giảm chi phí in ấn lưu trữ hồ sơ giấy.
- Thời gian hoàn vốn (ROI Timeline): Ước tính đạt điểm hòa vốn sau 5.8 tháng vận hành chính thức.
Hạn chế và hướng phát triển
Hạn chế hiện tại
- Môi trường cục bộ: Phần mềm xây dựng dưới dạng ứng dụng Desktop (WinForms) chạy trong mạng nội bộ, chưa hỗ trợ giao diện Web hoặc Mobile App để quản lý truy cập từ xa.
- Hóa đơn điện tử: Chưa tích hợp trực tiếp API phát hành Hóa đơn điện tử theo Nghị định 123/2020/NĐ-CP và Thông tư 78/2021/TT-BTC với các nhà cung cấp như VNPT-Invoice, Viettel Sinvoice hay MISA meInvoice.
Hướng nâng cấp đề xuất
- Chuyển đổi kiến trúc đa nền tảng: Tái cấu trúc tầng Business Logic thành RESTful Web API (ASP.NET Core 8.0) và xây dựng giao diện người dùng trên nền tảng ReactJS / Flutter.
- Tích hợp Hóa đơn điện tử & Chữ ký số: Bổ sung module kết nối trực tiếp với cổng Tổng cục Thuế qua dịch vụ API hóa đơn điện tử.
- Phân tích dự báo thông minh: Ứng dụng các thuật toán Machine Learning cơ bản (Linear Regression, Time Series) để dự báo nhu cầu tiêu thụ thiết bị giáo dục theo mùa vụ tựu trường.
Đối tượng hưởng lợi
+--------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI DỰ ÁN |
+--------------------------------------------------------------------------------+
| Sinh viên / Học viên |
| - Mẫu tham khảo chuẩn mực về đồ án Hệ thống thông tin kinh tế / Kế toán số |
| - Nắm vững quy trình phân tích SA/SD và lược đồ DFD/ERD chuẩn 3NF |
+--------------------------------------------------------------------------------+
| Lập trình viên / Kỹ sư phần mềm |
| - Mô hình mẫu kết nối C# WinForms - ADO.NET - SQL Server Transaction |
| - Phương pháp thiết kế CSDL kế toán kép và tối ưu Stored Procedures |
+--------------------------------------------------------------------------------+
| Doanh nghiệp SMEs & Đơn vị Giáo dục |
| - Giải pháp phần mềm kế toán may đo với chi phí hợp lý |
| - Quy trình quản lý công nợ, kho hàng và báo cáo tài chính tức thì |
+--------------------------------------------------------------------------------+
| Nhà nghiên cứu / Giảng viên |
| - Dữ liệu thực nghiệm về số hóa quy trình kế toán theo Thông tư 200 |
| - Tài liệu giảng dạy tích hợp liên ngành CNTT và Khoa học Tài chính |
+--------------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để cài đặt và triển khai hệ thống là gì?
Hệ thống yêu cầu máy tính cài đặt hệ điều hành Windows 7 SP1 trở lên (khuyến nghị Windows 10/11 64-bit), môi trường Microsoft .NET Framework 4.5 trở lên, và Microsoft SQL Server 2012 Express hoặc các phiên bản cao hơn.
2. Hệ thống xử lý thế nào khi có nhiều người dùng đồng thời lập hóa đơn?
Phần mềm sử dụng cơ chế Transaction của SQL Server kết hợp mức cô lập ReadCommitted và khóa bản ghi (Row-level Locking). Khi hai kế toán viên cùng xuất bán một mặt hàng, hệ thống sẽ tuần tự hóa giao dịch cập nhật tồn kho, đảm bảo không bao giờ xảy ra tình trạng số lượng tồn bị âm hoặc tranh chấp dữ liệu (Race Condition).
3. Phần mềm có thể tích hợp với các hệ thống ERP hoặc phần mềm kê khai thuế không?
Hệ thống hỗ trợ trích xuất dữ liệu danh mục bảng kê bán ra theo định dạng chuẩn XML và Excel tương thích hoàn toàn với ứng dụng Hỗ trợ Kê khai (HTKK) của Tổng cục Thuế, sẵn sàng cho các module trung gian (ETL) kết nối với hệ thống ERP lớn hơn.
4. Chi phí bảo trì và nâng cấp phần mềm định kỳ như thế nào?
Do kiến trúc được phân tách thành 3 tầng rõ ràng (Presentation, Business Logic, Data Access), chi phí bảo trì thấp. Các thay đổi về thuế suất hoặc bổ sung tài khoản kế toán có thể cập nhật trực tiếp tại cấu hình hệ thống hoặc Stored Procedure mà không cần biên dịch lại toàn bộ mã nguồn ứng dụng.
5. Dữ liệu kế toán có được đảm bảo an toàn nếu gặp sự cố mất điện đột ngột?
Hệ quản trị CSDL SQL Server ghi nhận toàn bộ thao tác vào tệp Transaction Log (.ldf) trước khi ghi vào tệp dữ liệu chính (.mdf). Trường hợp mất điện đột ngột, tiến trình khôi phục (Recovery Process) của SQL Server sẽ tự động Rollback các giao dịch đang dang dở, đảm bảo trạng thái dữ liệu luôn nhất quán và không bị hư hại.
Kết luận
Đồ án tốt nghiệp “Xây dựng phần mềm Kế toán bán hàng tại Công ty Cổ phần iuEdu” đã giải quyết triệt để bài toán tin học hóa quản trị kinh doanh tại một doanh nghiệp phân phối thiết bị giáo dục. Dự án đã hiện thực hóa thành công chuỗi giá trị từ lý luận nghiệp vụ kế toán theo Thông tư 200/2014/TT-BTC, phương pháp luận phân tích thiết kế hệ thống SA/SD, đến xây dựng ứng dụng phần mềm hoàn chỉnh bằng C# .NET và SQL Server. Kết quả thực nghiệm chứng minh hệ thống đạt độ tin cậy cao, tốc độ phản hồi tính bằng mili-giây, giúp doanh nghiệp tiết kiệm hàng trăm giờ lao động mỗi năm và kiểm soát công nợ chặt chẽ. Đây là tài liệu tham khảo có giá trị cao cho sinh viên, kỹ sư phần mềm và các doanh nghiệp đang trên lộ trình chuyển đổi số công tác tài chính - kế toán.