← กลับหน้าโปรเจคทั้งหมด
ระดับ: START+ยอดนิยมสำหรับร้านค้า
ระบบสแกนสลิปและใบเสร็จบันทึกบัญชีอัตโนมัติ (AI Vision OCR)
ส่งรูปถ่ายสลิปโอนเงินหรือใบเสร็จรับเงินเข้า Telegram ให้ AI อ่านยอดเงิน ร้านค้า วันที่ และลงตาราง Google Sheets แยกรายรับ-รายจ่ายให้ทันที
Node.jsTelegram Bot APIGoogle Gemini 1.5 FlashGoogle Sheets API
📋 ภาพรวม
เปลี่ยนกองสลิปและใบเสร็จให้กลายเป็นตารางบัญชีรายรับ-รายจ่ายพร้อมใช้งาน เพียงถ่ายรูปส่งเข้าแชท Telegram ระบบจะดึงภาพมาประมวลผลด้วย Gemini 1.5 Flash Vision สกัดข้อมูลเป็น JSON ที่แม่นยำ แล้วบันทึกลง Google Sheets ทันที ไม่ต้องเสียเวลากรอกมือ
⚙️ ทำงานอย่างไร
- แอดมินหรือลูกค้าส่งรูปภาพสลิป/ใบเสร็จเข้า Telegram Bot
- ระบบดึงไฟล์รูปภาพจาก Telegram Server มาแปลงเป็น Base64 Buffer
- ส่งรูปไปให้ Gemini 1.5 Flash วิเคราะห์ข้อมูล พร้อมระบุ JSON Schema บังคับ
- AI คืนค่า: วันที่, ชื่อร้านค้า/ผู้รับ, ยอดรวมสุทธิ, รายการสินค้า และหมวดหมู่
- ระบบเรียก Google Sheets API เพื่อแทรกแถวใหม่ใน Sheet ที่เกี่ยวข้อง
- ตอบกลับผู้ใช้ใน Telegram: "✅ บันทึกยอด ฿500 เรียบร้อย"
🔧 วิธีติดตั้ง
## ขั้นตอนที่ 1: เตรียม Google Cloud Service Account
1. เข้า [Google Cloud Console](https://console.cloud.google.com/)
2. สร้าง Service Account และกดสร้าง Key แบบ **JSON**
3. เปิดใช้งาน **Google Sheets API** และ **Google Drive API**
4. สร้าง Google Spreadsheet ใหม่ และกด **Share** สิทธิ์ Editor ให้กับอีเมล Service Account
## ขั้นตอนที่ 2: ติดตั้ง Dependencies
```bash
npm install googleapis @google/genai dotenv
```
💻 ซอร์สโค้ดโปรเจกต์ (Production Code)
🔒
ซอร์สโค้ดสงวนสิทธิ์เฉพาะสมาชิก START ขึ้นไป
กรุณาสมัครสมาชิกและเลือกแพ็กเกจ เพื่อปลดล็อกโค้ดเต็ม 100% พร้อมคู่มือภาษาไทย
📜 โค้ดทุกชิ้นเป็น Licensed Source Code — เมื่อปลดล็อกแล้วโค้ดจะฝังใบอนุญาตผูกกับบัญชีของคุณ ใช้ได้เฉพาะธุรกิจของตนเอง ห้ามนำไปแจกจ่ายหรือขายต่อ (ผิดเงื่อนไข = ระงับสิทธิ์ทันที)
import { GoogleSpreadsheet } from "google-spreadsheet";
import { JWT } from "google-auth-library";
const GEMINI_API_KEY = process.env.GEMINI_API_KEY || "";
const SPREADSHEET_ID = process.env.GOOGLE_SPREADSHEET_ID || "";
const SERVICE_ACCOUNT_EMAIL = process.env.GOOGLE_SERVICE_ACCOUNT_EMAIL || "";
const PRIVATE_KEY = (process.env.GOOGLE_PRIVATE_KEY || "").replace(/\\n/g, "\n");
interface ReceiptD⚙️ ค่าที่ต้องตั้ง (Environment)
## การตั้งค่า Google Credentials
| ตัวแปร | รายละเอียด |
| :--- | :--- |
| `GOOGLE_SPREADSHEET_ID` | ไอดีจาก URL Google Sheet (ส่วนระหว่าง `/d/` ถึง `/edit`) |
| `GOOGLE_SERVICE_ACCOUNT_EMAIL` | อีเมลของ Service Account จาก Google Cloud Console |
| `GOOGLE_PRIVATE_KEY` | Private Key จากไฟล์ JSON ของ Service Account |
| `GEMINI_API_KEY` | Google AI Studio Key |
🚀 วิธีใช้งาน
## ตัวอย่างผลลัพธ์ใน Google Sheets
เมื่อคุณส่งภาพสลิปโอนเงิน 7-Eleven หรือสลิปธนาคารกสิกรไทย ตารางจะถูกกรอกโดยอัตโนมัติ:
- **วันที่**: 2026-09-11
- **รายการ/ร้านค้า**: CP ALL (7-Eleven)
- **รายละเอียด**: แซนวิชแฮมชีส + กาแฟ All Cafe
- **ยอดเงิน**: 85.00
- **ช่องทางชำระ**: TrueMoney / PromptPay
ต้องการนำโค้ดโปรเจกต์นี้ไปต่อยอดธุรกิจ?
สมัครสมาชิก START ขึ้นไป เพื่อเข้าถึงโค้ดและเทมเพลตทั้งหมดแบบไม่จำกัด
ดูตารางราคาสมาชิก