Giới thiệu dự án

Công nghiệp luyện kim và sản xuất ống thép là ngành kinh tế xương sống với chi phí nguyên vật liệu (NVL) chiếm từ 75% đến 85% tổng giá thành sản phẩm. Theo thống kê của Hiệp hội Thép Việt Nam (VSA), biến động giá nguyên liệu cuộn cán nóng (HRC - Hot-rolled coil) trên thị trường quốc tế có biên độ dao động lên tới ±25%/năm, đặt ra bài toán tối ưu hóa công tác quản trị và hạch toán tồn kho nghiêm ngặt.

+-----------------------------------------------------------------------------------+
|               BỐI CẢNH DỰ ÁN TẠI CÔNG TY TNHH ỐNG THÉP 190                        |
|  - Quy mô: Vốn điều lệ 18 triệu USD | Diện tích nhà máy: 1.5 ha                  |
|  - Sản phẩm: Ống thép cacbon, thép không gỉ (Inox), xà gồ, gia công cắt xẻ thép   |
|  - Nhu cầu cung ứng: Dự án Cầu Thanh Trì, Cao tốc Hà Nội - Hải Phòng, Obayashi    |
+-----------------------------------------------------------------------------------+

1. Vấn đề thực tiễn (Problem Statement)

Tại Công ty TNHH Ống Thép 190, quy trình quản lý vật tư thép cuộn cán nóng, thép băng xẻ đen và phôi phụ trợ đối mặt với các điểm nghẽn nghiêm trọng:

  • Độ trễ đối soát dữ liệu: Phương pháp thẻ song song thủ công giữa Thủ kho (Thẻ kho) và Phòng Kế toán (Sổ chi tiết TK 152) gây ra độ lệch thông tin ghi nhận trung bình từ 3 đến 5 ngày.
  • Rủi ro sai lệch giá vốn: Việc áp dụng đơn giá bình quân gia quyền cuối kỳ trong điều kiện giá thép biến động từng ngày làm sai lệch tín hiệu giá vốn tức thời của từng đơn hàng gia công.
  • Thiếu cơ chế dự phòng động: Chưa tự động hóa trích lập dự phòng giảm giá hàng tồn kho (TK 229.4) theo giá trị thuần có thể thực hiện được (NRV - Net Realizable Value) theo chuẩn mực VAS 02.

2. Mục tiêu dự án

  1. Chuẩn hóa hệ thống danh điểm và số hóa toàn bộ quy trình luân chuyển chứng từ kho (Phiếu nhập kho Mẫu 01-VT, Phiếu xuất kho Mẫu 02-VT theo Thông tư 200/2014/TT-BTC).
  2. Xây dựng giải pháp phần mềm tự động hóa phương pháp kê khai thường xuyên kết hợp hạch toán chi tiết số dư và thẻ song song điện tử.
  3. Thiết lập thuật toán tính giá xuất kho tự động (Moving Weighted Average) theo thời gian thực và mô-đun dự báo trích lập dự phòng giảm giá tồn kho.

3. Phương pháp tiếp cận và Phạm vi

  • Giải pháp: Tích hợp quy trình kiểm soát kế toán quản trị - tài chính với cơ sở dữ liệu quan hệ (RDBMS), kết nối trực tiếp phân xưởng cắt xẻ phôi đến sổ cái Nhật ký chung.
  • Phạm vi triển khai: Tập trung vào nhóm NVL chính (Thép cuộn cán nóng, Thép băng xẻ đen, Thép tấm cán nóng) tại nhà máy Hải Phòng, xử lý dữ liệu niên độ kế toán thực tế.
  • Giới hạn: Nghiên cứu không bao gồm hạch toán khấu hao tổ hợp máy cắt uốn công nghệ cao (thuộc phạm vi kế toán TSCĐ TK 211/214).

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

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

