การคุ้มครองการชำระเงินรายละเอียด
- การแก้ไขภายในแพ็กเกจไม่มีค่าใช้จ่าย
- หากคุณไม่ตอบกลับภายใน 3 วันหลังส่งมอบ งานจะถูกยอมรับโดยอัตโนมัติ
เงินจะถูกพักไว้เมื่อคุณชำระ และจะถูกโอนก็ต่อเมื่อคุณยอมรับงานแล้วเท่านั้น

ตัวอย่างผลงาน
รวมไฟล์ยอดขายรายเดือนของ 9 ร้านเป็นรายงาน Excel ไฟล์เดียว
วิธีรัน
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO โฟลเดอร์: sales/2026-10 พบ 9 ไฟล์
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 แถว
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 แถว
2026-11-02 09:14:04 WARN shop-07.csv: ข้าม 3 แถวที่ไม่มีราคา (บรรทัด 88, 412, 913)
2026-11-02 09:14:05 INFO เสร็จแล้ว: 10,412 แถว -> report-2026-10.xlsx (ชีต “ยอดขาย” และ “ยอดรวม”)
ตั้งค่าในไฟล์ ไม่ต้องแก้โค้ด
ชื่อคอลัมน์ของแต่ละสาขาอยู่ใน settings.ini ดังนั้นสาขาใหม่หรือคอลัมน์ที่เปลี่ยนชื่อก็แค่เพิ่มหนึ่งบรรทัดในไฟล์นั้น:
[columns]
date = วันที่, วันที่ขาย, วัน
product = สินค้า, รายการ, ชื่อสินค้า
quantity = จำนวน, ปริมาณ, ชิ้น
price = ราคา, ราคาต่อหน่วย
ตัวอย่างโค้ดบางส่วน
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""อ่านไฟล์ของสาขาหนึ่งและตั้งชื่อคอลัมน์ให้ตรงกับรายงาน"""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: ไม่พบคอลัมน์สำหรับ “{name}” (ค้นหาจาก {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
ไฟล์ที่ส่งมอบ: ไฟล์ ZIP ที่มี merge_sales.py (310 บรรทัด) settings.ini requirements.txt และ README อธิบายการติดตั้ง Python การรันสคริปต์ และความหมายของแต่ละข้อความในล็อก ลูกค้ารันสคริปต์บนคอมพิวเตอร์ของตัวเอง
ลูกค้า: ร้านเครื่องเขียนเครือเล็ก ๆ 9 สาขา แต่ละสาขาส่งยอดขายของเดือนมาเป็นไฟล์ CSV หรือ Excel โดยชื่อคอลัมน์ต่างกันเล็กน้อย งาน: สคริปต์ตัวเดียวที่อ่านทุกไฟล์ในโฟลเดอร์ ปรับคอลัมน์ให้เป็นรูปแบบเดียวกัน แล้วเขียนรายงาน Excel ไฟล์เดียวที่มียอดขายทั้งหมดและชีตสรุปยอดรวมแยกตามสาขา
ลูกค้าและข้อมูลทั้งหมดเป็นเรื่องสมมติ
เกี่ยวกับบริการนี้
Google ฟอร์มบอกคุณได้ว่ามีคำตอบใหม่เข้ามา แต่ไม่บอกว่าตอบว่าอะไร และไม่ส่งถึงเพื่อนร่วมงานที่ดูแลเมืองหรือบริการนั้น Google Apps Script นี้ทำงานทุกครั้งที่มีคนส่งฟอร์มของคุณ และส่งอีเมลที่จัดวางคำตอบไว้ชัดเจน คำถามเป็นตัวหนา คำตอบอยู่ข้างใต้ พร้อมลิงก์ไปยังชีตคำตอบ ตั้งแต่สแตนดาร์ดขึ้นไป เลือกผู้รับอีเมลตามคำตอบได้ เช่น ส่งคำขอจากเชียงใหม่ไปที่อยู่หนึ่ง และจากภูเก็ตไปอีกที่อยู่หนึ่ง พรีเมียมส่งอีเมลยืนยันถึงผู้กรอกฟอร์มได้หากฟอร์มถามอีเมลของเขา และส่งสรุปรายวันถึงคุณ อีเมลส่งจากบัญชี Google ของคุณเอง ภายในขีดจำกัดรายวันที่ Google กำหนด คุณติดตั้งในบัญชีของคุณเอง
สิ่งที่รวมอยู่ในบริการ
- สิ่งที่คุณจะได้รับไฟล์ ZIP ที่มีโค้ด Apps Script และ README ที่แสดงวิธีเพิ่มลงในฟอร์ม อนุญาตการเข้าถึง และตั้งทริกเกอร์ โค้ดยังแสดงบนหน้าคำสั่งซื้อด้วย
- คำตอบครบถ้วนทุกคำถามและคำตอบอยู่ในตัวอีเมล
- หัวเรื่องชัดเจนเช่น คำขอใหม่: ชื่อ บริการ
- ถึงคนที่ใช่ตั้งแต่สแตนดาร์ด เลือกที่อยู่ผู้รับตามคำตอบ
- จากบัญชีของคุณส่งจากบัญชี Google ของคุณ ภายในขีดจำกัดของ Google
- โค้ดที่อ่านง่ายมีคอมเมนต์ แก้อีเมลภายหลังได้ง่าย
วิธีการทำงาน
- 1งานคุณส่งคำถามในฟอร์มและบอกว่าใครควรได้อะไร
- 2โค้ดเราเขียนสคริปต์และคู่มือการติดตั้ง
- 3ทดลองใช้คุณเพิ่มลงในสำเนาของฟอร์มและส่งคำตอบทดสอบ
- 4การแก้ไขคุณขอแก้ไขได้ภายในแพ็กเกจและส่งข้อความแจ้งข้อผิดพลาดมาหากมี
สิ่งที่เราต้องการจากคุณ
คำถามในฟอร์มของคุณ (ภาพหน้าจอหรือรายการ) ที่อยู่อีเมลที่ควรได้รับการแจ้งเตือน และตั้งแต่สแตนดาร์ดขึ้นไป กฎว่าใครได้อะไร เช่น ตามเมืองหรือบริการ หัวเรื่องและข้อความที่ต้องการในอีเมล สำหรับอีเมลยืนยันถึงผู้กรอกฟอร์ม (พรีเมียม) ให้ระบุข้อความของอีเมลนั้นและคำถามที่ถามที่อยู่อีเมล ฟอร์มของคุณบันทึกคำตอบลง Google ชีตหรือไม่
เราจะถามคุณว่า:
- ฟอร์มนี้ใช้ทำอะไร
- ใครควรได้รับการแจ้งเตือน
- อีเมลควรมีหน้าตาแบบไหน
- ต้องส่งอะไรอีกไหม
เปรียบเทียบแพ็กเกจ
| แพ็กเกจ | เบสิกแจ้งเตือนหนึ่งแบบ฿544 | สแตนดาร์ดแจ้งเตือนพร้อมไฟล์ตั้งค่า฿1,122 | พรีเมียมเครื่องมือแจ้งเตือน฿2,278 |
|---|---|---|---|
| กำหนดส่ง | 1 วัน | 2 วัน | 3 วัน |
| การแก้ไข | 1 | 2 | 3 |
| โค้ด | ไม่เกิน 150 บรรทัด | ไม่เกิน 400 บรรทัด | ไม่เกิน 1,000 บรรทัด |
| ไฟล์โค้ด | 1 | ไม่เกิน 3 | ไม่เกิน 8 |
| ไฟล์ตั้งค่า | ไม่มี | มี | มี |
| ข้อความแจ้งข้อผิดพลาดที่ชัดเจนและล็อก | ไม่มี | มี | มี |
| ตัวเลือกการรันและคู่มือการตั้งเวลารัน | ไม่มี | ไม่มี | มี |
| คู่มือการติดตั้งและการรัน (README) | มี | มี | มี |
| ภาษา | Google Apps Script | Google Apps Script | Google Apps Script |
| สั่งซื้อ เบสิก | สั่งซื้อ สแตนดาร์ด | สั่งซื้อ พรีเมียม |
การคุ้มครองการชำระเงิน
คุณชำระเงินเมื่อสั่งซื้อ แต่เงินจะถูกโอนเฉพาะสำหรับงานที่ยอมรับแล้วเท่านั้น
- ราคาคงที่ราคาแพ็กเกจจะไม่เปลี่ยนแปลงหลังจากคุณชำระเงิน
- เงินถูกพักไว้เมื่อคุณชำระเงิน ยอดเงินจะถูกพักไว้เท่านั้น และจะถูกโอนออกเมื่อคุณยอมรับงานแล้ว
- ตรวจสอบก่อนส่งมอบผลงานทุกชิ้นผ่านการตรวจสอบคุณภาพก่อนถึงมือคุณ และคุณจะเห็นผลงานในหน้าคำสั่งซื้อก่อนยอมรับงาน
- แก้ไขฟรีขอแก้ไขภายในขอบเขตรายละเอียดงานของคุณได้ตามจำนวนครั้งที่แพ็กเกจกำหนด
- ยอมรับงานหลัง 3 วันหากภายใน 3 วันหลังส่งมอบ คุณไม่ได้ยอมรับงานหรือขอแก้ไข งานจะถูกยอมรับโดยอัตโนมัติ หากคุณเขียนข้อความในแชทคำสั่งซื้อหลังส่งมอบ คำสั่งซื้อจะรอไว้ก่อน เมื่อเราตอบกลับแล้ว เราอาจเริ่มนับ 3 วันใหม่ และจะแจ้งให้ทราบในแชท
- ทำใหม่หรือคืนเงินเต็มจำนวนหากผลงานไม่ตรงตามรายละเอียดงานและการแก้ไขยังไม่ช่วย หรืองานใช้เวลาเกินกำหนดส่งมากกว่าสองเท่า ให้เขียนแจ้งในแชทคำสั่งซื้อ เราจะทำงานใหม่หรือคืนเงินให้เต็มจำนวน
คำถามและคำตอบ
ส่งอีเมลยืนยันถึงผู้กรอกได้ไหม
ในพรีเมียมได้ หากฟอร์มของคุณถามที่อยู่อีเมลของเขา อีเมลส่งจากบัญชี Google ของคุณ จึงอ่านเหมือนอีเมลทั่วไปจากคุณ
ใช้ได้ไหมถ้าฟอร์มอยู่ในบัญชีของคนอื่น
ผู้แก้ไขฟอร์มต้องเป็นคนเพิ่มสคริปต์ และอีเมลจะส่งจากบัญชีของคนนั้น README แสดงขั้นตอนไว้
ส่ง SMS หรือข้อความแชตแทนได้ไหม
บริการนี้ส่งอีเมล การส่งข้อความไปยังบริการที่มี API สาธารณะ เช่น ช่อง Slack ผ่าน incoming webhook เพิ่มได้ภายในแพ็กเกจของคุณ หากคุณตั้งค่า webhook นั้นเอง
คุณจะเข้าถึงฟอร์มของฉันไหม
ไม่ คุณเพิ่มโค้ดเองและอนุญาตการเข้าถึงในบัญชีของคุณเอง เราต้องการแค่ภาพหน้าจอของคำถาม
ไม่พบคำตอบใช่ไหม