Plain Text Accounting (PTA) การทำบัญชีด้วยไฟล์ข้อความล้วน
(plaintextaccounting.org)- Plain Text Accounting (PTA) คือแนวทางการบันทึกข้อมูลบัญชีไว้ในไฟล์ข้อความล้วน แล้วประมวลผลด้วยเครื่องมือที่เป็นมิตรกับบรรทัดคำสั่ง เช่น Ledger, hledger และ Beancount โดยเว็บไซต์นี้เป็นพอร์ทัลที่รวบรวมทรัพยากรที่เกี่ยวข้องไว้ในที่เดียว
- กิจกรรมของชุมชนกระจายอยู่ใน Matrix/IRC, ฟอรัม, Reddit, Lemmy, Hacker News, Mastodon, X, Bluesky เป็นต้น ทำให้สามารถติดตามคำถาม ข่าวสาร และบทสนทนาแยกตามโปรเจกต์ได้หลายช่องทาง
- ทรัพยากรการเรียนรู้ถูกจัดเป็นการเปรียบเทียบแอป เอกสารทางการ พื้นฐานบัญชี คู่มือเริ่มต้น ชีตสรุป คุกบุ๊ก FAQ สไลด์ และวิดีโอ ทำให้ผู้ที่เริ่มใช้ PTA ครั้งแรกเข้าถึงได้เป็นลำดับขั้น
- อีโคซิสเต็มของแอปมีศูนย์กลางอยู่ที่ Ledger, Beancount และ hledger พร้อมมี implementation หลายตัวและตารางเมทริกซ์ฟีเจอร์ โดยเครื่องมือหลัก 3 ตัวนี้พัฒนาด้วย C++/Python/Haskell ตามลำดับ และมีประวัติการออกรุ่นในปี 2025~2026
- มีการเชื่อมต่อไปถึงการนำเข้า·แปลงข้อมูล ปลั๊กอินเอดิเตอร์ ใบแจ้งหนี้ การดึงราคา รายงาน การบันทึกเวลา UI เวิร์กโฟลว์ และไลบรารี ทำให้สามารถนำ ข้อมูลบัญชีแบบข้อความล้วนไปผูกกับสภาพแวดล้อมการทำงานที่หลากหลาย ได้
แนวคิดของ PTA และบทบาทของ plaintextaccounting.org
- Plain Text Accounting คือแนวทางการทำบัญชีและการลงบัญชีด้วยไฟล์ข้อความล้วนและซอฟต์แวร์ที่มีประสิทธิภาพและเป็นมิตรกับบรรทัดคำสั่ง เช่น Ledger, hledger และ Beancount
- plaintextaccounting.org ทำหน้าที่เป็นพอร์ทัลไปยัง เครื่องมือ เอกสาร และแนวปฏิบัติ ของชุมชน PTA
- สามารถรับอัปเดตของ repository ของเว็บไซต์ได้ และยังมีรายงานการเงินกับข้อมูลการสนับสนุนให้ด้วย
ชุมชนและช่องทางสนทนา
- การสนทนาแบบเรียลไทม์เชื่อมต่อผ่าน
#plaintextaccountingบน Matrix, plaintextaccounting Matrix space และช่อง IRC#plaintextaccountingบน Libera Chat - การพูดคุยและข่าวสารกระจายอยู่ในช่องสาธารณะหลายแห่ง
- PTA forum
- /r/plaintextaccounting
- lemmy.world/c/plaintextaccounting
- การค้นหา stories/comments ที่เกี่ยวข้องกับ plain text accounting บน Hacker News
#plaintextaccounting,#ledgercli,#hledger,#beancountบน Mastodon- การค้นหาและแฮชแท็กบน Twitter/X, Bluesky
- บน Stack Exchange มีแท็ก
ledger-cliและhledgerพร้อมลิงก์ค้นหาให้ - ยังเชื่อมต่อกับ mailing list และแชตแยกตามโปรเจกต์ รวมถึง
This Week In Hledgerด้วย
เอกสารและทรัพยากรการเรียนรู้
- ทรัพยากร เปรียบเทียบแอป มีรายการแอป PTA, เมทริกซ์ฟีเจอร์, FAQ “ควรเลือกแอป PTA ตัวใด” และ Syntax Quick Reference
- เอกสารทางการของแอปเชื่อมไปยัง Ledger, hledger, Beancount, rustledger, Ledger(Go), Tackler และเอกสาร pta
- ทรัพยากร พื้นฐานบัญชี มี PTA FAQ, Accounting basics/links ของ hledger, Double-Entry Counting Method ของ Beancount, “Accounting for Computer Scientists” เป็นต้น
- เนื้อหาเริ่มต้นถูกแบ่งตามจุดเริ่มต้น
- ชีตสรุป คุกบุ๊ก FAQ สไลด์ และวิดีโอ ก็ถูกจัดไว้เป็นหมวดแยกต่างหาก โดยในหมวดวิดีโอมีบันทึกว่าการค้นหาวิดีโอ PTA บน YouTube ทำได้ยาก
แอป PTA หลักและการเปรียบเทียบฟีเจอร์
- เมื่อเริ่มใช้ PTA สามารถลองแอปอย่างน้อยหนึ่งตัวจากรายการในเว็บไซต์ได้ และโดยทั่วไปสามารถ ย้ายข้อมูล ระหว่างแอปได้
- รายการแอปหลักในปัจจุบันรวบรวมหลายโปรเจกต์ไว้ด้วยกัน
- Ledger: C++, เริ่มปี 2003, รุ่นล่าสุดปี 2025, committer ประมาณ 245 คน, stars ประมาณ 5.9k
- Beancount: Python, เริ่มปี 2008, รุ่นล่าสุดปี 2026, committer ประมาณ 103 คน, stars ประมาณ 5.5k
- hledger: Haskell, เริ่มปี 2007, รุ่นล่าสุดปี 2026, committer ประมาณ 194 คน, stars ประมาณ 4.4k
- Transity, Ledger(Go), Abandon, zhang, Tackler, rustledger, knut, acc, ledg ฯลฯ ก็รวมอยู่ในรายการปัจจุบันด้วย
- โปรเจกต์เก่าหรือไม่ active ถูกจัดแยกไว้ เช่น placc, budget-cli, mynt, awk-pta, pta, blossom, .Net Ledger, monescript, Penny, UMM, cl-ledger เป็นต้น
- เมทริกซ์ฟีเจอร์ ของ Ledger, hledger และ Beancount อัปเดตล่าสุด ณ 2024-09 และเปรียบเทียบเรื่องอินเทอร์เฟซผู้ใช้ การติดตั้ง วิธีใช้ รูปแบบอินพุต/เอาต์พุต คำสั่ง การตั้งค่า ความสามารถในการขยาย ชื่อบัญชี งบประมาณ กราฟ การดึงราคา คิวรี การตรวจสอบความถูกต้อง เป็นต้น
- ความแตกต่างหลักเน้นรายการที่ส่งผลโดยตรงต่อการเลือกเครื่องมือ
- CLI เชื่อมกับ
ledgerของ Ledger,hledgerของ hledger และbeanqueryของ Beancount - การติดตั้งและตั้งค่าที่ง่ายแสดงเป็น
yesสำหรับ Ledger/hledger และnoสำหรับ Beancount - hledger รองรับรูปแบบเอาต์พุต text/html/csv/tsv/fods/beancount/sql/json
- การตรวจสอบความถูกต้องของ Beancount แสดงว่าเข้มงวดเสมอ ส่วน Ledger และ hledger แสดงว่าสามารถตั้งค่าได้
- CLI เชื่อมกับ
อีโคซิสเต็มซอฟต์แวร์
- หมวด AI มี
accountant24ซึ่งเป็นเอเจนต์ AI แบบ local-first หลายโมเดลที่ใช้ hledger และบทความการตั้งค่าที่ใช้ Claude Code เป็น agent layer ร่วมกับ hledger และ Obsidian vault - การแจกจ่าย·การตั้งค่าทางเลือกมี Full-fledged hledger, hledger-flow, Lazy Beancount, hledger-youtube-business, rtrLEDGER, docker-finance
- การแปลง·นำเข้าข้อมูล มีสัดส่วนมาก โดยนอกจากการแปลง CSV ในตัวของ Ledger และ hledger แล้ว ยังมีเครื่องมือนำเข้าของ Beancount v2,
banks2ledger,beancount-import,beancount2ledger,hledger2beancount,ledger2beancount,plaid2textเป็นต้น- เครื่องมือสำหรับย้ายจาก GnuCash, Intuit/QuickBooks/QIF, KMyMoney, YNAB ไปยัง *ledger หรือ Beancount ก็ถูกจัดไว้เป็นหมวดย่อยแยกต่างหาก
- เครื่องมือสร้างข้อมูลใช้สำหรับงานสร้าง price transactions, ค่าเสื่อมราคา, ดอกเบี้ย, รายการซ้ำ และ postings ของกำไรขาดทุนจากทุน เป็นต้น
- ปลั๊กอินเอดิเตอร์แบ่งตาม Emacs, JetBrains IDE, Nano, Sublime, TextMate, Vim และ VS Code
- ตัวอย่าง:
ledger-mode,beancount-mode,hledger-mode,vim-ledger,vim-beancount,hledger-vscode,vscode-beancount
- ตัวอย่าง:
- เครื่องมือจัดรูปแบบมี
beancount-black,beancount-black web app,hledger-fmt - เครื่องมือใบแจ้งหนี้แนะนำ
kairosซึ่งเป็นเครื่องมือภาษา Go ที่สร้างใบแจ้งหนี้จากไฟล์ hledger timedot
UI, การรายงาน, เวิร์กโฟลว์, ไลบรารี
- เครื่องมือ ดึงราคา มี
bean-priceของ Beancount,hledger-stockquotes,ledger-get-prices,pricehistและเครื่องมือดึงราคาหุ้น·อัตราแลกเปลี่ยนบนฐาน Yahoo Finance เป็นต้น - เครื่องมือรายงานขยายไปสู่เรื่องงบประมาณ การวิเคราะห์สินทรัพย์ รายงานส่วนต่าง อัตราผลตอบแทนภายใน กราฟ Sankey เอาต์พุต PDF การคำนวณกำไรจากทุน เป็นต้น
- เครื่องมือบันทึกเวลามี org, Taskwarrior hook, Toggl CSV, การแปลง timeclock และตัวอย่างการบันทึกเวลาบนฐาน hledger
- Terminal UI เช่น
hledger add,hledger-ui,hledger-iadd,bean-add,ledger xact,puffin,regdelรองรับการป้อน·ค้นหา·แก้ไขธุรกรรม - GUI, เว็บ และ UI บนมือถือก็เชื่อมไปยังเครื่องมือแยกต่างหาก
- เว็บ: fava, hledger-web, Paisa, BeanHub
- มือถือ: Beancount Mobile CE, beancount-mobile, NanoLedger, cashier, cone, MoLe
- GUI: fruit-credits, Ledgera, Prudent, Surebeans เป็นต้น
- หมวดเวิร์กโฟลว์ครอบคลุมการสร้าง journal ของ hledger จาก CSV หรือการตั้งค่าบนฐาน Docker เพื่อติดตาม·รายงานการเงินแบบดั้งเดิมและคริปโตเคอร์เรนซี
- หมวดไลบรารีรวบรวมคอมโพเนนต์สำหรับนักพัฒนาเพื่อ parse·query·report·integrate ไฟล์ PTA เช่น Beancount parser, BeanHub API, hledger-lib, hledger-web JSON API, node-hledger, pyhledger
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ระบบที่ต้องการ การจัดหมวดหมู่อย่างเข้มงวดทันที ไม่เหมาะกับบางคน ที่บริษัทเก่าที่เคยทำงาน เราใช้วิธี 2 ขั้นตอนคือ ก่อนอื่นจดสั้น ๆ ใน iPhone Notes เช่น
-50 Alice tools,+20 Bob returned loanแล้วภายหลังให้สคริปต์พาร์สวันที่·คีย์เวิร์ด·คู่กรณี·รายการวิเคราะห์ภายใน แล้วแปลงเป็นเทมเพลตบัญชีคู่รายการที่สคริปต์ระบุไม่ได้ก็จัดหมวดหมู่ด้วยมือ และถ้าจำเป็นก็เพิ่มเข้าไปในรายการกฎ อีกทั้งมีรายการแมปแยกตามบุคคลเพื่อไม่ให้ Alice กับ Bob ต้องใช้คำศัพท์ให้ตรงกัน
จินตนาการได้ยากว่าทุกครั้งที่มีเงินเข้าออก คนที่กำลังยืนต่อคิว ขับรถ หรืออยู่ระหว่างสนทนาจะกรอกรูปแบบอย่าง
Cat1:cat2:cat3ได้ทุกครั้ง สุดท้ายก็น่าจะกลับไปใช้โน้ตสั้น ๆ หรือแชตอีก หรือไม่ก็พยายาม “จำแล้วค่อยกรอก” ไม่ใช่ตอนสิ้นวัน แต่คงเป็นช่วงสุดสัปดาห์ถ้าเป็นเครื่องมือแบบข้อความ ก็สามารถสร้างโฟลว์ที่ต้องการได้อย่างอิสระ เช่น ต่อสคริปต์ที่รับโน้ตจาก iPhone แล้วแปลงเป็นรูปแบบ ledger ดังนั้นมันเลยรู้สึกแปลกนิดหน่อยที่จะมองว่าเป็นข้อร้องเรียน
ทุกไตรมาสจะดาวน์โหลด CSV จากบัญชีธนาคาร บัตรเครดิต และ Zoho แล้วสคริปต์ Ruby จะดูช่อง memo เพื่อแปลงเป็นไฟล์ ledger สคริปต์กับผลลัพธ์ยังต้องปรับแต่งบ้าง แต่ทำอัตโนมัติได้มากกว่า 95%
แถมยังเพิ่ม การตรวจสอบความถูกต้องสอดคล้อง ลงในไฟล์ ledger ด้วย เช่น ยอดตรงกับยอดคงเหลือที่ได้จากธนาคารหรือไม่ และรายการอยู่ในช่วงเวลาปัจจุบันหรือไม่
ผมใช้ ledger-cli มาเกือบ 20 ปีตั้งแต่เริ่มทำธุรกิจส่วนตัว และถึงจะไม่สมบูรณ์แบบแต่ก็พอใจมาก ทุกอย่างเป็นข้อความธรรมดา จึงประมวลผลด้วยสคริปต์ อ่านใน VIM และดึงข้อมูลออกมาได้ง่าย
ไฟล์ ledger ของหนึ่งในบริษัทที่กำลังดำเนินอยู่ตอนนี้เป็นไฟล์ข้อความธรรมดาขนาด 2MB ที่มีธุรกรรมตั้งแต่ปี 2016 เป็นต้นมา ผมไม่ได้เห็นคุณค่ามากนักในการแยกบัญชี/หมวดหมู่ให้ละเอียดมาก ๆ แต่สำหรับการติดตามภาพรวมนั้นเป็นเครื่องมือที่ขาดไม่ได้
การเรียนรู้ บัญชีคู่ ที่เครื่องมืออย่าง ledger ใช้ก็สนุก และเมื่อมองย้อนกลับไปก็ไม่ได้ยาก อีกทั้งรู้สึกว่าเป็นทักษะที่จะมีประโยชน์ไปตลอดชีวิต
กลยุทธ์บัญชี/หมวดหมู่ที่ใช้คือทำให้สอดคล้องกับหมวดค่าใช้จ่ายที่กรมสรรพากรแคนาดากำหนดในแบบยื่นภาษี ตอนแรกผมสร้างหมวดหมู่ตามตรรกะ เช่น ค่าโฮสติ้ง ค่าใช้จ่ายต้นแบบ/การผลิต แต่หลังจากต้องแมปกลับไปเป็นหมวดของ CRA อยู่หลายปี ก็รู้ว่าการจัดให้ตรงกับหมวดภาษีตั้งแต่แรกทำให้การยื่นภาษีปลายปีง่ายขึ้นมาก
ถ้าข้อมูลเป็น SQLite ก็คงทำได้ง่ายกว่ามาก แต่ก็จะเสียข้อดีของการแก้ไขโดยตรงด้วยตัวแก้ไขข้อความไป
ด้วย LLM ทำให้ทำการบัญชีแบบข้อความธรรมดาอย่างต่อเนื่องได้ง่ายขึ้นมาก โดยเฉพาะช่วยเลี่ยงการป้อนข้อมูลด้วยมือตอนนำรายการเดินบัญชีธนาคารเข้า hledger
ผมใช้ไฟล์ JSON สำหรับแมปธุรกรรมธนาคารเข้ากับบัญชี hledger และถ้ามีธุรกรรมที่ยังไม่มีการแมปใหม่ สคริปต์ Python จะสร้างพรอมป์สำหรับ Claude โดย Claude จะดูรายการบัญชีแล้วเสนอการแมปของธุรกรรมใหม่ และส่งคืนรายการบันทึกบัญชี hledger ตามนั้น
จากนั้นสคริปต์อีกตัวจะพิมพ์รายการบันทึกบัญชี hledger ของธุรกรรมธนาคารในเดือนนั้นออกมาอย่างเป็นระเบียบ แล้วผมปรับแก้ไม่กี่นาทีก่อนยืนยัน คำสั่งแมปที่สมัยก่อนคงกลายเป็นกอง regex กับเงื่อนไขเปราะบาง ตอนนี้ก็เขียนเป็น ภาษาธรรมชาติ ได้
ผมสนุกกับกระบวนการเรียนรู้ระหว่างใช้ Beancount การเขียนเครื่องมือนำเข้าข้อมูล และประสบการณ์ที่ได้ลงมือจัดการบัญชีเอง แต่ตอนนี้ผ่านไปเกือบ 1 ปีแล้วตั้งแต่นำเข้าข้อมูลครั้งล่าสุด และถึงตั้งใจจะทำทุกเดือน แม้จะอัตโนมัติไปพอสมควรแล้ว ก็ยังใช้เวลา 30–60 นาทีจนรู้สึกยุ่งยาก
พอต้องมีการยืนยันบนมือถือด้วย ก็เลยยอมแพ้ไป
ผมเองก็ไม่ได้ทำการนำเข้ามาประมาณ 1 ปีแล้ว และถ้าจะฟื้นกลับมา คิดออกแค่ว่าต้องแบ่งเป็นชิ้นเล็ก ๆ เช่น อัปโหลดทีละเดือนตลอดหลายวัน
https://plaid.com/
ใช้ ledger สำหรับการทำบัญชีและงานบัญชีของตัวเองกับ LLC หลายแห่ง ถ้าคุณคุ้นกับเทอร์มินัล ใช้ CLI ได้คล่อง และใช้งาน vim หรือ emacs, พื้นฐาน sed/awk, สคริปต์ bash/python/perl/ruby อยู่บ่อย ๆ ก็มีโอกาสสูงมากที่การเรียน ledger และ การทำบัญชีแบบสองด้าน แล้วเปลี่ยนมาใช้ จะทำให้พึงพอใจกว่าวิธีที่ใช้อยู่ตอนนี้มาก
reckon มีประโยชน์ในการนำเข้าธุรกรรมอย่างรวดเร็ว: https://github.com/cantino/reckon
การแยกปัญหาด้วย
includeก็เป็นเรื่องดีเช่นกันbal --dcอาจดูคุ้นตาสำหรับนักบัญชีอเมริกันอยู่บ้าง แต่หลายครั้งพวกเขาไม่เข้าใจจริง ๆ ว่า ledger ใช้ค่าติดลบอย่างไร ดังนั้นการเขียนสคริปต์สักสองสามตัวเพื่อแปลงเป็นสไตล์ DR/CR กลับง่ายกว่า ผม/ฉันประหลาดใจที่เห็นว่านักบัญชีที่เคยติดต่อด้วยจัดการกับ abstraction ได้แย่แค่ไหนถ้าจะเพิ่มเคล็ดลับสักข้อ คือให้ผูกทุกอย่างไว้ด้วย Makefile หรือสิ่งที่คล้ายกัน เพราะไฟล์ธุรกรรมมักถูกแยกไว้หลายไฟล์ตามบัญชี และคำสั่งสำหรับ include ไฟล์ที่ถูกต้องก็มักจะยาวได้ง่าย
สคริปต์กราฟและสรุปต่าง ๆ ก็มีไวยากรณ์ที่จำไม่ได้ทุกครั้ง แต่ถ้าใช้ make ก็เรียกได้แบบ
make cashflow,make balance 'A=Checking',make balance-plot 'A=retirement'เคยเขียนบทความ สูตรใช้งานจริง หลายตอนเกี่ยวกับการใช้ Ledger ให้มีประสิทธิภาพในสถานการณ์ที่ซับซ้อนกว่าบทสอนพื้นฐาน: https://felixcrux.com/blog/ledger-practices
เมื่อนำเข้าธุรกรรมธนาคาร จะจัดสรรเข้าบัญชีตามชื่อคู่ค้าก่อน จากนั้นสคริปต์จะใช้
ledger printสร้างไฟล์ journal ไฟล์ที่สองแยกตามคู่ค้า กลับรายการธุรกรรมเดิม แล้วใส่ไว้ชั่วคราวในบัญชีย่อยของโปรเจกต์Unknownและหมวดหมู่Unknownหลังจากนั้นผู้ดูแลบัญชีจะจับคู่ธุรกรรมกับใบแจ้งหนี้เฉพาะ และจัดสรรไปยังบัญชี
Project:Categoryหากจำเป็นก็แยกการชำระเงินครั้งเดียวออกเป็นหลายโปรเจกต์/หมวดหมู่ เมื่อ include ทั้ง journal ธุรกรรมธนาคารและ journal ของคู่ค้าแล้ว ก็ใช้ledger balตรวจสอบได้ว่าการลงบัญชีเสร็จสมบูรณ์หรือไม่การทำบัญชีด้วยข้อความธรรมดานั้นเจ๋ง แต่คิดว่าอุปสรรคใหญ่ที่สุดสำหรับหลายคนคือการดาวน์โหลดข้อมูลธนาคารใน รูปแบบมาตรฐาน
ธนาคารคงไม่สนับสนุนอะไรเกินกว่า CSV หรือ Excel อย่างจริงจัง และแพลตฟอร์มรวบรวมข้อมูลอย่าง Yodlee หรือ Plaid ก็ไม่เป็นมิตรกับโอเพนซอร์สหรือผู้ใช้สมัครเล่น
เมื่อก่อนมีบริษัทชื่อ Wesabe(https://en.wikipedia.org/wiki/Wesabe) ที่ทำซอฟต์แวร์ซิงก์ธนาคารบนเดสก์ท็อป แต่ถูก Mint.com เบียดจนแทบหายไป ถึงอย่างนั้นแนวทางนั้นยังติดอยู่ในใจ และดูเหมือนจะทำได้ในโลกโอเพนซอร์สด้วย
ยังไม่เคยลองใช้ แต่หลังจากใช้เวลาช่วยแก้ปัญหาการเชื่อมต่อธนาคารของบริษัททำบัญชีแบบ SaaS ไปถึง 4 ชั่วโมงตลอดหลายวัน ก็ยินดีจะลงทุนเวลาลองดู
ทุกครั้งที่กระทบยอดธุรกรรม ก็ต้องสู้กับระบบที่มองข้างในไม่ได้และแก้เองไม่ได้ ตอนนี้เริ่มสงสัยแล้วว่าคุ้มกับแรงที่ลงไปหรือไม่ และถ้ามีเครื่องมือที่ใช้ได้ การจัดการ CSV เองน่าจะดีกว่า อนึ่ง บริษัทนั้นไม่คืนเงินให้ด้วย โดยบอกว่าเป็น “เรื่องปกติ”
มี lint ด้วย และถ้าพอใจกับผลลัพธ์ก็สามารถบันทึกสคริปต์ไว้แล้วนำเข้าใหม่ได้ทุกเมื่อ รองรับการดาวน์โหลดราคาสินค้าโภคภัณฑ์/สินทรัพย์สำหรับการติดตามอย่างหุ้นด้วย
กราฟยังไม่ทั่วไปพอสำหรับรสนิยมของผม/ฉัน จึงส่งออกข้อมูลไปที่อื่น แต่สำหรับการป้อนข้อมูลถือว่ายอดเยี่ยม
เลยต้องดาวน์โหลด PDF แล้วดึงข้อมูลออกมา ซึ่งเจ็บปวดเกินจำเป็นมาก การทำ PDF ที่เครื่องอ่านได้ง่าย แค่ทำตามกฎง่าย ๆ ก็พอ เพื่อให้ดึงฟิลด์ธุรกรรม 3–4 ช่อง และฟิลด์รายการเดินบัญชีอีกไม่กี่ช่องอย่างวันที่กับยอดคงเหลือได้ โดยไม่ต้องพึ่ง heuristic ที่เปราะบาง
PDF ที่มีแบรนด์และอ่านง่ายสำหรับคน กับ PDF ที่อ่านง่ายสำหรับเครื่อง ไม่ได้ขัดแย้งกัน
ตั้งใจว่าจะประมวลผลข้อมูลนั้นแล้วใส่เข้าระบบบัญชี แต่ไม่ได้ทำจริง และต่อมาโทรศัพท์พังจนแอ็กชันของ Tasker ก็หายไปด้วย ตอนนี้ไม่เหลือแรงจูงใจจะทำใหม่แล้ว
โดเมนที่เกี่ยวข้องยังคงอยู่เหมือนเดิม บทความปี 2023: https://news.ycombinator.com/item?id=36022005, บทความปี 2021: https://news.ycombinator.com/item?id=28420797, บทความปี 2016: https://news.ycombinator.com/item?id=11164330
ดูการกล่าวถึงแนวคิดนี้เพิ่มเติมได้ที่ https://hn.algolia.com/?q=Plain+Text+Accounting
อยากรู้ว่าคนอื่น ๆ ใช้เครื่องมือบัญชีแบบข้อความล้วนจริง ๆ กันอย่างไร อยากรู้ว่าใช้เพื่อทำความเข้าใจพฤติกรรมการใช้จ่ายและเปลี่ยนพฤติกรรม ใช้เพื่อติดตามค่าใช้จ่าย·รายได้·มูลค่าสุทธิ หรือแค่ กระบวนการที่เป็นระเบียบในตัวมันเอง ที่น่าดึงดูดกันแน่
ทุกครั้งที่เห็นหัวข้อนี้ จะรู้สึกทั้งอยากทุ่มตัวลงไปให้เต็มที่ และรู้สึกผิดที่เคยลองแล้วทำต่อเนื่องไม่ได้ไปพร้อมกัน ตอนนี้ไม่ได้อัปเดตสมุดบัญชีส่วนตัวมาเดือนครึ่งแล้ว เลยรู้สึกผิดมากกว่า
สุดท้ายเพราะไม่มั่นใจว่าตัวเองใช้สิ่งนี้ไปทำไม พอเวลาผ่านไปก็เหมือนบันทึกธุรกรรมเพียงเพื่อบันทึกเท่านั้น
ค่าใช้จ่ายในการทำงานก็คล้ายกัน ผมจ่ายค่าอุปกรณ์หรือบริการด้วยบัตรของตัวเอง แล้วค่อยรายงานภายหลังเพื่อรับเงินคืนเป็นเงินสดหรือโอนเข้าบัญชี แต่บางประเทศหรือบางธุรกิจก็ใช้วิธีนี้ไม่ได้
ค่าใช้จ่ายส่วนตัวในชีวิตประจำวันนั้นดูจากธนาคารและประสบการณ์ก็รู้อยู่แล้ว จึงไม่จำเป็นต้องทำบัญชีด้วย ต้องมีแรงจูงใจแบบ ตัวเงิน ไม่ใช่แรงจูงใจทางอารมณ์ ถ้ารู้ว่าการเลิกทำบัญชีจะทำให้เพื่อนเสียเงินหลายร้อยดอลลาร์ไปกับค่าเหล้า หรือทำให้บริษัทได้สาย HDMI ไปฟรี ๆ หนึ่งเส้น ก็จะกรอกจำนวนเงินโดยไม่ลังเล เหตุผลที่บัญชีส่วนตัวมักไปไม่รอดคือสิ่งที่เสียไปไม่ใช่เงิน แต่เป็นแค่การวิเคราะห์เท่านั้น
มีสคริปต์อยู่บ้างสำหรับทำกระบวนการต่าง ๆ ให้เป็นอัตโนมัติ เช่น นำเข้าธุรกรรม Wise หรือคอยติดตามอัตราแลกเปลี่ยน แต่ไม่มีวินัยพอจะใช้กับค่าใช้จ่ายส่วนตัวรายวันหรือการจัดงบประมาณ
การได้เช็กว่าทุกวันเสียเงินกับการกินข้างนอกไปเท่าไร และลองคำนวณผลลัพธ์ทบต้นหากเอาเงินจำนวนนั้นไปลงกองทุนดัชนี ช่วยลดนิสัยกินนอกบ้านได้มาก ยังสามารถแยกดูลูกหนี้การค้า กระแสเงินสดจริง และกระแสเงินสดตามรายได้คาดการณ์ได้ด้วย
พอลองแบ่งยอดบัญชีออมทรัพย์ในใจเป็น “เป้าหมายการลงทุน 40%, ของขวัญ 1%” ก็ลดการเห็นยอดใหญ่แล้วเผลอใช้จ่ายตามอารมณ์ลงได้ มีโปรแกรมที่ทำกราฟการเพิ่มขึ้นของสินทรัพย์ การเพิ่ม·ลดของค่าใช้จ่ายแต่ละหมวด และบันทึกว่าการเปลี่ยนแปลงนั้นส่งผลสุทธิต่อชีวิตหรือไม่ แล้ว dump ออกมาเป็นเว็บเพจ ใช้ตอนวางแผนปีถัดไปทุกปี
มีสคริปต์ Python ที่แปลงไฟล์ ledger เป็น Excel แล้วส่งให้ accountant เพื่อยื่นภาษีประจำปีด้วย ไฟล์ ledger สำหรับธุรกิจแยกไว้อีกชุด ไม่ได้ดูแลด้วยมือเองโดยตรง แต่ export ข้อมูลจากซอฟต์แวร์ของ accountant แล้วมาคำนวณเองที่บ้าน
ในธุรกิจ ใช้ทำประมาณการกระแสเงินสดเพื่อคาดการณ์ว่าค่าใช้จ่ายจะเพิ่มอย่างไรตามยอดขายที่เพิ่มขึ้น ใช้ตรวจจับ outlier ของค่าใช้จ่ายตามแผนก ใช้ตัดสินใจว่าจะเพิ่มการจ้างงานหรือเพิ่มงบการตลาด และใช้คำนวณตัวชี้วัดอย่าง ROIC
การทำบัญชีคู่ช่วยในการนำเข้าใบแจ้งยอดธนาคารเพื่อสร้าง ledger แล้วจับความไม่ตรงกันทางบัญชี แยกบัญชีตามวัตถุประสงค์ เช่น ค่าใช้จ่ายตามดุลยพินิจ สวัสดิการพนักงาน และต้นทุนที่ใส่เข้าไปในธุรกิจ แล้วให้โอนเงินจากบัญชีหลักเข้ามาทุกสัปดาห์เพื่อตรวจดูความผิดปกติ
เคยมี accountant ที่ไม่พูดอย่างโปร่งใสและลงค่าใช้จ่ายปลอมในสมุดบัญชี ทำให้ดูเหมือนประหยัดภาษีได้มาก สุดท้ายต้องขึ้นศาลและจ่ายค่าปรับก้อนใหญ่พร้อมเงินเพิ่มจากการชำระล่าช้า ตอนนี้จึงไม่เชื่อ accountant และต้องตรวจซ้ำเองเสมอ
มีสคริปต์อัตโนมัติจำนวนมากสำหรับนำเข้า Stripe, ใบแจ้งยอดธนาคาร, สมุดบัญชีของ accountant ฯลฯ แล้วใช้ Python เทียบกันเพื่อหาความไม่ตรงกัน สำหรับผมซึ่งเป็นโปรแกรมเมอร์ บัญชีแบบข้อความล้วนเข้ากันได้ดี และผมสร้างระบบของตัวเองบน hledger มาหลายปีแล้ว