← Trang chủP&L Ecommerce — Tài liệu vận hành
Every Half · FP&A

Dashboard P&L Ecommerce — Tài liệu vận hành

Bảng lãi lỗ (P&L) cho mảng bán online của Every Half: Sàn TMĐT (TikTok Shop · Shopee · Website) và Delivery (Grab · ShopeeFood · Be · Xanh Ngon). Tài liệu giải thích số lấy từ đâu, phần nào tự chạy, và đang thiếu chỗ nào.

🔗 everyhalf-ecom.pages.dev 🔑 EH@Ecom2026 🔄 Cập nhật 9:30 mỗi sáng

Bảng gồm 2 tab

🛒 Sàn TMĐT

TikTok Shop · Shopee · Website

Doanh thu bán lẻ online qua Fabi XR. Đầy đủ phí sàn, ads, affiliate, huỷ, hoàn — lấy trực tiếp từ API của sàn.

🛵 Delivery

Grab · ShopeeFood · Be · Xanh Ngon

Giao đồ ăn của cửa hàng. Doanh thu từ Metabase (POS), phí theo % hợp đồng từng sàn.

Cấu trúc mỗi tab đọc từ trên xuống: GMV → Doanh thu thuần → Giá vốn (COGS) → Phí sàn → Phí marketing → Lợi nhuận gộp → trừ nhân sự → Lợi nhuận công ty. Bấm tên kênh để xem chi tiết sản phẩm.

Số lấy từ đâu — Tab Sàn TMĐT

Chỉ sốNguồnGhi chú
Doanh thu (Gross / Net / Giảm giá)Fabi XR — sale_detail theo kênhSố thật từ POS bán online
GMVTikTok = Order API · Shopee = số datacenter chính thức (khớp web)TikTok lệch Analytics ~1,2% · Shopee cập nhật định kỳ từ web
Phí sàn · Payment · Voucher · ShippingTikTok đối soát (statements) · Shopee escrowNhóm Platform Fee
Ads · AffiliateTikTok ads statements · Shopee ví SPMNhóm Marketing Fee
Cancel (huỷ đơn)Order API — đơn CANCELLED, Σ giá bánTheo ngày đặt đơn
Refund (trả hàng/hoàn)Đối soát + Order API phân loạiLoại riêng khỏi huỷ
COGS (giá vốn)File ECOM COG.xlsx theo mã hàngMã chưa có giá → tạm 25% giá bán (chờ Phước)
Booking / MarketingNạp từ PDF nghiệm thu (đọc cả file scan)Tự chống nạp trùng theo mã hợp đồng
Nhân sựNhập tayTrừ ra Lợi nhuận công ty

Số lấy từ đâu — Tab Delivery

Chỉ sốNguồnGhi chú
Doanh thu (Gross / Net)Metabase — transaction_details (POS cửa hàng)4 kênh Grab/ShopeeFood/Be/Xanh
Phí sànGross × % hợp đồng từng kênh% kế bên = phí ÷ Net
GMVGrab = số thật từ portal GrabShopeeFood/Be/Xanh: chưa có nguồn → để trống
Điều chỉnh - RefundGrab = báo cáo đối soát theo ngày (số thật)ShopeeFood/Be/Xanh: chưa có nguồn
COGS (giá vốn)Giá vốn THẬT theo công thức pha chế (xem cách tính bên dưới)Phủ 95,8% doanh thu · món chưa có công thức tạm 30% Net
Packaging2% Doanh thu thuầnTheo cấu trúc Dash_Deli
Ads bookingNạp từ PDF nghiệm thu / nhập tayChưa có file thực tế để test các trường hợp
Nhân sựNhập tay (mặc định 16 triệu/tháng)Trừ ra Lợi nhuận công ty

Phí sàn Delivery theo hợp đồng

Grab
22,72%
Làng Lụa Hội An: 18,18%
ShopeeFood
17,67%
trên Gross
Be Food
20%
trên Gross
Xanh Ngon
15%
trên Gross

Ví dụ Grab tháng 6: Gross 1.218.122.000 × 22,66% = Phí 275.987.744. Con số % hiển thị kế bên (26,1%) = phí ÷ Doanh thu thuần (1.055.939.500).

Cách tính giá vốn (COGS) Delivery

Món delivery là đồ uống pha chế tại quán (Bạc Xỉu, Cà Phê Sữa…), không phải hàng đóng gói có sẵn giá vốn — nên giá vốn phải nổ ra từ công thức pha chế, không tra thẳng được như tab Sàn.

