วิธีสร้างแอปงบประมาณ: หมวดหมู่ รายการธุรกรรม การนำเข้า และรายงาน
แอปงบประมาณบอกคุณว่าวางแผนจะใช้จ่ายในแต่ละหมวดเท่าไร ใช้จ่ายจริงไปเท่าไร และเหลืออยู่เท่าไร ในการสร้างแอปนี้ คุณต้องมีบัญชี หมวดหมู่ งบประมาณรายเดือนของแต่ละหมวด รายการธุรกรรม และรายงานง่าย ๆ ไม่กี่รายการ การตัดสินใจสองอย่างที่กำหนดทุกอย่างคือวิธีจัดงบ และวิธีที่ธุรกรรมเข้ามาในแอป ไม่ว่าจะพิมพ์เอง นำเข้าจากไฟล์ CSV ของธนาคาร หรือดึงผ่านการเชื่อมต่อธนาคาร เริ่มจากการนำเข้า CSV เพราะให้คุณค่าส่วนใหญ่ด้วยงานและความเสี่ยงที่น้อยกว่ามาก
คู่มือนี้พูดถึงซอฟต์แวร์ และไม่ใช่คำแนะนำทางการเงิน
เลือกวิธีจัดงบก่อน
วิธีที่คุณเลือกกำหนดหน้าจอและการคำนวณ ดังนั้นควรเลือกก่อนเขียนพรอมต์
| วิธี | การทำงาน | แอปแสดงอะไร |
|---|---|---|
| กำหนดวงเงินต่อหมวด | ตั้งวงเงินรายเดือนต่อหมวด | ใช้ไปเทียบกับวงเงินของแต่ละหมวด พร้อมแถบความคืบหน้า |
| ศูนย์ฐาน (Zero-based) | ให้ทุกหน่วยของรายได้มีหน้าที่จนไม่เหลือเงินที่ยังไม่ได้จัดสรร | ยอด "รอจัดสรร" การย้ายเงินระหว่างหมวด |
| แบ่งแนว 50/30/20 | แบ่งรายได้เป็นเปอร์เซ็นต์สำหรับความจำเป็น สิ่งที่อยากได้ และเงินออม | สามกลุ่มและความคืบหน้าของแต่ละกลุ่ม |
| ซองเงิน (Envelopes) | จำนวนคงที่ต่อหมวด เงินที่ไม่ได้ใช้จะยกยอดไปเดือนถัดไป | ยอดคงเหลือของซองที่ยกไปเดือนต่อเดือน |
การกำหนดวงเงินต่อหมวดเป็นวิธีที่สร้างและเข้าใจง่ายที่สุด ส่วนศูนย์ฐานและซองเงินต้องมีตรรกะการยกยอด คือจะเกิดอะไรกับเงินที่เหลือในหมวดเมื่อสิ้นเดือน และจะเกิดอะไรเมื่อหมวดใช้เกินงบ
แอปงบประมาณต้องมีอะไรบ้าง
หน้าต่าง ๆ
- เดือนนี้ แต่ละหมวดพร้อมยอดที่จัดไว้ ใช้ไป และคงเหลือ รวมรายได้และยอดใช้จ่ายทั้งหมด
- ธุรกรรม รายการที่มีวันที่ ผู้รับเงิน จำนวน หมวดหมู่ และบัญชี พร้อมตัวกรองและการค้นหา และการเปลี่ยนหมวดอย่างรวดเร็ว
- นำเข้า อัปโหลด CSV จับคู่คอลัมน์ ดูตัวอย่าง แล้วยืนยัน
- ตั้งค่างบประมาณ หมวดหมู่ กลุ่ม (เช่น ที่อยู่อาศัย อาหาร การเดินทาง) และจำนวนต่อเดือน
- บัญชี บัญชีเงินฝากกระแสรายวัน เงินออม บัตรเครดิต เงินสด พร้อมยอดคงเหลือ
- รายงาน การใช้จ่ายตามหมวดเมื่อเวลาผ่านไป รายได้เทียบกับการใช้จ่าย การเปรียบเทียบเดือนต่อเดือน ดู วิธีสร้างแดชบอร์ด สำหรับการเลือกแผนภูมิ
ข้อมูล
- บัญชี ชื่อ ประเภท สกุลเงิน ยอดยกมา
- หมวดหมู่ ชื่อ กลุ่ม ลำดับการเรียง เก็บถาวรหรือไม่
- งบประมาณ หมวดหมู่ เดือน จำนวนเงิน
- ธุรกรรม บัญชี วันที่ ผู้รับเงิน จำนวน หมวดหมู่ หมายเหตุ รหัสการนำเข้า สถานะที่กระทบยอดแล้ว
- กฎ เช่น "ผู้รับเงินมีคำว่า TESCO → ซื้อของชำ" ใช้ตอนนำเข้า
- การโอน คู่ธุรกรรมที่เชื่อมกันระหว่างสองบัญชีของคุณเอง เพื่อไม่ให้การโอนเงินเข้าเงินออมถูกนับเป็นการใช้จ่าย
สิทธิ์การเข้าถึง
งบประมาณส่วนตัวมีเจ้าของคนเดียว งบประมาณของครัวเรือนต้องมี ครัวเรือน ที่ใช้ร่วมกันเป็นเจ้าของข้อมูล โดยแต่ละคนเข้าสู่ระบบแยกกัน ไม่ว่าแบบไหน ต้องไม่มีใครนอกครัวเรือนเห็นแถวข้อมูลใด ๆ ได้เลย ทดสอบโดยเข้าสู่ระบบด้วยผู้ใช้คนที่สองที่ไม่เกี่ยวข้อง
การจัดการเงินให้ถูกต้อง
แอปการเงินมักล้มเหลวในรูปแบบเล็ก ๆ ที่น่าอาย ใส่กฎเหล่านี้ในพรอมต์ของคุณ:
- เก็บจำนวนเงินเป็นจำนวนเต็มของหน่วยที่เล็กที่สุด (เซนต์ เพนนี) พร้อมรหัสสกุลเงิน ตัวเลขทศนิยมแบบ floating-point ทำให้ได้ยอดรวมอย่าง 0.30000000000000004
- เครื่องหมายต้องสม่ำเสมอ การใช้จ่ายเป็นลบ รายได้เป็นบวก หรือใช้ฟิลด์ทิศทางแยก แต่ห้ามใช้ทั้งสองแบบ
- การโอนไม่ใช่การใช้จ่าย เชื่อมทั้งสองฝั่งของการโอน และไม่นับในยอดรวมของหมวด
- การคืนเงินลดยอดใช้จ่าย ในหมวดเดิมที่จ่ายไป ไม่ใช่นับเป็นรายได้
- เดือนต้องอิงเขตเวลาของผู้ใช้ เพื่อให้ธุรกรรมเวลา 23:00 ของวันที่ 31 ไม่ไปตกเดือนถัดไป
- หนึ่งสกุลเงินต่องบประมาณ สำหรับเวอร์ชันแรก การรองรับหลายสกุลเงินต้องมีอัตราแลกเปลี่ยนและการตัดสินใจว่าจะใช้อัตราใด
การนำธุรกรรมเข้ามาในแอป
| วิธี | ความพยายามในการสร้าง | หมายเหตุ |
|---|---|---|
| กรอกเอง | ต่ำ | เหมาะกับเงินสด แต่น่าเบื่อสำหรับทุกอย่างอื่น |
| นำเข้า CSV | ต่ำถึงปานกลาง | ธนาคารส่วนใหญ่ให้ดาวน์โหลดรายการได้ แต่คอลัมน์ของแต่ละธนาคารต่างกัน จึงให้ผู้ใช้จับคู่คอลัมน์และบันทึกการจับคู่ไว้ |
| เชื่อมบัญชีธนาคาร | สูง | ใช้ผู้รวบรวมข้อมูลเช่น Plaid หรือ open banking API ต้องมีบัญชีนักพัฒนา การอนุมัติ ค่าใช้จ่ายต่อเนื่อง และหน้าที่ด้านความปลอดภัยที่หนัก |
เมื่อนำเข้า CSV ให้ป้องกันรายการซ้ำ โดยเก็บรหัสการนำเข้าหรือลายนิ้วมือของวันที่ จำนวน และคำอธิบาย แล้วข้ามแถวที่เคยเห็นแล้ว ใช้กฎการจัดหมวดหมู่ตอนนำเข้า เพื่อให้ส่วนใหญ่มาถึงพร้อมหมวดแล้ว
หากคุณเพิ่มการเชื่อมต่อธนาคารในภายหลัง คีย์ API ของผู้ให้บริการต้องอยู่บนเซิร์ฟเวอร์ และไม่ควรขอรหัสผ่านธนาคารจากผู้ใช้เลย ดู วิธีเก็บคีย์ API ให้ปลอดภัย
พรอมต์ตัวอย่างแรก
สร้างเว็บแอปงบประมาณของครัวเรือนสำหรับสองคน เราใช้วิธีกำหนดวงเงินต่อหมวด หมวดหมู่จัดเป็นกลุ่ม (ที่อยู่อาศัย อาหาร การเดินทาง ความบันเทิง เงินออม) แต่ละหมวดมีจำนวนงบประมาณต่อเดือน หน้าแรกแสดงเดือนนี้: งบที่จัดไว้ ใช้ไป และคงเหลือของแต่ละหมวดพร้อมแถบความคืบหน้า รวมทั้งรายได้ทั้งหมดและยอดใช้จ่ายทั้งหมด เรามีหลายบัญชี (บัญชีกระแสรายวัน เงินออม บัตรเครดิต) ธุรกรรมมีวันที่ ผู้รับเงิน จำนวน บัญชี หมวดหมู่ และหมายเหตุ เก็บจำนวนเงินเป็นเซนต์จำนวนเต็มพร้อมรหัสสกุลเงิน การโอนระหว่างบัญชีของเราเป็นคู่ที่เชื่อมกันและไม่นับเป็นการใช้จ่าย การคืนเงินลดยอดใช้จ่ายในหมวดของมัน เพิ่มการนำเข้า CSV: อัปโหลด จับคู่คอลัมน์หนึ่งครั้งต่อธนาคารและจดจำการจับคู่นั้น แสดงตัวอย่าง ข้ามรายการซ้ำ และใช้กฎผู้รับเงิน เช่น "มีคำว่า TESCO → ซื้อของชำ" รายงาน: การใช้จ่ายตามหมวดรายเดือน และรายได้เทียบกับการใช้จ่ายย้อนหลัง 12 เดือน เราเข้าสู่ระบบด้วยอีเมลและรหัสผ่านทั้งคู่และใช้ครัวเรือนเดียวกัน ไม่มีใครอื่นเห็นข้อมูลของเราได้ ใช้ฐานข้อมูลและรองรับมือถือ
ขั้นตอนการสร้าง
- หมวดหมู่และหน้าเดือนนี้พร้อมข้อมูลตัวอย่าง ตรวจการคำนวณด้วยมือบนชุดข้อมูลเล็ก ๆ
- รายการธุรกรรมและการจัดหมวดอย่างรวดเร็ว ทำให้การเปลี่ยนหมวดเป็นการแตะเพียงครั้งเดียว
- นำเข้า CSV ลองใช้ไฟล์ส่งออกจริงจากธนาคารของคุณ นำเข้าไฟล์เดียวกันสองครั้งแล้วยืนยันว่าไม่มีรายการซ้ำ
- กฎ เพิ่มผู้รับเงินสิบรายที่ครอบคลุมการใช้จ่ายส่วนใหญ่ของคุณ
- การโอนและการคืนเงิน ทดสอบทั้งสองอย่างและตรวจยอดรวมของหมวด
- การเข้าสู่ระบบและครัวเรือน ดู วิธีเพิ่มการเข้าสู่ระบบในแอปของคุณ
- รายงาน เมื่อมีข้อมูลหลายเดือนแล้ว
- ตรวจความปลอดภัย ทำตาม รายการตรวจสอบความปลอดภัยสำหรับแอปที่สร้างด้วย AI ก่อนไว้วางใจให้เก็บข้อมูลจริง
ข้อผิดพลาดที่พบบ่อย
- เงินแบบ floating-point ใช้เซนต์จำนวนเต็มแทน
- นับการโอนเป็นการใช้จ่าย การฝากเงินออมจะดูเหมือนใช้เกินงบ
- นำเข้าซ้ำ ทุกครั้งที่นำเข้าซ้ำจะทำให้ยอดใช้จ่ายเพิ่มเป็นสองเท่า หากไม่มีการตรวจรายการซ้ำ
- เริ่มด้วยการเชื่อมบัญชีธนาคาร ใช้งานมากและมีความเสี่ยงก่อนที่คุณจะรู้ว่าแอปมีประโยชน์
- เก็บรหัสผ่านธนาคารหรือหมายเลขบัตร ห้ามทำเด็ดขาด
- ไม่มีการส่งออก คนต้องการข้อมูลของตัวเองในสเปรดชีต ให้เพิ่มการส่งออก CSV
- หมวดหมู่มากเกินไป ยี่สิบหมวดก็เพียงพอ สามร้อยหมวดคือสเปรดชีต
เมื่อแอปงบประมาณสำเร็จรูปเป็นทางเลือกที่ดีกว่า
แอปจัดการงบประมาณที่มีชื่อเสียงมีการเชื่อมบัญชีธนาคารที่ปลอดภัยกับสถาบันหลายแห่ง มีแอปมือถือ และผ่านกรณีพิเศษมาหลายปี หากการซิงก์บัญชีธนาคารอัตโนมัติเป็นสิ่งที่คุณให้ความสำคัญที่สุด หนึ่งในนั้นคือตัวเลือกที่ใช้งานได้จริง
สร้างเองเมื่อวิธีของคุณไม่เข้ากับโมเดลของพวกเขา เมื่อคุณไม่ต้องการให้บริษัทอื่นเก็บข้อมูลการเงินของคุณ เมื่อการนำเข้า CSV สักสองสามครั้งต่อเดือนก็เพียงพอ หรือเมื่อคุณกำลังสร้างเครื่องมือการเงินสำหรับกลุ่มเฉพาะ เช่น เหรัญญิกของชมรม องค์กรการกุศลขนาดเล็ก หรือโปรแกรมโค้ชชิ่ง หากงบประมาณของคุณอยู่ในสเปรดชีตอยู่ตอนนี้ วิธีเปลี่ยนสเปรดชีตเป็นแอป อธิบายการย้ายนี้ และหากต้องการติดตามค่าใช้จ่ายของธุรกิจหรือทีมแทนงบประมาณของครัวเรือน ดู วิธีสร้างตัวติดตามค่าใช้จ่าย
การสร้างด้วย Mythex
Mythex สร้างแอปงบประมาณนี้จากพรอมต์ด้านบนได้ คุณอธิบายในแชต ตรวจในหน้าตัวอย่างสด แล้วเผยแพร่ และจะเพิ่มฐานข้อมูล Postgres เฉพาะเมื่อแอปต้องการ การเข้าสู่ระบบเป็นแบบนำระบบของคุณเอง และผู้ให้บริการข้อมูลธนาคารก็เช่นกัน คุณจะเก็บคีย์ของเขาเป็น ความลับของโปรเจกต์ และเอเจนต์จะเชื่อมต่อให้บนเซิร์ฟเวอร์ Mythex ไม่มีการเชื่อมต่อธนาคารในตัว หากต้องการจุดเริ่มต้น เทมเพลตแดชบอร์ดงบประมาณ สร้างรอบการนำเข้า CSV และรายงานความแปรปรวน
คำถาม
ฉันสร้างแอปงบประมาณของตัวเองได้ไหม
ได้ แอปงบประมาณส่วนใหญ่คือหมวดหมู่ จำนวนงบประมาณต่อเดือน และรายการธุรกรรม พร้อมรายงานที่อยู่ด้านบน เครื่องมือสร้างแอปด้วย AI สร้างได้จากคำอธิบาย การตัดสินใจหลักคือวิธีจัดงบของคุณ และวิธีที่ธุรกรรมเข้ามาอยู่ในแอป
แอปงบประมาณเชื่อมกับบัญชีธนาคารได้อย่างไร
โดยทั่วไปผ่านผู้รวบรวมข้อมูลธนาคาร เช่น Plaid หรือผ่าน open banking API ในที่ที่มี วิธีเหล่านี้ต้องมีบัญชีนักพัฒนา บางกรณีต้องได้รับการอนุมัติ และต้องดูแลความปลอดภัยอย่างรอบคอบ การนำเข้าไฟล์ CSV ที่ดาวน์โหลดจากธนาคารง่ายกว่ามาก และเป็นเวอร์ชันแรกที่ดี
แอปงบประมาณควรเก็บจำนวนเงินอย่างไร
เก็บจำนวนเงินเป็นจำนวนเต็มของหน่วยที่เล็กที่สุด เช่น เซนต์ พร้อมรหัสสกุลเงิน แทนที่จะเก็บเป็นตัวเลขทศนิยมแบบ floating-point วิธีนี้ช่วยป้องกันข้อผิดพลาดจากการปัดเศษเมื่อรวมธุรกรรมจำนวนมาก
ปลอดภัยไหมที่จะใส่ข้อมูลการเงินของฉันในแอปที่ฉันสร้างเอง
ปลอดภัยได้ หากแอปบังคับให้เข้าสู่ระบบ แยกข้อมูลของแต่ละคนออกจากกัน เก็บความลับไว้บนเซิร์ฟเวอร์ และทำงานผ่าน HTTPS หลีกเลี่ยงการเก็บรหัสผ่านธนาคารหรือหมายเลขบัตรเต็มทุกกรณี ตรวจสอบแอปด้วยรายการตรวจสอบความปลอดภัยก่อนเพิ่มข้อมูลของคนอื่นเข้าไป