กติกากลางของทั้งเชน
นิยามเลข
ก่อนจะเทียบสาขาได้ ต้องตกลงก่อนว่า "ยอดขาย" แปลว่าอะไร — เพราะ POS แต่ละยี่ห้อไม่ได้แปลเหมือนกัน
บันไดของเลข 4 ขั้น
จากราคาป้ายหน้าร้าน ไปจนถึงเลขที่บัญชีใช้กระทบยอด — ตัวเลขจริงของวานนี้ 16 ก.ค.
ขั้น 1
ยอดก่อนส่วนลด
ราคาป้าย ก่อนหักอะไรทั้งสิ้น
ขั้น 2
หักส่วนลด
โปรโมชั่น ส่วนลดพนักงาน คูปอง
รวม VAT = "เงินที่ลูกค้าจ่าย"
฿1,044,273
เลข headline ของเจ้าของ
หัก GP เดลิเวอรี่ ฿77,421
฿966,852
"เงินที่ร้านได้จริง" — เลขของบัญชี
เราเลือก เงินที่ลูกค้าจ่าย เป็นเลขพระเอก เพราะเป็นเลขเดียวที่ทั้ง 5 แหล่งผลิตได้เหมือนกัน — แม้แต่สาขาที่ยังใช้กระดาษ ส่วนเลขหลัง GP ไม่ได้หายไปไหน แยกไว้ให้บัญชีใช้กระทบยอด (ดู recon.html)
ตารางแปลงนิยาม — 8 แหล่งข้อมูล
นี่คือสูตรที่ระบบใช้แปลงทุกแหล่งให้กลายเป็นนิยามเดียวกันก่อนเทียบกัน
| แหล่ง | ฟิลด์ต้นทาง | รวม VAT? | หักส่วนลดแล้ว? | สูตรแปลง |
|---|---|---|---|---|
| FoodStory | grand_total | ใช่ | ใช่ | ใช้ตรง |
| Wongnai | net_amount | ไม่ | ใช่ | × 1.07 |
| Loyverse | total_money | ใช่ | ไม่ | − discount |
| StoreHub | total | ใช่ | ใช่ | − tips (รวม tips มาด้วย) |
| Google Sheet | คอลัมน์ "ยอดขาย" | ใช่ | ใช่ | ใช้ตรง + ตรวจ |
| Excel (พัทยา) | คอลัมน์ "ยอด" | ปนกัน | ปนกัน | ถือว่ารวม VAT + ตั้งธง |
| POS เก่า (ขอนแก่น) | AMT | ไม่ | ไม่ | × 1.07 − discount |
| เดลิเวอรี่ 4 เจ้า | ยอดในรายงาน | ใช่ | ใช่ | ตัดค่าส่งและค่าธรรมเนียมออก |
ถ้าไม่แปลง จะเกิดอะไร — เอาอโศกกับสีลมมาเทียบตรงๆ
สีลมใช้ FoodStory ซึ่งส่ง grand_total ที่รวม VAT มาแล้ว วานนี้ขายได้ ฿214,816 ส่วนอโศกใช้ Wongnai ซึ่งส่ง net_amount ที่ยังไม่รวม VAT — หลังแปลงถูกต้อง (×1.07) แล้วอโศกขายได้ ฿208,692 ใกล้เคียงสีลมมาก แปลว่าสองสาขาขายได้พอกัน
สีลม (FoodStory)
฿214,816
รวม VAT อยู่แล้ว ไม่ต้องแปลง
อโศก (Wongnai) หลังแปลง ×1.07
฿208,692
ตัวเลขจริงในระบบ — ใกล้เคียงสีลม
ถ้าไม่แปลง (เอา net_amount ดิบมาโชว์)
~฿195,039
คำนวณย้อนจากสูตร ×1.07 เพื่ออธิบายเท่านั้น ไม่ใช่ตัวเลขในระบบ
ถ้าเอาตัวเลขดิบของ Wongnai มาเทียบตรงๆ กับ FoodStory อโศกจะดูต่ำกว่าความจริงราว 7% ทั้งที่ขายได้พอกัน — ผลลัพธ์คือตัดสินใจผิด เช่น ไปตำหนิผู้จัดการสาขาที่ไม่ได้ทำอะไรผิดเลย
business day — ไม่ใช่เที่ยงคืนตามปฏิทิน
ร้านอาหารไม่ได้ปิดพร้อมกันตอนเที่ยงคืน บางสาขาขายยาวข้ามคืน — ถ้าตัดวันตามปฏิทิน ยอดช่วงตี 1 ตี 2 จะเด้งไปเป็นของวันถัดไป
22:00
เปิดขาย
00:00
เที่ยงคืนตามปฏิทิน
01:40
บิลสุดท้าย (ภูเก็ต)
นับเป็นยอดของ "เมื่อวาน" ไม่ใช่วันใหม่
ถ้าตัดวันที่ตามเที่ยงคืนปฏิทินตรงๆ ยอดช่วงตี 1 ตี 2 ของคืนวันพฤหัสจะไปนับเป็นของวันศุกร์ — ยอดวันศุกร์บวมขึ้นทั้งที่ยังไม่เปิดขายจริง และยอดวันพฤหัสหายไปเท่านั้น ทำให้เทียบยอดวันต่อวันเพี้ยนไปทั้งเดือน
| สาขา | เวลาปิดรอบ |
|---|---|
| ภูเก็ต ป่าตอง | ตี 2 |
| สีลม | 23:00 |
| สาขาอื่น (6 สาขา) | ตี 1 |
เวลาปิดรอบตั้งค่าได้รายสาขา เพราะแต่ละทำเลปิดไม่พร้อมกัน — สาขาย่านท่องเที่ยวอย่างภูเก็ตขายยาวถึงตี 2 ขณะที่สีลมปิดเร็วกว่าเพื่อน เพราะเป็นย่านออฟฟิศ