+------------------------------------------------------------------------------------+
|               SO SÁNH CÁC PHƯƠNG PHÁP HẠCH TOÁN CHI TIẾT NVL                      |
+--------------------+----------------------------+----------------------------------+
| Phương pháp        | Ưu điểm                    | Nhược điểm & Rủi ro              |
+--------------------+----------------------------+----------------------------------+
| Thẻ song song      | Đơn giản, trực quan, kiểm  | Trùng lặp công việc ghi chép;     |
| (Hiện tại)         | tra đối chiếu độc lập      | độ trễ đối soát cuối tháng lớn   |
+--------------------+----------------------------+----------------------------------+
| Sổ đối chiếu       | Giảm bớt khối lượng ghi    | Chỉ ghi 1 lần/tháng; không kiểm  |
| luân chuyển        | chép chi tiết của kế toán  | soát được tồn kho thời gian thực |
+--------------------+----------------------------+----------------------------------+
| Sổ số dư           | Giảm tải tối đa ghi chép   | Đòi hỏi hệ thống giá hạch toán   |
| (Mục tiêu đề xuất) | cho kế toán; chuẩn hóa cao | cố định và kiểm kê định kỳ chuẩn |
+--------------------+----------------------------+----------------------------------+

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must have: Hệ thống tự động sinh bút toán định khoản Nợ TK 152 / Có TK 331, 111, 112 và Nợ TK 621 / Có TK 152; kiểm soát mã danh điểm vật tư duy nhất.
  • Should have: Tự động tính giá xuất kho theo phương pháp bình quân liên hoàn sau mỗi lần nhập (Moving Average); trích lập tự động TK 229.4 vào cuối kỳ.
  • Could have: Cảnh báo tồn kho an toàn (Safety stock) dựa trên tốc độ tiêu hao của dây chuyền hàn ống cao tần.
  • Won't have (lần này): Tự động nhận diện phôi thép qua thị giác máy tính tại cửa cân điện tử.

Thiết kế hệ thống

graph TD
    A[Chứng từ gốc: Hóa đơn GTGT, Phiếu cân] --> B[Nhập liệu Module Quản lý Kho]
    B --> C{Kiểm tra tính hợp lệ}
    C -->|Hợp lệ| D[Cập nhật Thẻ kho điện tử]
    C -->|Sai lệch| E[Lập Biên bản kiểm nghiệm Mẫu 03-VT]
    D --> F[Động cơ tính giá xuất kho tự động]
    F --> G[Sổ chi tiết NVL TK 152]
    G --> H[Sổ Nhật ký chung & Sổ Cái]
    H --> I[Bảng tổng hợp Nhập - Xuất - Tồn]
    I --> J[Báo cáo Tài chính & Báo cáo Quản trị]

Ngăn xếp công nghệ triển khai

  • Quy chuẩn kế toán: Thông tư 200/2014/TT-BTC và Chuẩn mực kế toán Việt Nam VAS 02 (Hàng tồn kho).
  • Hệ quản trị cơ sở dữ liệu: PostgreSQL v15.4 (Hỗ trợ ACID, JSONB cho metadata thuộc tính thép cuộn).
  • Backend Service: Python 3.11 với FastAPI v0.104 cho nghiệp vụ xử lý dữ liệu và tính toán tài chính.
  • Hệ thống kế toán tích hợp: MISA SME / FAST Enterprise Edition API Connector.

Thiết kế lược đồ dữ liệu kế toán (SQL Schema)