BướcLàm gì
1. Lấy công thứcLấy công thức pha chế mỗi món từ hệ thống iPOS (định mức từng nguyên vật liệu: cà phê, sữa, syrup, đá…)
2. Nổ ra nguyên vật liệuNổ đệ quy tới NVL gốc — ví dụ 1 Bạc Xỉu = 21g cà phê rang + 20g sữa đặc + 60g sữa tươi
3. Nhân đơn giáMỗi NVL × đơn giá trong file 02. Unit Cost.xlsx, khớp hoàn toàn theo mã hàng (item_id) — cả món lẫn NVL, không khớp theo tên nên không nhầm. Quy đổi đơn vị (gram → kg/túi) tự động.
4. Ra giá vốn/mónCộng lại — ví dụ Bạc Xỉu = 8.048đ (cà phê 4.048 + sữa đặc 1.010 + sữa tươi 2.990)
5. Bánh & hàng đóng góiMón KHÔNG có công thức pha chế (bánh, cà phê gói dripbag) → lấy giá vốn thành phẩm trực tiếp từ 02. Unit Cost theo mã hàng

Kết quả T1–T6/2026: phủ 95,8% doanh thu có giá vốn thật. COGS thật = 1.523.274.175 (24,1% Net) — trước đây để 30% phẳng = 1.895.151.413, tức 30% đang thổi giá vốn lên ~372 triệu, làm lãi gộp delivery thấp giả. Món nào tính được giá vốn thật thì dùng số thật; món chưa tính được vẫn tạm 30% Net.

⚙️ Cập nhật khi thêm tháng mới: chạy python deli_cogs_real.py --build trong thư mục dự án (số công thức ổn định, không cần chạy thường xuyên).

Món Delivery CHƯA có giá vốn thật — còn tạm 30% (264 triệu = 4,2% doanh thu)

NhómMónDoanh thu% DT deliLý do
Combo / khuyến mãi[GRAB] Mua 1 Matcha Tặng 1 · Combo Matcha Latte + Cà Phê Sữa · Combo Cà Phê Việt + Bánh · OTP / Good Morning / Refreshing / Relaxing Snack Combo · [GRAB] Combo Đại Lễ · các gói giảm −5%/−10%/−30% · [SPF] Cà Phê Việt + Bánh…~171.000.0002,7%Gói nhiều món → để 30% là hợp lý
Thức uống mớiBlooming Coffee Kombucha · Golden Osmanthus · Blooming Matcha~68.000.0001,1%Chưa có công thức pha chế trong iPOS (món mới/theo mùa)
Bánh mớiSourdough S'mores / Red Velvet Cookie · Cinnamon Sourdough Brioche · Cinnamon Roll (HA) · Croissant (HA)/(HN) · Pain Au Chocolat~25.700.0000,4%Mã món chưa có trong 02. Unit Cost → cần bổ sung giá vốn theo mã
Tổng 44 món264.475.1754,2%Đang tạm tính 30% Net

Muốn phủ 100%: (1) bổ sung công thức pha chế cho các thức uống mới trong iPOS; (2) bổ sung giá vốn theo mã cho các bánh mới vào 02. Unit Cost. Combo/promo có thể để 30% vì gói nhiều món.

Đọc cột % — vì sao mỗi kênh một COGS% khác nhau

Cột % kế bên mỗi dòng = dòng đó ÷ Doanh thu thuần (Net) của kênh. Discount%COGS% tuy cùng chia cho Net nhưng đo 2 thứ khác hẳn, không liên quan nhau:

Chỉ sốÝ nghĩaVí dụ kênh Xanh Ngon
Discount %Giảm giá ÷ Net = kênh này khuyến mãi bao nhiêu494.000 ÷ 6.266.000 = 8%
COGS %Giá vốn nguyên liệu ÷ Net = nguyên liệu chiếm bao nhiêu so với giá bán1.232.514 ÷ 6.266.000 = ~20%

→ Xanh khuyến mãi ít (8%) nhưng món Xanh bán có giá vốn ~20% giá bán — discount thấp không kéo COGS thấp theo. Giữa các kênh, COGS% chênh nhau chủ yếu do mix món khác nhau: kênh bán nhiều món giá vốn rẻ → COGS% thấp; bán nhiều món đắt nguyên liệu (matcha, sữa yến mạch) → COGS% cao. Đây là lý do sau khi dùng giá vốn thật theo từng món, mỗi kênh mới có một COGS% riêng (trước đây để 30% cào bằng nên kênh nào cũng 30%).

Tự động hoá — hiện trạng

