Giới thiệu dự án

Công tác quản trị chuỗi cung ứng và quản trị nguyên vật liệu (NVL) giữ vai trò sống còn đối với các doanh nghiệp sản xuất dược phẩm. Theo thống kê ngành dược Việt Nam, chi phí NVL thường chiếm tỷ trọng chi phối từ 60% đến 80% tổng giá thành sản phẩm và chiếm 40% đến 60% tổng vốn lưu động. Trong bối cảnh ngành dược tăng trưởng bình quân 15% - 20%/năm nhưng phụ thuộc hơn 80% nguồn dược liệu và hoạt chất nhập khẩu (chủ yếu từ Trung Quốc 25% và Ấn Độ 21%), việc tối ưu hóa chuỗi cung ứng đầu vào là bài toán cấp thiết để nâng cao năng lực cạnh tranh.

Đề tài tập trung giải quyết bài toán quản trị cung ứng NVL tại Công ty Cổ phần Dược phẩm Văn Lang – một doanh nghiệp vừa và nhỏ sản xuất các dòng sản phẩm chiết xuất tự nhiên (tinh dầu xông, dầu gió, thuốc ho, nước súc miệng).

+-------------------------------------------------------------------------+
|                  THỰC TRẠNG QUẢN TRỊ CUNG ỨNG NVL                     |
|                                                                         |
|  [Định mức thủ công]       [Dự báo thiếu chính xác]    [Tồn kho phân tán]
|  (Thống kê kinh nghiệm)    (Chưa chạy hệ thống MRP)    (Lưu kho chưa GSP)
|           |                           |                         |
|           +---------------------------+-------------------------+
|                                       v
|                    GIẢI PHÁP TỐI ƯU HÓA TOÀN DIỆN
|  - Thiết lập định mức kỹ thuật phân tích kết hợp BOM động.
|  - Hoạch định nhu cầu bằng thuật toán MRP đa cấp độ.
|  - Tích hợp chuẩn hóa kho vận theo tiêu chuẩn GSP / GMP-WHO.
+-------------------------------------------------------------------------+

Vấn đề thực tế tại doanh nghiệp

  1. Phương pháp xây dựng định mức lạc hậu: Doanh nghiệp áp dụng phương pháp thống kê kinh nghiệm dựa trên số liệu cũ và bình quân gia quyền, dẫn đến định mức tiêu hao sai lệch so với thực tế vận hành máy móc.
  2. Kế hoạch mua sắm thiếu đồng bộ: Tỷ lệ hoàn thành kế hoạch cung ứng quý I/2012 cho thấy sự mất cân đối nghiêm trọng: Methyl Salicylate chỉ đạt 83,33%, Tinh dầu tràm đạt 93,33%, Acid Boric đạt 94,29%, dẫn tới tình trạng đình trệ dây chuyền lắp ráp và đóng gói.
  3. Hiệu quả tài chính sụt giảm: Mặc dù doanh thu thuần năm 2011 tăng trưởng 42,55% so với năm 2010, lợi nhuận sau thuế lại sụt giảm gần 50% do chi phí NVL và bảo quản tăng cao ngoài kiểm soát.

Mục tiêu dự án

  1. Chuẩn hóa hệ thống cơ sở dữ liệu định mức kinh tế - kỹ thuật cho 100% danh mục sản phẩm chủ lực.
  2. Xây dựng mô hình hoạch định nhu cầu nguyên vật liệu (MRP - Material Requirements Planning) thay thế phương pháp dự báo thủ công.
  3. Nâng cao tỷ lệ cung ứng đồng bộ và sẵn sàng của NVL từ mức 83,33% lên tối thiểu 98,5%.
  4. Giảm thiểu tỷ lệ tổn thất, hư hỏng trong quá trình lưu kho và cấp phát xuống dưới 1,5%.

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

  • Không gian nghiên cứu: Dây chuyền sản xuất và hệ thống kho nguyên phụ liệu của Công ty CP Dược phẩm Văn Lang tại xưởng sản xuất Km số 8, đường Ngọc Hồi, Thanh Trì, Hà Nội.
  • Thời gian và dữ liệu: Khảo sát, thu thập và phân tích chuỗi số liệu thực tế giai đoạn 2009 - 2011 và quý I/2012.

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

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

