Cổng B2B Phụ tùng Ô tô
B2B Auto-Parts Portal
Portal đặt hàng phụ tùng cho 320 garage — tra cứu OEM, kho real-time, xuất hoá đơn điện tử.
Bài toán
Nhà phân phối phụ tùng cũ vận hành qua Excel + Zalo + điện thoại: garage gọi/nhắn → nhân viên check Excel → báo giá → ghi sổ. Sai mã, hết hàng đột ngột, không có lịch sử mua. Doanh thu B2B chững.
Kiến trúc
Next.js 15 App Router + RSC → tRPC + Postgres (catalog 38k SKU) → search OEM full-text + similarity (pg_trgm) → integration VNPT e-invoice + VietQR payment → MISA accounting webhook. Real-time stock qua SSE từ ERP.
Stack & lý do
- Next.js 15 App Router: server components giảm bundle ~40%, SSR catalog cho SEO.
- pg_trgm thay vì Algolia: catalog không quá lớn, search local đủ tốt + tiết kiệm.
- VietQR: thanh toán B2B tức thì, đối soát ngày hôm sau.
Kết quả (4 tháng đầu)
| Metric | Trước | Sau |
|---|---|---|
| Garage active | — | 320 |
| Doanh thu B2B online | 1× | 3.4× |
| Avg order time | 18 phút | 4 phút |
| Sai mã đơn | 6.8% | 0.9% |
Bài học
Search OEM phải hỗ trợ "fuzzy + alias" (mỗi nhà sản xuất gọi mã khác nhau cho cùng 1 phụ tùng). Cache invalidation cho stock real-time qua SSE đơn giản hơn WebSocket cho 1-way data.