Tự động 9:30 mỗi ngày Định kỳ — chạy tay trên máy VN Chưa có nguồn
PhầnTrạng tháiChi tiết
Sàn — Doanh thu / Phí / COGS / Lợi nhuậnTự độngCron 9:30 pull API → build → deploy. Token TikTok/Shopee tự gia hạn.
Sàn — Chốt phí tháng cũTự độngMỗi ngày 15 chạy lại tháng trước để lấy đủ phí đã đối soát.
Sàn — GMVTự độngQua Order API, lệch Analytics ~1,2%.
Delivery — Doanh thu / Phí / COGS / Lợi nhuậnTự độngCron 9:30 tính lại từ Metabase.
Sàn — GMV Shopee (số web chính thức)Định kỳKéo từ datacenter Shopee (cần đăng nhập Shopee seller); cron không đè.
Delivery — GMV + Điều chỉnh GrabĐịnh kỳChạy tay hàng tuần (đăng nhập Grab bằng mật khẩu, không cần OTP).
Delivery — GMV ShopeeFood (14 quán)Định kỳCòn thiếu — cần đăng nhập lại + OTP (SMS) mỗi kỳ, Shopee hết hạn phiên sau vài ngày.
GMV ShopeeFood / Be / XanhChưa cóBe/Xanh không có nguồn web để lấy GMV riêng.

⚠ Đang thiếu / chưa làm được

Cần bổ sung
  1. GMV ShopeeFood 14 quán — cần đăng nhập ShopeeFood + OTP định kỳ (Shopee tự hết hạn phiên). Doanh thu & phí ShopeeFood đã đúng; chỉ thiếu cột GMV.
  2. GMV Be / Xanh Ngonkhông có portal đối tác để lấy GMV riêng → để trống. Không ảnh hưởng lãi lỗ.
  3. Giá vốn (COGS) Sàn — 19 mã chưa có giá vốn — chiếm 228.683.587đ = 10,9% doanh thu sàn (T1–T6), đang tạm tính 25% giá bán. Toàn bộ là combo / set dripbag / hàng Tết. Chờ: Phước bổ sung giá vốn cho các mã dưới — ưu tiên 4 mã đầu phủ ~9/11%.
    Mã / TênDoanh thu net% DT sàn
    Combo Dripbag Mixed 10 (mới)123.591.8745,9%
    Set Dripbag Mixed 6 gói29.406.0841,4%
    Cà phê gói (CPG_Peaberry_200g)15.100.2600,7%
    COMBO TÚI MŨ TÍM13.400.0000,6%
    Combo 10 Dripbag Đưng K'nớ8.861.1630,4%
    Combo 10 Ecuador · Combo 5 Ecuador · Combo 10/5 Peru · các combo Tết 2026…38.324.2061,8%
    Tổng 19 mã chưa có giá vốn228.683.58710,9%
  4. ✓ Giá vốn (COGS) Delivery — ĐÃ có giá vốn thật theo công thức pha chế iPOS (phủ 95,8% doanh thu; xem mục "Cách tính giá vốn Delivery"). Còn 4,2% (thức uống mới + bánh mới chưa có mã trong 02. Unit Cost) tạm 30%. Cần: bổ sung công thức thức uống mới + giá vốn mã bánh mới để phủ 100%.
  5. Điều chỉnh - Refund ShopeeFood/Be/Xanhchưa có nguồn đối soát. Grab đã có số thật.
  6. Ads booking Delivery — chưa test file thật — chức năng nạp PDF đã dùng chung cơ chế với Sàn, nhưng chưa có hợp đồng ads delivery thực tế để chạy thử. Chờ: file nghiệm thu ads delivery đầu tiên.
  7. GMV tuyệt đối — số auto lệch Analytics 1,2%; muốn khớp 0% phải chạy tay số Analytics. Tuỳ chọn — không bắt buộc.

Số tham chiếu — tháng 6/2026

KhoảnGiá trịGhi chú
GMV TikTok (Order API)97.973.540Lệch Analytics −1,2%
Grab — Gross1.218.122.000Phí 275.987.744 (22,66% Gross / 26,1% Net)
Grab — Điều chỉnh/Hoàn−20.091.906Chủ yếu 3 ngày đầu tháng
Booking Sàn — tháng 67.959.259Tháng 5: 11.748.147

Delivery cả kỳ (T1–T6): Doanh thu thuần 6.317.171.378 · Lợi nhuận công ty 2.642.402.767 (41,8%). Sàn cả kỳ: Doanh thu thuần 2.098.633.294. Các số cập nhật lại mỗi sáng.

Cách dùng nhanh

  1. Mở everyhalf-ecom.pages.dev, nhập mật khẩu EH@Ecom2026.
  2. Chọn tab Sàn TMĐT hoặc Delivery ở góc trên.
  3. Chọn kỳ: Cả kỳ, từng tháng (T1–T6), hoặc tự chọn khoảng ngày.
  4. Bấm tên kênh trong bảng để xem chi tiết theo sản phẩm.
  5. Chi phí Booking/Ads: bấm “Nạp từ PDF nghiệm thu”, chọn file hợp đồng — hệ thống tự đọc tháng & số tiền (kể cả file scan).
  6. Nhân sự: nhập tay theo tháng.