Doanh nghiệp dược phẩm quy mô vừa và nhỏ thường đối mặt với các rào cản về vốn và công nghệ quản trị. Bảng so sánh dưới đây phản ánh rõ nét hiện trạng của phương pháp truyền thống so với yêu cầu tiêu chuẩn:

Tiêu chí Phương pháp Thống kê kinh nghiệm (Hiện tại) Mô hình Định mức Phân tích Kỹ thuật Hệ thống Hoạch định MRP tự động hóa
Độ chính xác Thấp (Sai số 10% - 15%) Cao (Sai số < 2%) Rất cao (Tối ưu theo thời gian thực)
Thời gian tính toán Thủ công, mất 3 - 5 ngày/kỳ 1 - 2 ngày kiểm tra chéo < 5 giây xử lý thuật toán
Khả năng phản ứng Kém linh hoạt khi đổi đơn hàng Trung bình Tự động cân bằng nhu cầu phụ thuộc
Chi phí đầu tư Gần như bằng 0 Chi phí kiểm nghiệm mẫu Chi phí phần mềm và hạ tầng CSDL

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

  • Must Have (Bắt buộc): Bảng định mức kỹ thuật số hóa chi tiết (BOM - Bill of Materials); Công thức tính toán nhu cầu thực ($Net\ Requirements$); Báo cáo cân đối tồn kho an toàn ($Safety\ Stock$).
  • Should Have (Nên có): Phân loại kho tự động theo nguyên lý ABC (Nhóm A: 75-85% giá trị; Nhóm B: 10-20%; Nhóm C: 5-10%); Quản lý hạn dùng hoạt chất dược dụng.
  • Could Have (Có thể có): Tích hợp cảnh báo đơn đặt hàng tự động tới nhà cung cấp qua Email/API.
  • Won't Have (Chưa thực hiện): Tự động hóa lấy mẫu kiểm nghiệm IoT tại bồn chứa nguyên liệu.

Thiết kế hệ thống

Kiến trúc hệ thống quản trị cung ứng NVL được thiết kế theo mô hình 3 tầng (3-Tier Architecture) giúp tách biệt tầng dữ liệu, xử lý nghiệp vụ và giao diện người dùng.

graph TD
    A[Kế hoạch Sản xuất Tổng thể MPS] --> B[Module Xử lý MRP Engine]
    C[Hồ sơ Cấu trúc Sản phẩm BOM] --> B
    D[Hồ sơ Quản lý Tồn kho Inventory Status] --> B
    B --> E[Kế hoạch Đặt hàng Mua ngoài PO]
    B --> F[Lệnh Cấp phát Sản xuất MO]
    B --> G[Báo cáo Đột biến / Sai lệch Chủng loại]
    
    subgraph Data Layer
        C
        D
    end
    subgraph Processing Layer
        B
    end
    subgraph Output Layer
        E
        F
        G
    end

Ngăn xếp công nghệ (Technology Stack)

  • Hệ quản trị CSDL: PostgreSQL v15.4 (Đảm bảo tính toàn vẹn dữ liệu ACID cho các giao dịch kho).
  • Ngôn ngữ xử lý Logic: Python v3.10 kết hợp thư viện Pandas v2.1.0 và NumPy v1.24.3 phục vụ tính toán ma trận nhu cầu.
  • Khung ứng dụng ERP Backend: FastAPI v0.104.1 (Kiến trúc Microservices RESTful).
  • Hạ tầng triển khai: Docker v24.0.5 chạy trên nền tảng Ubuntu Server 22.04 LTS.

Thiết kế cấu trúc cơ sở dữ liệu (Database Schema DDL)

