อัปโหลดรูปใบเสร็จ → AI แกะข้อมูลเป็น JSON → แสดงกราฟ Dashboard
- AI Receipt Parsing: ใช้ Gemini 1.5 Flash วิเคราะห์รูปใบเสร็จและดึงข้อมูลอัตโนมัติ
- Multi-language Support: รองรับใบเสร็จภาษาไทยและอังกฤษ
- Dashboard Analytics: กราฟแสดงสรุปค่าใช้จ่ายตามประเภทและช่วงเวลา
- Category Classification: AI จัดประเภทค่าใช้จ่ายอัตโนมัติ (Food, Transport, Shopping, etc.)
- Receipt History: ดูรายการใบเสร็จทั้งหมดพร้อมรายละเอียด
- Frontend: Next.js 15, React, TailwindCSS
- Charts: Recharts
- AI: Google Gemini 1.5 Flash (Vision)
- Database: Supabase (PostgreSQL)
- Icons: Lucide React
git clone https://github.com/Praciller/receipt-ai-expense-tracker.git
cd receipt-ai-expense-tracker
npm installCopy .env.example to .env.local and fill in your credentials:
cp .env.example .env.localRequired environment variables:
GEMINI_API_KEY- Get from Google AI StudioNEXT_PUBLIC_SUPABASE_URL- Your Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY- Your Supabase anon key
Run this SQL in your Supabase SQL Editor:
CREATE TABLE receipts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
shop_name TEXT,
date DATE,
items JSONB DEFAULT '[]'::jsonb,
total_amount DECIMAL(10, 2),
tax_id TEXT,
category TEXT,
image_base64 TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Enable Row Level Security (optional)
ALTER TABLE receipts ENABLE ROW LEVEL SECURITY;
-- Create policy to allow all operations (adjust for production)
CREATE POLICY "Allow all operations" ON receipts
FOR ALL USING (true);npm run devOpen http://localhost:3000 to see the app.
- Upload Receipt: ลากไฟล์รูปใบเสร็จมาวางหรือคลิกเพื่อเลือกไฟล์
- AI Processing: รอ AI วิเคราะห์และดึงข้อมูลจากใบเสร็จ
- View Dashboard: ดูสรุปค่าใช้จ่ายในแดชบอร์ด
- Manage Receipts: ดูรายละเอียดและลบใบเสร็จในหน้ารายการ
- ใบเสร็จ 7-Eleven, ร้านสะดวกซื้อ
- ใบเสร็จร้านอาหาร
- ใบกำกับภาษี
- ใบเสร็จซื้อของทั่วไป
MIT