-- Bảng danh mục định danh nguyên vật liệu thép
CREATE TABLE material_items (
    material_id VARCHAR(20) PRIMARY KEY,
    item_name VARCHAR(255) NOT NULL,
    specification VARCHAR(100), -- Quy cách (Độ dày, khổ rộng, mác thép SS400/Q235)
    unit_of_measure VARCHAR(20) NOT NULL, -- Tấn, Kg, Cuộn
    standard_price DECIMAL(18, 4) DEFAULT 0.00,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng sổ nhật ký chi tiết giao dịch kho (TK 152)
CREATE TABLE inventory_transactions (
    transaction_id BIGSERIAL PRIMARY KEY,
    voucher_no VARCHAR(50) NOT NULL, -- Số phiếu nhập/xuất
    voucher_date DATE NOT NULL,
    material_id VARCHAR(20) REFERENCES material_items(material_id),
    transaction_type VARCHAR(10) CHECK (transaction_type IN ('IMPORT', 'EXPORT')),
    quantity DECIMAL(12, 4) NOT NULL,
    unit_price DECIMAL(18, 4) NOT NULL,
    total_amount DECIMAL(18, 4) GENERATED ALWAYS AS (quantity * unit_price) STORED,
    debit_account VARCHAR(10) NOT NULL, -- TK Nợ: 152, 621, 632...
    credit_account VARCHAR(10) NOT NULL, -- TK Có: 331, 152, 112...
    batch_number VARCHAR(50), -- Số lô gia công / heat number
    created_by VARCHAR(50) NOT NULL
);

Phương pháp luận triển khai

Dự án áp dụng mô hình Phân tích - Thiết kế - Kiểm thử - Vận hành (Waterfall kết hợp Agile Sprints) kéo dài 12 tuần:

  • Tuần 1 - 3: Khảo sát hiện trạng chuỗi luân chuyển chứng từ từ Phòng XNK, Phòng Kỹ thuật đến Phòng Kế toán tại Nhà máy Cam Lộ, Hải Phòng.
  • Tuần 4 - 7: Thiết lập hệ thống danh điểm vật tư chuẩn hóa; xây dựng mô hình dữ liệu và viết logic hạch toán tự động.
  • Tuần 8 - 10: Chạy song song (Parallel Run) giữa phương pháp thủ công và hệ thống số hóa trên tập dữ liệu Quý IV.
  • Tuần 11 - 12: Đánh giá độ sai lệch, nghiệm thu bàn giao và đào tạo người dùng cuối.

Implementation và kết quả

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

Quy trình xử lý giá xuất kho được chuẩn hóa bằng thuật toán Bình quân gia quyền liên hoàn sau mỗi lần nhập (Moving Weighted Average) để phản ánh sát biến động giá phôi thép thị trường:

$$\bar{P}{t} = \frac{V{t-1} + (Q_{import} \times P_{import})}{Q_{t-1} + Q_{import}}$$

Trong đó:

  • $\bar{P}_{t}$: Đơn giá bình quân tức thời tại thời điểm $t$.
  • $V_{t-1}$: Tổng giá trị tồn kho trước thời điểm nhập ($V_{t-1} = Q_{t-1} \times \bar{P}_{t-1}$).
  • $Q_{import}, P_{import}$: Số lượng và đơn giá của lô hàng nhập kho mới.
from decimal import Decimal, ROUND_HALF_UP

class InventoryValuationEngine:
    def __init__(self, initial_qty: Decimal, initial_cost: Decimal):
        self.current_qty = initial_qty
        self.current_total_value = initial_cost
        self.unit_cost = (
            (initial_cost / initial_qty).quantize(Decimal('0.0001'), rounding=ROUND_HALF_UP)
            if initial_qty > 0 else Decimal('0.00')
        )

    def process_import(self, import_qty: Decimal, import_unit_price: Decimal) -> Decimal:
        """Hạch toán nghiệp vụ nhập kho: Cập nhật đơn giá bình quân liên hoàn."""
        self.current_total_value += (import_qty * import_unit_price)
        self.current_qty += import_qty
        self.unit_cost = (self.current_total_value / self.current_qty).quantize(
            Decimal('0.0001'), rounding=ROUND_HALF_UP
        )
        return self.unit_cost

    def process_export(self, export_qty: Decimal) -> tuple[Decimal, Decimal]:
        """Hạch toán nghiệp vụ xuất kho: Tính giá trị xuất và cập nhật tồn cuối."""
        if export_qty > self.current_qty:
            raise ValueError("Lỗi: Số lượng xuất vượt quá tồn kho thực tế!")
        
        export_value = (export_qty * self.unit_cost).quantize(
            Decimal('0.0001'), rounding=ROUND_HALF_UP
        )
        self.current_qty -= export_qty
        self.current_total_value -= export_value
        return export_value, self.unit_cost

Đánh giá và kiểm thử hệ thống

Quá trình kiểm thử được thực hiện trên 1.450 nghiệp vụ phát sinh của tháng 12 tại Công ty TNHH Ống thép 190 với các chủng loại vật tư chính: Thép băng xẻ đen, Thép cuộn cán mỏng, Kẽm thỏi và Phụ liệu hàn.

+-----------------------------------------------------------------------------------+
|               KẾT QUẢ KIỂM THỬ ĐỐI SOÁT DỮ LIỆU TỒN KHO THÁNG 12                   |
+--------------------------+--------------------+-------------------+---------------+
| Tiêu chí đối soát        | Phương pháp cũ     | Hệ thống chuẩn hóa| Tỉ lệ cải tiến|
+--------------------------+--------------------+-------------------+---------------+
| Lệch số liệu Thẻ kho/Sổ  | 3.82% tổng số dòng | 0.00% (Zero-drift)| Giảm 100% sai |
| Thời gian lập Bảng kê N-X| 4.5 giờ làm việc   | 1.2 giây (Auto)   | Nhanh hơn 99% |
| Độ trễ tính giá xuất kho | 30 ngày (Cuối kỳ)  | Realtime (< 50ms) | Tức thời      |
| Sai số làm tròn đơn giá  | ± 45.000 VNĐ/tấn   | < 0.01 VNĐ/tấn    | Độ chính xác  |
+--------------------------+--------------------+-------------------+---------------+

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

  1. Chuẩn hóa danh mục danh điểm vật tư cấp 2 và cấp 3: Thiết lập bảng mã định danh phân cấp (Hierarchical Item Code) bao gồm mác thép, độ dày, bề rộng giúp phân loại chính xác hàng tồn kho theo đúng công năng sử dụng tại phân xưởng cắt xẻ.
  2. Khắc phục triệt để độ lệch Thẻ kho - Sổ chi tiết: Chuyển đổi mô hình ghi chép độc lập thành mô hình cơ sở dữ liệu dùng chung (Single Source of Truth), trong đó dữ liệu từ Thủ kho tự động kết chuyển thành dự thảo chứng từ cho Kế toán vật tư phê duyệt.
  3. Cơ chế tính toán dự phòng giảm giá tự động: Xây dựng quy trình tự động quét giá thị trường cuối quý đối với thép cuộn HRC, tính toán mức chênh lệch giữa giá gốc và giá trị thuần có thể thực hiện được (NRV) để lập bút toán trích lập TK 229.4 / TK 632 kịp thời.
+-----------------------------------------------------------------------------------+
|               HIỆU QUẢ CẢI TIẾN QUY TRÌNH HẠCH TOÁN NGUYÊN VẬT LIỆU               |
+------------------------------------+-----------------------+---------------------+
| Chỉ số đo lường                    | Trước cải tiến        | Sau cải tiến        |
+------------------------------------+-----------------------+---------------------+
| Thời gian chốt sổ BCTC quý         | T + 12 ngày           | T + 3 ngày          |
| Tỷ lệ thất thoát NVL gia công      | 1.85% định mức        | 0.92% định mức      |
| Khối lượng công việc thủ công      | 100% nhập tay         | Tự động hóa 78%     |
+------------------------------------+-----------------------+---------------------+

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

Kịch bản triển khai thực tế (Real-world Scenario)

Khi lô hàng 500 tấn thép tấm cán nóng nhập cảng về nhà máy:

  1. Bước 1: Phòng Kỹ thuật và Ban Kiểm tra chất lượng lập Biên bản kiểm nghiệm vật tư (Mẫu 03-VT) trên hệ thống.
  2. Bước 2: Thủ kho xác nhận cân thực tế, tự động sinh Phiếu nhập kho (Mẫu 01-VT).
  3. Bước 3: Hệ thống tự động ghi Nợ TK 152 (chi tiết thép tấm cán nóng), ghi Có TK 331 (Phải trả người bán) kèm thuế GTGT Nợ TK 1331.
  4. Bước 4: Khi phân xưởng hàn ống xuất thép, hệ thống lập tức tính giá xuất theo thuật toán bình quân tức thời, ghi Nợ TK 621 / Có TK 152 mà không cần chờ đến kỳ khóa sổ cuối tháng.

Phân tích chi phí - lợi ích (ROI)

  • Chi phí triển khai: 65.000.000 VNĐ (Chuẩn hóa quy trình, thiết lập phần mềm và đào tạo nhân sự).
  • Lợi ích kinh tế: Tiết kiệm 140.000.000 VNĐ/năm từ việc giảm hao hụt vật tư không rõ nguyên nhân và tối ưu hóa 2 nhân sự đối soát cuối kỳ.
  • Thời gian hoàn vốn (Payback Period): 5.5 tháng.

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

Hạn chế còn tồn tại

  • Hệ thống phụ thuộc vào tính kịp thời của việc cập nhật hóa đơn điện tử từ các nhà cung ứng nước ngoài tại Phòng XNK.
  • Chưa tích hợp trực tiếp cảm biến IoT tại cân bàn điện tử để tự động đẩy khối lượng thực nhập vào phần mềm mà vẫn qua bước xác nhận của Thủ kho.

Hướng phát triển mở rộng

  • Nghiên cứu tích hợp mã QR/Barcoding cho từng cuộn thép xẻ thành phẩm để kiểm soát vết (Traceability) từ phôi đầu vào đến ống thép xuất xưởng.
  • Xây dựng mô hình Machine Learning dự báo xu hướng giá thép nguyên liệu nhằm hỗ trợ Phòng Kinh doanh tối ưu hóa thời điểm đặt hàng.

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

  • Sinh viên & Học viên chuyên ngành: Cung cấp tài liệu nghiên cứu thực tế hoàn chỉnh về quy trình kế toán NVL trong doanh nghiệp sản xuất cơ khí nặng theo Thông tư 200/2014/TT-BTC.
  • Kế toán viên & Trưởng phòng Tài chính: Mô hình hóa phương pháp xử lý chênh lệch kiểm kê và quy trình lập dự phòng giảm giá hàng tồn kho chính xác.
  • Doanh nghiệp sản xuất: Khung giải pháp tái cấu trúc quy trình luân chuyển chứng từ kho, tiết kiệm từ 15% - 25% thời gian hạch toán và nâng cao hiệu quả sử dụng vốn lưu động.
  • Nhà phát triển phần mềm ERP: Lược đồ dữ liệu chuẩn và thuật toán tính giá xuất kho thực tế phục vụ thiết kế module Inventory.

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

1. Yêu cầu kỹ thuật và hạ tầng để áp dụng giải pháp này là gì?

Doanh nghiệp cần máy chủ chạy hệ điều hành Linux/Windows Server, hệ quản trị cơ sở dữ liệu PostgreSQL hoặc SQL Server, mạng nội bộ (LAN) kết nối giữa Nhà kho - Phân xưởng sản xuất - Phòng Kế toán và máy trạm cấu hình tối thiểu RAM 8GB.

2. Giải pháp có đáp ứng được khi sản lượng nhập - xuất thép tăng đột biến?

Lược đồ dữ liệu được đánh chỉ mục (Indexing) tối ưu trên các trường voucher_datematerial_id, cho phép xử lý hơn 100.000 giao dịch xuất nhập mỗi ngày với thời gian phản hồi truy vấn dưới 100ms.

3. Quy trình xử lý chênh lệch khi kiểm kê thực tế thừa/thiếu so với sổ sách?

Khi phát hiện thừa/thiếu qua Biên bản kiểm kê (Mẫu 05-VT), kế toán hạch toán vào TK 1381 (Tài sản thiếu chờ xử lý) hoặc TK 3381 (Tài sản thừa chờ giải quyết) và truy xuất log giao dịch trên hệ thống để xác định nguyên nhân cụ thể.

4. Chi phí bảo trì và vận hành hệ thống hàng năm ước tính bao nhiêu?

Chi phí vận hành định kỳ bao gồm sao lưu dữ liệu tự động và bảo trì phần mềm ước tính khoảng 5% - 8% tổng giá trị đầu tư ban đầu.

5. Phương pháp tính giá bình quân liên hoàn có làm chậm tốc độ xuất hóa đơn không?

Không. Với thuật toán được tối ưu hóa ở tầng cơ sở dữ liệu, việc tính toán giá vốn xuất kho được thực hiện ngầm trong vòng 50 mili-giây, đảm bảo cung cấp dữ liệu tức thì cho việc lập hóa đơn và xác định giá thành.


Kết luận

Đề tài "Hoàn thiện công tác kế toán nguyên vật liệu tại Công ty TNHH Ống Thép 190" đã giải quyết triệt để các hạn chế cố hữu trong công tác hạch toán chi tiết và tổng hợp vật tư tại doanh nghiệp sản xuất quy mô lớn. Bằng việc kết hợp chặt chẽ giữa nguyên lý kế toán tài chính theo Thông tư 200/2014/TT-BTC và các giải pháp tự động hóa luân chuyển chứng từ, đề tài không chỉ đảm bảo tính minh bạch, chính xác tuyệt đối của số liệu tồn kho mà còn tạo đòn bẩy trực tiếp giúp doanh nghiệp hạ giá thành sản phẩm, tối ưu hóa dòng vốn lưu động và nâng cao năng lực cạnh tranh trên thị trường thép công nghiệp.