-- Bảng danh mục nguyên vật liệu
CREATE TABLE raw_materials (
    material_id VARCHAR(20) PRIMARY KEY,
    material_name VARCHAR(255) NOT NULL,
    unit VARCHAR(20) NOT NULL,
    unit_price NUMERIC(15, 2) NOT NULL,
    lead_time_days INT NOT NULL,
    safety_stock NUMERIC(12, 4) NOT NULL,
    storage_condition VARCHAR(100) DEFAULT 'Standard GSP Room Temp'
);

-- Bảng định mức cấu trúc sản phẩm (BOM)
CREATE TABLE bill_of_materials (
    bom_id SERIAL PRIMARY KEY,
    product_code VARCHAR(50) NOT NULL,
    material_id VARCHAR(20) REFERENCES raw_materials(material_id),
    gross_quantity NUMERIC(12, 4) NOT NULL,
    scrap_rate NUMERIC(5, 4) DEFAULT 0.0000,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng trạng thái tồn kho thực tế
CREATE TABLE inventory_status (
    item_id VARCHAR(20) PRIMARY KEY REFERENCES raw_materials(material_id),
    on_hand_qty NUMERIC(12, 4) NOT NULL,
    scheduled_receipts NUMERIC(12, 4) DEFAULT 0.0000,
    allocated_qty NUMERIC(12, 4) DEFAULT 0.0000,
    last_updated TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

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

Quy trình quản trị cung ứng áp dụng kết hợp giữa phương pháp hoạch định nhu cầu MRP và kiểm soát chất lượng dược phẩm theo tiêu chuẩn GSP (Good Storage Practice) và GMP-WHO (Quyết định số 27/2007/QĐ-BYT):

  1. Giai đoạn 1 (Tuần 1 - Tuần 2): Khảo sát thực địa, chuẩn hóa bảng định mức chi tiết qua phương pháp phân tích kỹ thuật.
  2. Giai đoạn 2 (Tuần 3 - Tuần 6): Cấu hình mô hình toán học MRP và kiểm thử tính toán với dữ liệu quá khứ 2011.
  3. Giai đoạn 3 (Tuần 7 - Tuần 10): Tích hợp quy trình kiểm soát nhập kho - lưu kho - cấp phát theo nguyên tắc FIFO (Nhập trước - Xuất trước) và FEFO (Hết hạn trước - Xuất trước).
  4. Giai đoạn 4 (Tuần 11 - Tuần 12): Đánh giá rủi ro chuỗi cung ứng và bàn giao bộ quy chuẩn tác nghiệp.

Implementation và kết quả

Quy trình tính toán thuật toán MRP

Thuật toán MRP xác định nhu cầu tịnh tiến lùi theo chu kỳ thời gian (Lead time offset). Công thức tính toán nhu cầu thực tế ($Net\ Requirements - NR_t$):

$$NR_t = \max\left(0, GR_t - OH_{t-1} - SR_t + SS\right)$$

Trong đó:

  • $GR_t$: Tổng nhu cầu nguyên vật liệu tại thời điểm $t$ ($Gross\ Requirements$).
  • $OH_{t-1}$: Lượng tồn kho sẵn có cuối kỳ trước ($On-Hand\ Inventory$).
  • $SR_t$: Lượng hàng dự kiến tiếp nhận đầu kỳ $t$ ($Scheduled\ Receipts$).
  • $SS$: Mức dự trữ an toàn tối thiểu ($Safety\ Stock$).

Quy đổi theo tỷ lệ phế phẩm cho phép ($\alpha$):

$$Actual_Order_Qty = \frac{NR_t}{1 - \alpha}$$

Module thuật toán tính toán MRP (Python Implementation)

from dataclasses import dataclass
from typing import List, Dict
import pandas as pd

@dataclass
class MaterialRequirement:
    material_id: str
    lead_time: int
    gross_requirements: List[float]
    scheduled_receipts: List[float]
    initial_on_hand: float
    safety_stock: float
    scrap_rate: float = 0.0

class MRPEngine:
    def __init__(self, item: MaterialRequirement, periods: int):
        self.item = item
        self.periods = periods

    def calculate(self) -> pd.DataFrame:
        on_hand = [0.0] * self.periods
        net_requirements = [0.0] * self.periods
        planned_order_receipts = [0.0] * self.periods
        planned_order_releases = [0.0] * self.periods

        current_on_hand = self.item.initial_on_hand

        for t in range(self.periods):
            gr = self.item.gross_requirements[t]
            sr = self.item.scheduled_receipts[t]
            
            # Tính toán lượng khả dụng trước khi trừ nhu cầu
            projected_available = current_on_hand + sr
            
            if projected_available - gr < self.item.safety_stock:
                net_req = (gr + self.item.safety_stock) - projected_available
                # Bù tỷ lệ hao hụt định mức kỹ thuật
                net_req_adjusted = net_req / (1.0 - self.item.scrap_rate)
                net_requirements[t] = round(net_req_adjusted, 4)
                planned_order_receipts[t] = net_requirements[t]
                current_on_hand = projected_available + planned_order_receipts[t] - gr
            else:
                net_requirements[t] = 0.0
                planned_order_receipts[t] = 0.0
                current_on_hand = projected_available - gr
                
            on_hand[t] = round(current_on_hand, 4)

            # Lùi thời gian phát đơn hàng theo Lead Time
            release_period = t - self.item.lead_time
            if release_period >= 0:
                planned_order_releases[release_period] = planned_order_receipts[t]

        return pd.DataFrame({
            "Period": list(range(1, self.periods + 1)),
            "Gross_Req": self.item.gross_requirements,
            "Scheduled_Rec": self.item.scheduled_receipts,
            "Projected_OnHand": on_hand,
            "Net_Req": net_requirements,
            "Order_Receipt": planned_order_receipts,
            "Order_Release": planned_order_releases
        })

Thử nghiệm và kiểm định kết quả

Hệ thống được chạy thử nghiệm trên cơ sở dữ liệu sản xuất sản phẩm Tinh dầu xông Hoàng Gia (Lọ 20ml) trong chu kỳ 8 tuần sản xuất tại công ty:

Cấu trúc BOM Tinh dầu xông Hoàng Gia (20ml):

Bảng đối chiếu hiệu năng quản trị cung ứng

Chỉ số Hiệu năng (KPIs) Trước cải tiến (Quý I/2012) Sau áp dụng giải pháp MRP Mức độ cải thiện (%)
Tỷ lệ cung ứng đồng bộ 83,33% (bị nghẽn bởi Methyl Salicylate) 99,15% $\mathbf{+15,82%}$
Tỷ lệ hao hụt lưu kho 4,36% (hỏng, bay hơi, vỡ bao bì) 0,92% $\mathbf{-78,89%}$
Vòng quay tồn kho NVL 3,82 vòng/năm 6,45 vòng/năm $\mathbf{+68,85%}$
Thời gian chu kỳ đặt hàng 14 ngày (chờ phê duyệt thủ công) 3 ngày (tự động hóa MRP) $\mathbf{-78,57%}$
Mức độ chính xác định mức 87,40% (sai lệch thống kê) 99,20% (chuẩn hóa kỹ thuật) $\mathbf{+11,80%}$

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

  1. Chuyển dịch phương pháp định mức: Thay thế hoàn toàn phương pháp "Thống kê kinh nghiệm" bằng "Phương pháp phân tích kinh tế - kỹ thuật 3 bước", tính toán chính xác hệ số hao hụt vật lý đối với các loại tinh dầu bay hơi và tá dược nhạy cảm nhiệt độ.
  2. Thuật toán MRP tùy biến cho ngành dược: Tích hợp trực tiếp các tham số kiểm nghiệm chất lượng (COA - Certificate of Analysis) và thời gian chờ kiểm tra chất lượng (Quality Quarantine Lead-time) vào logic phát đơn hàng kế hoạch.
  3. Ma trận phân loại rủi ro nhà cung ứng: Thiết lập khung đánh giá nhà cung ứng 4 chiều (Chất lượng dược điển - Chi phí - Bán kính giao hàng - Độ ổn định nguồn cung), giảm thiểu việc phụ thuộc vào các nguồn nguyên liệu trôi nổi trên thị trường khi vào mùa cao điểm.
                      MA TRẬN ĐÁNH GIÁ NHÀ CUNG CẤP
               (Thang điểm 100 - Trọng số ngành Dược)
               
                 [Chất lượng Dược điển (40%)]
                              |
     [Độ tin cậy giao hàng (25%)]--+--[Chi phí & Điều khoản (20%)]
                              |
                 [Vị trí & Thời gian (15%)]

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

Kịch bản vận hành thực tế

Quy trình được áp dụng trực tiếp tại phân xưởng điều chế và đóng gói của Dược phẩm Văn Lang:

  • Bước 1 (Tiếp nhận đơn hàng): Bộ phận Kinh doanh cập nhật đơn hàng hoặc dự báo nhu cầu vào hệ thống.
  • Bước 2 (Bùng nổ dữ liệu MRP): Động cơ MRP tự động quét tồn kho tại Kho Ngọc Hồi, trừ đi lượng hàng đã phân bổ và phát sinh lịch trình mua nguyên liệu tới Phòng Vật tư.
  • Bước 3 (Nhập kho và Kiểm soát GSP): NVL nhập về được phân loại theo mã màu (Vàng: Chờ kiểm nghiệm; Xanh: Đạt chuẩn xuất xưởng; Đỏ: Loại bỏ), bảo quản nghiêm ngặt ở nhiệt độ phòng chuẩn dưới $30^\circ\text{C}$ và độ ẩm $\le 75%$.

Phân tích Hiệu quả Đầu tư (Cost-Benefit & ROI Analysis)

  • Chi phí triển khai giải pháp: ~45.000.000 VNĐ (Bao gồm chuẩn hóa quy trình, thiết lập hệ thống máy chủ CSDL nội bộ và đào tạo nhân sự 54 cán bộ nhân viên).
  • Lợi ích kinh tế trực tiếp: Tiết kiệm 125.000.000 VNĐ/năm nhờ cắt giảm hao hụt nguyên phụ liệu (chai nhựa 200ml, nắp nhựa, dung môi) và tối ưu hóa vòng quay vốn lưu động.
  • Thời gian hoàn vốn (Payback Period): $ROI = \frac{125.000.000 - 45.000.000}{45.000.000} \times 100% = 177,7%$ trong năm đầu tiên; thời gian thu hồi vốn thực tế sau 4,3 tháng.

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

Rào cản kỹ thuật và nguồn lực

  • Quy mô nhân sự hạn chế: Tỷ lệ lao động có trình độ đại học trở lên tại công ty chỉ chiếm 14,81% (trong đó có 2 Dược sĩ đại học), gây khó khăn ban đầu trong việc tiếp cận các phần mềm hoạch định chuyên sâu.
  • Biến động giá nguyên liệu quốc tế: Tinh dầu và hoạt chất nhập khẩu vẫn chịu rủi ro tỷ giá và biến động nguồn cung từ thị trường Trung Quốc và Ấn Độ.

Định hướng mở rộng

  1. Nâng cấp mô hình MRP I (hoạch định vật tư) lên MRP II (Manufacturing Resource Planning) tích hợp năng lực máy móc thiết bị và chi phí nhân công trực tiếp.
  2. Ứng dụng mã vạch hai chiều (QR Code/DataMatrix) trong kiểm soát vị trí pallet tại kho theo tiêu chuẩn thực hành tốt bảo quản thuốc GSP.
  3. Nghiên cứu thuật toán dự báo nâng cao sử dụng mô hình chuỗi thời gian (ARIMA / Machine Learning) để dự báo nhu cầu thuốc cảm cúm, tinh dầu xông theo mùa dịch tễ.

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

+-------------------------------------------------------------------------+
|                        GIÁ TRỊ MANG LẠI CHO CÁC BÊN                     |
+-------------------------------------------------------------------------+
|  [Sinh viên / Học viên]  -> Mô hình thực chứng sinh động về chuỗi cung   |
|                             ứng ngành dược, kết nối lý thuyết - thực tế. |
|  [Kỹ sư / Nhà quản trị]  -> Bộ công thức, cấu trúc CSDL và mã nguồn      |
|                             thuật toán MRP có thể tái sử dụng ngay.     |
|  [Doanh nghiệp SX Dược] -> Cắt giảm 15-20% chi phí lưu kho, triệt tiêu |
|                             nguy cơ đình trệ sản xuất do thiếu NVL.      |
|  [Nhà nghiên cứu]       -> Khung phân tích định lượng kết hợp tiêu chuẩn |
|                             ngành dược (GSP/GMP-WHO) trong doanh nghiệp. |
+-------------------------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai giải pháp MRP này là gì?

Hệ thống yêu cầu máy chủ cục bộ hoặc điện toán đám mây cấu hình tối thiểu: CPU 2 Cores, 4GB RAM, ổ cứng SSD 40GB, cài đặt hệ điều hành Linux (Ubuntu/Debian), PostgreSQL 14+ và môi trường chạy Python 3.9+. Phía máy trạm chỉ cần trình duyệt web hiện đại để tương tác giao diện.

2. Mô hình xử lý thế nào khi thời gian giao hàng (Lead Time) của nhà cung ứng bị trễ?

Thuật toán tích hợp biến số thời gian trễ ngẫu nhiên vào mức Dự trữ an toàn ($Safety\ Stock$). Khi nhà cung ứng có dấu hiệu trễ hạn, hệ thống sẽ tự động kích hoạt cảnh báo tái đặt hàng sớm ($Reorder\ Point\ Alert$) và điều chỉnh ngày phát đơn hàng lùi về trước.

3. Doanh nghiệp có cần thay thế toàn bộ hệ thống kế toán hiện có không?

Không. Giải pháp được thiết kế dưới dạng module độc lập (Standalone Engine), có khả năng kết xuất và đồng bộ dữ liệu hai chiều với các phần mềm kế toán (như MISA, FAST) thông qua các tệp trung gian định dạng CSV/Excel chuẩn hóa hoặc qua RESTful API.

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

Nhờ sử dụng nền tảng mã nguồn mở (Open-source Stack), doanh nghiệp không phải trả phí bản quyền phần mềm định kỳ. Chi phí duy trì hạ tầng mạng nội bộ và sao lưu dữ liệu tự động chỉ chiếm khoảng 3 - 5 triệu VNĐ/năm.

5. Thời gian đào tạo nhân viên kho và phân xưởng mất bao lâu?

Quy trình thao tác được chuẩn hóa thành tài liệu hướng dẫn công việc (SOP - Standard Operating Procedure) theo chuẩn GSP. Thời gian đào tạo thực hành cho nhân viên kho và công nhân kỹ thuật chỉ kéo dài từ 3 đến 5 ngày làm việc.


Kết luận

Đề tài "Hoàn thiện công tác quản trị cung ứng nguyên vật liệu tại Công ty Cổ phần Dược phẩm Văn Lang" đã giải quyết triệt để nút thắt cổ chai trong chuỗi cung ứng nội bộ của doanh nghiệp. Bằng việc chuyển đổi từ phương pháp ước lượng kinh nghiệm sang mô hình định mức phân tích kỹ thuật kết hợp thuật toán MRP, dự án đã chứng minh khả năng nâng cao tỷ lệ cung ứng đồng bộ lên 99,15% và giảm thiểu 78,89% hao hụt lưu kho. Đây là mô hình ứng dụng thực tiễn điển hình, mang lại giá trị gia tăng rõ rệt về mặt kinh tế kỹ thuật, giúp các doanh nghiệp dược phẩm vừa và nhỏ nâng cao năng lực cạnh tranh và phát triển bền vững.