09 · 2026

จดรายรับรายจ่ายMoney Diary

จดรายรับรายจ่ายได้ในไม่กี่วินาที เห็นว่าเงินหมดไปกับอะไร ตั้งงบแต่ละหมวด และส่งออกเป็น CSV เปิดใน Excel ได้ — ไม่ต้องสมัครสมาชิกLog income and spending in seconds, see where the money goes, set category budgets and export to CSV for Excel — no sign-up.

tools/money.ts
// ใส่ BOM ให้ Excel อ่านภาษาไทยถูกreturn "\uFEFF" + [HEADER, ...rows].join("\r\n");// คาดการณ์ทั้งเดือนจากค่าเฉลี่ยต่อวันreturn (spent / day) * daysInMonth;
09TESTS5

ใช้ทำอะไร

  • จดเร็ว: พิมพ์จำนวนเงิน เลือกหมวด กด Enter — ช่องจำนวนเงินกลับมารอพิมพ์รายการถัดไปทันที
  • สรุปรายเดือน: รายรับ รายจ่าย คงเหลือ และกราฟว่าใช้ไปกับหมวดไหนมากสุด
  • คาดการณ์: "ถ้าใช้แบบนี้ต่อ ทั้งเดือนจะใช้ประมาณ …"
  • งบประมาณ: ตั้งงบรายหมวด เตือนเมื่อใช้ถึง 80% และเมื่อเกินงบ
  • ส่งออก / นำเข้า: CSV เปิดใน Excel ได้ภาษาไทยไม่เพี้ยน และไฟล์สำรองสำหรับย้ายเครื่อง
  • ลบผิดกด "เอาคืน" ได้

รายละเอียดทางเทคนิค

  • CSV เขียน parser เองรองรับ " และ , และการขึ้นบรรทัดใหม่ในโน้ต มี test ตรวจว่าส่งออกแล้วนำเข้ากลับได้ข้อมูลเดิมทุกตัว
  • บรรทัดที่ผิดรูปแบบจะถูกข้ามพร้อมบอกเลขบรรทัด
  • แถบงบประมาณใช้ role="progressbar" ให้ screen reader อ่านค่าได้

ความเป็นส่วนตัว

ข้อมูลการเงินอยู่ในเบราว์เซอร์เครื่องนั้นเท่านั้น ไม่มีการส่งออกไปที่ใด

What it does

  • Fast entry: type an amount, pick a category, press Enter — the amount field is ready for the next one
  • Monthly summary: income, spending, balance, and a breakdown by category
  • Projection: "at this pace you'll spend about …"
  • Budgets: per-category limits with warnings at 80% and when you go over
  • Export / import: CSV that opens in Excel with Thai text intact, plus a backup file for moving devices
  • Deleted by mistake? Press Undo

Technical details

  • Hand-written CSV parser that handles quotes, commas and line breaks in notes, with a round-trip test proving export → import returns identical data
  • Malformed lines are skipped and reported by line number
  • Budget bars use role="progressbar" so screen readers can read them

Privacy

Money data stays in that browser. Nothing is sent anywhere.