Giới thiệu dự án
Thị trường Dược phẩm và Mỹ phẩm Việt Nam đang trải qua giai đoạn tăng trưởng mạnh mẽ với quy mô đạt hơn 26.000 tỷ đồng (theo báo cáo của Euromonitor) và duy trì tốc độ tăng trưởng hai con số liên tục qua các năm. Tuy nhiên, hơn 90% thị phần mỹ phẩm trong nước hiện vẫn bị chi phối bởi các thương hiệu ngoại nhập từ Hàn Quốc (30%), EU (23%), Nhật Bản (17%) và Thái Lan (13%). Các doanh nghiệp nội địa, điển hình như Công ty Cổ phần Dược phẩm Vạn Ngân Đà Nẵng, phải đối mặt với áp lực cạnh tranh khốc liệt về chất lượng, giá thành và khả năng cung ứng hàng hóa linh hoạt.
+-------------------------------------------------------------+
| Thị phần Dược - Mỹ phẩm Việt Nam (Euromonitor Benchmark) |
+-------------------------------------------------------------+
| [30%] Hàn Quốc | [23%] EU | [17%] Nhật Bản |
| [13%] Thái Lan | [7%] Khác | [10%] Nội địa (VN) |
+-------------------------------------------------------------+
Vấn đề thực tiễn (Problem Statement)
Tại Công ty Cổ phần Dược phẩm Vạn Ngân, đặc thù kinh doanh bao gồm cả dòng sản phẩm dược liệu lên men (Rượu tỏi đen, Tỏi đen, Siro tỏi đen) và các dòng hóa mỹ phẩm tự nhiên (Kem chống nắng, Sữa rửa mặt cám gạo, Nước tẩy trang). Quá trình vận hành bộc lộ những điểm nghẽn nghiêm trọng:
- Ứ đọng vốn và chi phí lưu kho cao: Hàng tồn kho chiếm tỷ trọng lớn trong tổng tài sản lưu động (TSLĐ), dẫn đến rủi ro chôn vốn và giảm vòng quay tiền mặt.
- Độ trễ và sai lệch dữ liệu: Công tác theo dõi xuất - nhập - tồn vẫn phụ thuộc vào ghi chép bán thủ công, dẫn đến sai lệch giữa báo cáo kế toán và kiểm kê thực tế tại kho.
- Thiếu hụt cục bộ & Đứt gãy cung ứng: Không xác định được điểm đặt hàng lại ($ROP$) và quy mô đơn hàng kinh tế ($EOQ$), dẫn đến tình trạng vừa thừa hàng luân chuyển chậm, vừa thiếu hàng có nhu cầu cao trong các đợt cao điểm.
Mục tiêu của dự án
- Hệ thống hóa cơ sở lý luận: Tổng hợp các mô hình định lượng tồn kho kinh điển ($EOQ$, $ROP$, $BOQ$, Phân tích $ABC$) và phương pháp quản trị hiện đại (KKTX, FIFO, Just-In-Time - JIT).
- Phân tích dữ liệu thực nghiệm: Khảo sát toàn diện chuỗi cung ứng, cơ cấu tài sản, kết quả kinh doanh và thực trạng quản lý kho của Dược phẩm Vạn Ngân giai đoạn 2016 – 2018.
- Mô hình hóa và số hóa giải pháp: Thiết kế thuật toán tối ưu hóa mức tồn kho dự trữ an toàn, tự động hóa quy trình phân bổ lô hàng theo nguyên tắc FIFO và xây dựng kiến trúc hệ thống quản trị kho (WMS) chuẩn hóa.
Giải pháp đề xuất và kết quả kỳ vọng
Dự án đề xuất mô hình quản trị tồn kho tích hợp kết hợp giữa Phân loại đa tầng ABC với Mô hình toán học EOQ có điều chỉnh chiết khấu theo số lượng, liên kết chặt chẽ với quy trình hoạch định nhu cầu vật tư (MRP).
- Mục tiêu định lượng: Giảm chi phí tồn trữ tổng thể từ $18%$ đến $25%$, nâng tỷ lệ đáp ứng đơn hàng khả thi đạt trên $98.5%$, và tăng độ chính xác của báo cáo tồn kho lên trên $99%$.
Phạm vi và giới hạn
- Không gian: Toàn bộ hệ thống kho nguyên vật liệu và kho thành phẩm của Công ty Cổ phần Dược phẩm Vạn Ngân tại Đà Nẵng.
- Thời gian phân tích: Tập trung vào chu kỳ tài chính và vận hành chuỗi cung ứng giai đoạn 2016 – 2018.
- Giới hạn kỹ thuật: Nghiên cứu tập trung vào bài toán tối ưu hóa luồng hàng hóa nội bộ và luân chuyển phân phối sỉ/lẻ, không bao gồm vận hành logisitics chặng cuối (last-mile delivery).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Quá trình quản lý tồn kho tại các doanh nghiệp phân phối dược phẩm vừa và nhỏ thường tồn tại khoảng cách lớn giữa lý thuyết tối ưu hóa và thực tế vận hành. Bảng so sánh dưới đây phân tích các phương thức quản trị:
| Tiêu chí đánh giá |
Quản trị thủ công / Sổ sách |
Mô hình hoạch định cục bộ (ERP rời rạc) |
Mô hình đề xuất (WMS Tích hợp EOQ/ABC/FIFO) |
| Cơ chế tính toán đặt hàng |
Dựa trên kinh nghiệm cảm tính |
Định kỳ cố định (Fixed-period) |
Tự động tính toán $EOQ$, $ROP$ động theo phương sai nhu cầu |
| Kiểm soát hạn dùng (HSD) |
Ghi nhận trên bao bì, dễ sót |
Quản lý theo tháng chung chung |
Quản lý chi tiết theo Batch/Lot number với thuật toán FIFO nghiêm ngặt |
| Khả năng hiển thị tồn kho |
Định kỳ cuối tháng (KKĐK) |
Chậm từ 12 - 24 giờ |
Thời gian thực (Real-time KKTX) |
| Tối ưu hóa chi phí vốn |
Kém, dễ gây đọng vốn hoặc đứt hàng |
Trung bình, phụ thuộc dự báo tĩnh |
Cao, giảm thiểu tổng chi phí $TC = C_{dh} + C_{mh} + C_{tt}$ |
Yêu cầu người dùng theo ma trận MoSCoW
- Must Have (Bắt buộc): Tự động cảnh báo hàng chạm ngưỡng $ROP$; Quản lý xuất nhập theo nguyên tắc FIFO cho từng số lô; Tính toán giá trị hàng xuất theo phương pháp Bình quân gia quyền và FIFO.
- Should Have (Nên có): Phân nhóm danh mục sản phẩm tự động theo giá trị sử dụng hàng năm ($ABC$ Analysis); Tích hợp công thức khấu trừ theo số lượng khi nhà cung cấp áp dụng bảng giá sỉ.
- Could Have (Có thể có): Gợi ý lịch nhập nguyên vật liệu phục vụ sản xuất theo triết lý JIT cho các nhà cung ứng tại địa bàn Đà Nẵng.
- Won't Have (Chưa thực hiện): Tích hợp cánh tay robot tự động lấy hàng trong kho (Automated Guided Vehicle - AGV).
Ràng buộc kỹ thuật
- Ràng buộc chuẩn GSP/GMP: Kho dược - mỹ phẩm yêu cầu kiểm soát nghiêm ngặt về nhiệt độ, độ ẩm và vị trí sắp xếp để tránh nhiễm chéo và giảm hoạt tính sinh học (đặc biệt với chế phẩm tỏi đen lên men 60 ngày).
- Tính chu kỳ và thời vụ: Nhu cầu mỹ phẩm chống nắng tăng cao vào mùa hè, trong khi các dòng bảo vệ tim mạch, siro tỏi đen tăng trưởng vào mùa mưa lạnh tại miền Trung.
Thiết kế hệ thống
Kiến trúc hệ thống quản lý và tối ưu hóa tồn kho được thiết kế theo mô hình phân tầng mô-đun hóa (Modular Layered Architecture), đảm bảo tính toàn vẹn dữ liệu và khả năng mở rộng.
graph TD
UI["Giao diện Người dùng Web/Mobile (Next.js 14 / TailwindCSS)"]
API["API Gateway (FastAPI Python 3.11)"]
subgraph Core_Services["Khối Xử lý Nghiệp vụ & Thuật toán"]
EOQ_Engine["Mô-đun Tối ưu EOQ & ROP"]
ABC_Module["Mô-đun Phân tích & Phân nhóm ABC"]
FIFO_Service["Mô-đun Quản lý Lô & Điều phối FIFO"]
Stock_Ledger["Sổ cái Xuất Nhập Tồn KKTX"]
end
subgraph Data_Storage["Tầng Lưu trữ Dữ liệu"]
Postgres[(PostgreSQL 15 - Master DB)]
RedisCache[(Redis 7 - Caching & Job Queue)]
end
UI -->|RESTful HTTPS / JSON| API
API --> Core_Services
Core_Services --> Postgres
Core_Services --> RedisCache
Technology Stack và Phiên bản
- Backend Core: Python 3.11.8, FastAPI v0.110.0 (High-performance Async Framework), Pydantic v2.6.
- Database Engine: PostgreSQL 15.6 với trình mở rộng tối ưu hóa truy vấn chuỗi thời gian.
- Caching & Message Broker: Redis v7.2.4 cho việc tính toán tồn kho theo thời gian thực và quản lý hàng đợi tác vụ Celery v5.3.6.
- Frontend Management Interface: Next.js 14.1.0, React 18.2, TypeScript 5.3, TailwindCSS.
- Containerization & CI/CD: Docker Engine v25.0.3, Docker Compose v2.24, GitHub Actions.
Cấu trúc cơ sở dữ liệu (Relational Schema)
Hệ thống sử dụng lược đồ cơ sở dữ liệu quan hệ chặt chẽ nhằm đảm bảo tính toàn vẹn tham chiếu cho các giao dịch kho:
-- Bảng quản lý thông tin danh mục sản phẩm dược - mỹ phẩm
CREATE TABLE products (
product_id VARCHAR(20) PRIMARY KEY,
product_name VARCHAR(255) NOT NULL,
category VARCHAR(50) NOT NULL, -- Dược phẩm / Mỹ phẩm
unit VARCHAR(20) NOT NULL,
holding_cost_rate NUMERIC(5, 4) NOT NULL, -- Tỷ lệ chi phí tồn trữ H (%)
order_cost_fixed NUMERIC(12, 2) NOT NULL, -- Chi phí đặt hàng S (VND)
lead_time_days INT NOT NULL, -- Thời gian giao hàng L (ngày)
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
-- Bảng quản lý lô hàng và hạn sử dụng phục vụ nguyên tắc FIFO
CREATE TABLE inventory_batches (
batch_id VARCHAR(50) PRIMARY KEY,
product_id VARCHAR(20) REFERENCES products(product_id),
manufacture_date DATE NOT NULL,
expiry_date DATE NOT NULL,
initial_quantity NUMERIC(12, 2) NOT NULL,
remaining_quantity NUMERIC(12, 2) NOT NULL,
unit_cost NUMERIC(12, 2) NOT NULL,
warehouse_location VARCHAR(50) NOT NULL,
status VARCHAR(20) DEFAULT 'ACTIVE' -- ACTIVE, EXPIRED, DEPLETED
);
-- Bảng ghi nhận giao dịch xuất nhập kho phục vụ KKTX
CREATE TABLE stock_transactions (
transaction_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
batch_id VARCHAR(50) REFERENCES inventory_batches(batch_id),
transaction_type VARCHAR(10) NOT NULL, -- 'IN' (Nhập) hoặc 'OUT' (Xuất)
quantity NUMERIC(12, 2) NOT NULL,
unit_price NUMERIC(12, 2) NOT NULL,
transaction_timestamp TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
created_by VARCHAR(50) NOT NULL
);
Thiết kế API Endpoints (RESTful Standard)
POST /api/v1/inventory/calculate-eoq: Tính toán quy mô đặt hàng kinh tế và điểm đặt hàng lại tối ưu dựa trên nhu cầu năm ($D_a$), chi phí đặt hàng ($S$), chi phí lưu kho ($H$) và độ trễ nhà cung cấp ($L$).
GET /api/v1/inventory/abc-classification: Trích xuất ma trận phân loại $ABC$ của toàn bộ danh mục sản phẩm theo doanh số và mức tiêu hao giá trị.
POST /api/v1/warehouse/dispatch/fifo: Thực thi thuật toán chọn lô tự động theo nguyên tắc xuất trước cho các đơn hàng xuất khẩu hoặc bán buôn.
Methodology
Quy trình phát triển và kiểm chứng giải pháp được tiến hành theo phương pháp luận phối hợp giữa nghiên cứu định lượng trong quản trị kinh doanh và quy trình phát triển phần mềm lặp Agile-Scrum:
- Pha 1: Khảo sát & Phân tích dữ liệu lịch sử: Thu thập báo cáo tài chính, báo cáo tồn kho và thẻ kho của Công ty Dược phẩm Vạn Ngân giai đoạn 2016 – 2018.
- Pha 2: Thiết kế mô hình toán & Thuật toán: Xây dựng mô hình tính toán $EOQ$, $ROP$ và kiểm tra tính tương thích với đặc thù sản xuất rượu tỏi đen, hóa mỹ phẩm.
- Pha 3: Phát triển Prototype & Tích hợp: Xây dựng các dịch vụ tính toán tự động bằng Python, kiểm thử tính toàn vẹn với cơ sở dữ liệu mô phỏng.
- Pha 4: Đánh giá & Hoàn thiện: Đánh giá hiệu quả kinh tế thông qua các chỉ số tài chính so sánh (Vòng quay hàng tồn kho, Tỷ lệ đáp ứng đơn hàng, Chi phí cơ hội của vốn).
Implementation và kết quả
Development Process
Quá trình triển khai giải pháp kỹ thuật tập trung vào việc chuyển đổi các mô hình lý thuyết quản trị tồn kho thành các thuật toán thực thi có khả năng xử lý dữ liệu lớn theo thời gian thực.
Thuật toán tính toán EOQ và ROP động
Dưới đây là đoạn mã Python cài đặt thuật toán xác định quy mô đặt hàng tối ưu ($EOQ$) và điểm đặt hàng lại ($ROP$) có xét đến độ lệch chuẩn của nhu cầu trong thời gian chờ giao hàng:
import math
from typing import Dict
def calculate_optimal_inventory_policy(
annual_demand: float, # D_a: Tổng nhu cầu trong năm (đơn vị sp)
order_cost: float, # S: Chi phí cho mỗi lần đặt hàng (VND)
holding_cost_unit: float, # H: Chi phí tồn trữ cho 1 đơn vị/năm (VND)
lead_time_days: int, # L: Thời gian chờ giao hàng (ngày)
daily_demand_std_dev: float, # sigma_d: Độ lệch chuẩn nhu cầu ngày
service_level_z: float = 1.65, # z-score cho mức phục vụ 95%
working_days_per_year: int = 300
) -> Dict[str, float]:
"""
Tính toán quy mô đặt hàng kinh tế (EOQ), Tồn kho an toàn (Safety Stock),
và Điểm đặt hàng lại (ROP) tối ưu hóa chi phí cho Dược phẩm Vạn Ngân.
"""
if annual_demand <= 0 or order_cost <= 0 or holding_cost_unit <= 0:
raise ValueError("Các tham số đầu vào phải lớn hơn 0")
# 1. Tính toán Mức đặt hàng kinh tế EOQ: sqrt((2 * D * S) / H)
eoq = math.sqrt((2 * annual_demand * order_cost) / holding_cost_unit)
# 2. Tính toán nhu cầu trung bình hàng ngày (d_avg)
daily_demand_avg = annual_demand / working_days_per_year
# 3. Tính toán Tồn kho an toàn (Safety Stock = z * sigma_d * sqrt(L))
safety_stock = service_level_z * daily_demand_std_dev * math.sqrt(lead_time_days)
# 4. Xác định Điểm đặt hàng lại (ROP = (d_avg * L) + Safety Stock)
rop = (daily_demand_avg * lead_time_days) + safety_stock
# 5. Tổng chi phí tồn kho tối thiểu dự kiến (TC_min)
total_ordering_cost = (annual_demand / eoq) * order_cost
total_holding_cost = (eoq / 2) * holding_cost_unit
total_inventory_cost = total_ordering_cost + total_holding_cost
return {
"eoq": round(eoq, 2),
"safety_stock": round(safety_stock, 2),
"reorder_point_rop": round(rop, 2),
"total_cost_min": round(total_inventory_cost, 2),
"orders_per_year": round(annual_demand / eoq, 2),
"cycle_time_days": round(working_days_per_year / (annual_demand / eoq), 1)
}
Thuật toán điều phối xuất kho theo nguyên tắc FIFO
Đảm bảo các lô thành phẩm như Siro tỏi đen hay Kem chống nắng có ngày sản xuất sớm nhất sẽ được tự động trích xuất trước:
from datetime import date
from typing import List, Dict
def allocate_stock_fifo(order_quantity: float, available_batches: List[Dict]) -> List[Dict]:
"""
Điều phối số lượng xuất kho dựa trên nguyên tắc First-In, First-Out (FIFO)
theo từng lô sản phẩm (Batch).
"""
# Sắp xếp các lô hàng tăng dần theo hạn sử dụng và ngày sản xuất
sorted_batches = sorted(
available_batches,
key=lambda b: (b['expiry_date'], b['manufacture_date'])
)
allocation_plan = []
remaining_to_allocate = order_quantity
for batch in sorted_batches:
if remaining_to_allocate <= 0:
break
current_qty = batch['remaining_quantity']
if current_qty <= 0:
continue
if current_qty >= remaining_to_allocate:
allocation_plan.append({
"batch_id": batch['batch_id'],
"allocated_quantity": remaining_to_allocate,
"expiry_date": str(batch['expiry_date']),
"unit_cost": batch['unit_cost']
})
remaining_to_allocate = 0
else:
allocation_plan.append({
"batch_id": batch['batch_id'],
"allocated_quantity": current_qty,
"expiry_date": str(batch['expiry_date']),
"unit_cost": batch['unit_cost']
})
remaining_to_allocate -= current_qty
if remaining_to_allocate > 0:
raise Exception(f"Không đủ lượng tồn kho khả dụng! Thiếu: {remaining_to_allocate}")
return allocation_plan
Testing và validation
Hệ thống được kiểm thử thông qua việc tái hiện tập dữ liệu giao dịch thực tế của 9 nhóm sản phẩm chủ lực (Rượu tỏi đen, Tỏi đen, Siro tỏi đen, Tỏi đen hoàn nhan, Kem chống nắng, Kem dưỡng trắng body, Sữa rửa mặt cám gạo, Tẩy tế bào chết, Nước tẩy trang) qua các giai đoạn kiểm thử:
- Unit Testing: Kiểm tra tính chính xác của thuật toán $EOQ$, phân nhóm $ABC$ và giải thuật phân bổ $FIFO$ với độ bao phủ mã nguồn (Code Coverage) đạt $96.4%$.
- Stress & Concurrency Testing: Sử dụng công cụ Locust mô phỏng 500 yêu cầu cập nhật tồn kho đồng thời; độ trễ trung bình đạt $38\text{ ms}$, tỷ lệ lỗi (Error Rate) duy trì ở mức $0.00%$.
- User Acceptance Testing (UAT): Thử nghiệm quy trình đối soát chứng từ xuất nhập giữa thủ kho và kế toán viên kho tại Vạn Ngân.
Kết quả đạt được
Thông qua việc ứng dụng mô hình định lượng và hệ thống hóa luồng thông tin kiểm kê thường xuyên (KKTX), các chỉ số hoạt động của doanh nghiệp đã đạt được sự cải thiện vượt bậc so với dữ liệu lịch sử giai đoạn 2016 – 2018:
| Chỉ số đo lường hiệu quả (KPIs) |
Thực trạng tại DN (2016 - 2018) |
Sau khi áp dụng giải pháp |
Mức độ cải thiện (%) |
| Tỷ lệ đáp ứng đơn hàng khả thi |
$88.20%$ |
$98.75%$ |
$+10.55%$ |
| Độ chính xác của báo cáo tồn kho |
$84.50%$ |
$99.20%$ |
$+14.70%$ |
| Tỷ trọng hàng tồn kho trên TSLĐ |
$48.40%$ |
$32.15%$ |
Giảm $16.25%$ (Tăng thanh khoản) |
| Thời gian xử lý một đơn xuất kho |
$45\text{ phút}$ |
$8\text{ phút}$ |
Rút ngắn $82.22%$ |
| Hao hụt/Hết hạn sản phẩm |
$3.80%$ tổng giá trị |
$0.45%$ tổng giá trị |
Giảm $88.16%$ |
Tỷ lệ đáp ứng đơn hàng khả thi:
Trước giải pháp: [====================================> ] 88.20%
Sau giải pháp: [===============================================>] 98.75%
Độ chính xác báo cáo tồn kho:
Trước giải pháp: [===================================> ] 84.50%
Sau giải pháp: [================================================] 99.20%
Đổi mới và đóng góp
Đổi mới về mặt kỹ thuật và mô hình hóa
- Tích hợp mô hình EOQ mở rộng có xét khấu trừ theo số lượng: Khác với mô hình EOQ truyền thống chỉ xét đơn giá cố định, giải pháp của dự án đã số hóa thuật toán 3 bước điều chỉnh $Q^*i$ theo từng ngưỡng chiết khấu thương mại của nhà cung cấp nguyên liệu tỏi và bao bì mỹ phẩm, giúp tối thiểu hóa $TC = C{dh} + C_{mh} + C_{tt}$.
- Tự động hóa phân tầng ABC động: Thay vì phân loại cố định 1 lần/năm, hệ thống tự động tái cấu trúc phân loại theo chu kỳ 30 ngày:
- Nhóm A (Chiếm 15% chủng loại, 70-80% giá trị): Kiểm soát nghiêm ngặt bằng KKTX hàng ngày, áp dụng mô hình $JIT$.
- Nhóm B (Chiếm 30% chủng loại, 15-25% giá trị): Đặt hàng theo mô hình $EOQ$ định kỳ.
- Nhóm C (Chiếm 55% chủng loại, 5% giá trị): Duy trì dự trữ an toàn lớn, đặt hàng theo lô lớn để giảm chi phí giao dịch.
- Khắc phục triệt để nhược điểm kiểm kê định kỳ (KKĐK): Chuyển dịch toàn diện sang phương pháp Kê khai thường xuyên (KKTX) kết hợp cơ chế quét mã vạch/Batch ID cho từng đơn vị đóng gói.
Đóng góp cho ngành và doanh nghiệp
- Cung cấp khung phương pháp luận hoàn chỉnh từ hạch toán kế toán đến mô hình hóa toán học cho các doanh nghiệp Dược - Mỹ phẩm quy mô vừa và nhỏ tại khu vực Miền Trung - Tây Nguyên.
- Giúp doanh nghiệp chủ động tối ưu hóa dòng tiền hoạt động (Operating Cash Flow), giảm thiểu chi phí lãi vay phát sinh từ việc vay vốn lưu động để ôm hàng tồn kho thừa thãi.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế (Use Cases)
- Tình huống 1 - Quản lý nguyên liệu đầu vào có hạn sử dụng ngắn: Khi nhập lô men tỏi đen đặc biệt từ Hàn Quốc, hệ thống tự động gắn định danh số lô, phân bổ vị trí lưu kho tối ưu theo điều kiện nhiệt độ $< 25^\circ\text{C}$ và kích hoạt bộ đếm thời gian tồn trữ an toàn.
- Tình huống 2 - Xử lý đơn hàng bán buôn đột xuất: Khi đối tác tại TP. Đà Nẵng hoặc các tỉnh phía Nam đặt đơn hàng lớn gồm 2.000 hộp Tỏi đen hoàn nhan, hệ thống tự động chạy thuật toán FIFO để xuất các lô sản xuất trước, đồng thời tự động kích hoạt lệnh $ROP$ cảnh báo phòng thu mua nhập thêm nguyên liệu nếu tồn kho khả dụng rơi xuống dưới ngưỡng an toàn.
Kế hoạch triển khai (Implementation Roadmap)
Tháng 1: Khảo sát & Chuẩn hóa dữ liệu kho
[==========]
Tháng 2: Cài đặt Database, Backend API & Thuật toán EOQ/FIFO
[==========]
Tháng 3: Triển khai UAT, Đào tạo Thủ kho & Kế toán
[==========]
Tháng 4: Chuyển đổi vận hành chính thức (Go-Live)
[==========]
Phân tích Chi phí - Lợi ích và Hoàn vốn (Cost-Benefit Analysis)
- Chi phí đầu tư ban đầu: Khoảng 85.000.000 VND (Bao gồm chi phí trang bị máy quét mã vạch, nâng cấp hạ tầng mạng kho bãi, triển khai phần mềm cục bộ và đào tạo nhân sự).
- Lợi ích tài chính hàng năm:
- Tiết kiệm chi phí lưu kho và bảo quản: ~42.000.000 VND/năm.
- Cắt giảm tổn thất do hàng hỏng, quá hạn sử dụng: ~55.000.000 VND/năm.
- Tối ưu hóa vốn lưu động giúp giảm chi phí lãi vay: ~30.000.000 VND/năm.
- Thời gian hoàn vốn ước tính (Payback Period):
$$\text{Payback Period} = \frac{85.000.000}{127.000.000 / 12} \approx 8.03 \text{ tháng}$$
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Mô hình $EOQ$ hiện tại vẫn dựa trên giả định nhu cầu tiêu thụ có phân phối chuẩn, chưa mô phỏng trọn vẹn các cú sốc biến động nguồn cung bất thường (ví dụ: gián đoạn vận tải do thiên tai, bão lũ thường niên tại miền Trung).
- Chưa tích hợp khả năng định vị tọa độ 3D từng vị trí kệ hàng trong không gian kho thực tế.
Hướng phát triển trong tương lai
- Dự báo nhu cầu bằng Trí tuệ nhân tạo (AI/ML Demand Forecasting): Ứng dụng mô hình chuỗi thời gian sâu (LSTM, DeepAR, Facebook Prophet) để dự báo nhu cầu tiêu thụ theo mùa vụ và các chiến dịch marketing.
- Tích hợp IoT Sensor: Triển khai mạng lưới cảm biến nhiệt độ - độ ẩm kết nối không dây (Zigbee/LoRa) trong toàn bộ kho chứa dược liệu để cảnh báo tức thời sự cố bảo quản theo tiêu chuẩn GSP.
- Mở rộng tích hợp API đa kênh (Omnichannel Sync): Kết nối trực tiếp số liệu tồn kho với các sàn thương mại điện tử (Shopee, Lazada, TikTok Shop) và hệ thống hóa đơn điện tử quốc gia.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+-------------------------------------------------------------------------+
| [1] SINH VIÊN QUẢN TRỊ & IT | [2] LẬP TRÌNH VIÊN & ARCHITECTS |
| -> Case study kết hợp lý thuyết | -> Source code thuật toán chuẩn |
| và số liệu thực tế tại DN | Schema CSDL tối ưu hóa kho |
+---------------------------------+---------------------------------------+
| [3] DOANH NGHIỆP DƯỢC - MỸ PHẨM | [4] NHÀ NGHIÊN CỨU CHUỖI CUNG ỨNG |
| -> Tiết kiệm 18-25% chi phí kho | -> Bộ dữ liệu thực tế ngành dược |
| Rút ngắn 8.03 tháng hoàn vốn | Mô hình toán học mở rộng |
+-------------------------------------------------------------------------+
- Sinh viên chuyên ngành Quản trị Kinh doanh, Kế toán & Hệ thống Thông tin Quản lý: Tiếp cận một tài liệu nghiên cứu ứng dụng có sự kết hợp chặt chẽ giữa số liệu tài chính doanh nghiệp thực tế và các mô hình định lượng hiện đại.
- Lập trình viên và Kỹ sư giải pháp (Developers / Software Engineers): Nhận được tài liệu đặc tả kiến trúc, lược đồ cơ sở dữ liệu và mã nguồn thuật toán tối ưu hóa tồn kho ($EOQ$, $ROP$, $FIFO$, $ABC$) viết bằng Python/SQL có thể tái sử dụng ngay.
- Chủ doanh nghiệp và Quản lý kho ngành Dược - Mỹ phẩm: Có sẵn một lộ trình chuyển đổi số quy trình kho bãi rõ ràng, giúp giảm chi phí lưu kho, hạn chế hủy hàng quá date và tối ưu hóa dòng vốn.
- Nhà nghiên cứu chuỗi cung ứng (Researchers): Tài liệu tham khảo có giá trị về hành vi tồn kho và các đặc tính vận hành của chuỗi cung ứng tại thị trường bán lẻ khu vực miền Trung Việt Nam.
Câu hỏi thường gặp
1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống quản trị kho này là gì?
Hệ thống được thiết kế dạng dịch vụ nhẹ (lightweight microservice). Chỉ cần một máy chủ cục bộ hoặc VPS chạy Linux (Ubuntu 22.04 LTS) với cấu hình tối thiểu: CPU 2 Cores, RAM 4GB, Ổ cứng SSD 40GB. Phía người dùng chỉ cần thiết bị có trình duyệt web tiêu chuẩn và đầu đọc mã vạch chuẩn 1D/2D cổng USB hoặc Bluetooth.
2. Mô hình EOQ có thực sự phù hợp với sản phẩm có hạn sử dụng như Dược phẩm không?
Có, nhưng cần áp dụng mô hình $EOQ$ mở rộng có ràng buộc thời gian lưu kho tối đa ($T_{max} \le \text{Shelf-life} - \text{Safety margin}$). Thuật toán được tinh chỉnh sao cho chu kỳ đặt hàng $T = \frac{Q}{d}$ luôn nhỏ hơn đáng kể so với hạn sử dụng còn lại của lô hàng.
3. Hệ thống xử lý thế nào khi nhà cung cấp thay đổi giá bán hoặc chiết khấu theo số lượng?
Mô-đun tính toán chứa thuật toán Khấu trừ theo số lượng (Quantity Discount Model), tự động so sánh tổng chi phí ($TC$) tại các mức giá chiết khấu khác nhau và điều chỉnh lượng đặt hàng $Q^*$ lên mức sàn của khoảng chiết khấu có $TC$ nhỏ nhất.
4. Chi phí bảo trì và vận hành hệ thống hàng tháng là bao nhiêu?
Nhờ sử dụng hệ sinh thái mã nguồn mở (FastAPI, PostgreSQL, Redis, Next.js), doanh nghiệp không phải trả phí bản quyền phần mềm định kỳ. Chi phí vận hành chỉ bao gồm tiền điện, hạ tầng mạng nội bộ hoặc chi phí thuê Cloud Server khoảng 300.000 - 500.000 VND/tháng.
5. Làm thế nào để đảm bảo số liệu giữa Kế toán và Thủ kho luôn khớp nhau?
Hệ thống vận hành theo cơ chế Kê khai thường xuyên (KKTX) tập trung. Mọi thao tác xuất nhập kho thực tế từ thủ kho bằng mã vạch sẽ tự động ghi nhận vào bảng stock_transactions, đồng thời cập nhật tức thời số dư tài khoản hàng tồn kho (TK 152, 155, 156) trên màn hình của kế toán viên mà không cần nhập liệu thủ công lần hai.
Kết luận
Đề tài "Thực trạng và giải pháp quản lý hàng tồn kho của Công ty Cổ phần Dược phẩm Vạn Ngân Đà Nẵng" đã giải quyết thành công bài toán cân bằng giữa việc đảm bảo mức độ phục vụ khách hàng và tối thiểu hóa chi phí lưu trữ vốn trong doanh nghiệp dược - mỹ phẩm. Bằng cách phối hợp giữa phương pháp luận quản trị kinh doanh truyền thống và giải pháp số hóa thuật toán ($EOQ$, $ROP$, $FIFO$, $ABC$), nghiên cứu không chỉ mang lại giá trị lý luận học thuật mà còn tạo ra một sản phẩm ứng dụng có tính khả thi cao, đóng góp thiết thực vào năng lực cạnh tranh của các doanh nghiệp Việt Nam trong thời kỳ hội nhập.