3 คะแนน โดย GN⁺ 2024-09-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Plain Text Accounting (PTA)

แนะนำ Plain Text Accounting

  • Plain Text Accounting (PTA) คือวิธีทำงานด้านบัญชีและการบันทึกบัญชีโดยใช้ไฟล์ข้อความและซอฟต์แวร์ที่เป็นมิตรกับบรรทัดคำสั่ง
  • เครื่องมือหลักได้แก่ Ledger, hledger, Beancount เป็นต้น
  • เว็บไซต์นี้รวบรวมเครื่องมือ เอกสาร และแนวปฏิบัติของชุมชน PTA และดูแลโดย Simon Michael และผู้มีส่วนร่วม

แผนผังเว็บไซต์

  • มีแหล่งข้อมูลหลากหลาย เช่น ภาพรวมของ PTA ข่าวและการสนทนา วิดีโอ สไลด์ เอกสาร FAQ คุกบุ๊ก ซอฟต์แวร์ และอื่น ๆ

ข่าวและการสนทนา

  • มีการพูดคุยเกี่ยวกับ PTA บนแพลตฟอร์มหลากหลาย เช่น ฟอรัม ห้องแชต บล็อกและบทความ Reddit, Lemmy, Hacker News, Mastodon, Twitter, Stack Exchange เป็นต้น

วิดีโอ

  • มีวิดีโอการบรรยายจากผู้พูดหลายคนในหัวข้ออย่าง Ledger CLI, การจัดการการเงินส่วนบุคคล, การติดตามค่าใช้จ่ายด้วย Obsidian, ข้อดีของ Plain Text Accounting เป็นต้น

สไลด์

  • มีสไลด์ในหัวข้อต่าง ๆ เช่น ทัวร์สถาปัตยกรรมของ hledger, แนะนำ Plain Text Accounting, การจัดการการเงินส่วนบุคคลแบบ pure functional เป็นต้น

เอกสาร

  • มีเอกสารหลากหลาย เช่น พื้นฐานการบัญชี เอกสารของแอป PTA การเปรียบเทียบ บทนำ ชีตสรุป คุกบุ๊ก FAQ เป็นต้น

ซอฟต์แวร์

  • มีซอฟต์แวร์หลากหลาย เช่น แอป PTA, ปลั๊กอินสำหรับเอดิเตอร์, การนำเข้า/แปลงข้อมูล, การดึงราคา, การสร้างข้อมูล, เวิร์กโฟลว์, การฟอร์แมต, การทำรายงาน, การบันทึกเวลา, UI เป็นต้น

แอป PTA

  • แนะนำแอป PTA หลากหลาย เช่น Ledger, hledger, Beancount พร้อมเปรียบเทียบช่วงเวลาที่เริ่มต้นใช้งาน การออกรุ่นล่าสุด โค้ด จำนวนผู้คอมมิต จำนวนดาว ขนาดเมลลิงลิสต์ ขนาดแชต อัตราส่วนของอีชู เป็นต้น

ปลั๊กอินสำหรับเอดิเตอร์

  • มีปลั๊กอินสำหรับเอดิเตอร์หลากหลาย เช่น Atom, Emacs, IntelliJ, Nano, Sublime, TextMate, VIM, VS Code เป็นต้น

การนำเข้า/แปลงข้อมูล

  • มีเครื่องมือสำหรับนำเข้าและแปลงข้อมูลหลากหลาย เช่น การแปลง CSV และเครื่องมือแปลงข้อมูลจากหลายรูปแบบให้เป็น Beancount เป็นต้น

การดึงราคา

  • มีวิธีดึงราคาตลาดโดยใช้เครื่องมือต่าง ๆ เช่น Beancount, hledger, Ledger เป็นต้น

การสร้างข้อมูล

  • มีเครื่องมือสร้างข้อมูลหลากหลาย เช่น การสร้างรายการราคาซื้อขาย การสร้างรายการค่าเสื่อมราคา การสร้างรายการดอกเบี้ย เป็นต้น

เวิร์กโฟลว์

  • มีเครื่องมือเวิร์กโฟลว์หลากหลาย เช่น ระบบที่ใช้ Docker, การสร้าง hledger journal จากไฟล์ CSV, ระบบสำหรับฟรีแลนซ์ในเยอรมนี เป็นต้น

การฟอร์แมต

  • มีเครื่องมือฟอร์แมตหลากหลาย เช่น ฟอร์แมตเตอร์สำหรับไฟล์ Beancount และฟอร์แมตเตอร์แบบเว็บ เป็นต้น

การทำรายงาน

  • มีเครื่องมือทำรายงานหลากหลาย เช่น รายงานงบประมาณ แอปวิเคราะห์สินทรัพย์ส่วนบุคคล เครื่องมือสร้างกราฟ hledger เป็นต้น

การบันทึกเวลา

  • มีเครื่องมือสำหรับบันทึกเวลาและรายงานโดยใช้ org2tc, taskwarrior, hledger เป็นต้น

UI, คอนโซล

  • มีเครื่องมือคอนโซล UI หลากหลาย เช่น เครื่องมือป้อนธุรกรรมแบบอินเทอร์แอ็กทีฟ ตัวสร้างธุรกรรม เป็นต้น

UI, curses

  • มีเครื่องมือ curses UI หลากหลาย เช่น hledger-iadd, hledger-ui, ledger-add เป็นต้น

UI, GUI

  • มีเครื่องมือ GUI หลากหลาย เช่น Ledgerble, Prudent เป็นต้น

UI, เว็บ

  • มีเครื่องมือเว็บ UI หลากหลาย เช่น fava, hledger-web, Paisa เป็นต้น

UI, มือถือ

  • มีเครื่องมือ mobile UI หลากหลาย เช่น แอปมือถือของ Beancount, NanoLedger เป็นต้น

ไลบรารี

  • มีไลบรารีหลากหลาย เช่น Beancount parser, ส่วนขยาย Beancount เป็นต้น

ยูทิลิตี

  • มียูทิลิตีหลากหลาย เช่น เครื่องมือบรรทัดคำสั่งของ Beancount, hledger-lib เป็นต้น

API

  • มี API หลากหลาย เช่น gledger, hledger-lib, BeanHub API เป็นต้น

สรุปโดย GN⁺

  • Plain Text Accounting คือวิธีทำงานบัญชีโดยใช้ไฟล์ข้อความและเครื่องมือบรรทัดคำสั่ง โดยใช้เครื่องมืออย่าง Ledger, hledger, Beancount เป็นต้น
  • มีการพูดคุยเกี่ยวกับ PTA บนหลายแพลตฟอร์ม พร้อมแหล่งข้อมูลหลากหลาย เช่น วิดีโอ สไลด์ และเอกสาร
  • มีทั้งแอป PTA, ปลั๊กอินเอดิเตอร์, เครื่องมือนำเข้า/แปลงข้อมูล, เครื่องมือดึงราคา และอื่น ๆ เพื่อช่วยให้ผู้ใช้ทำงานบัญชีได้สะดวกขึ้น
  • บทความนี้มีประโยชน์สำหรับผู้ที่สนใจ PTA โดยเฉพาะนักพัฒนาที่ชื่นชอบเครื่องมือบรรทัดคำสั่ง
  • โครงการที่มีฟังก์ชันคล้ายกัน ได้แก่ GnuCash, QuickBooks เป็นต้น

1 ความคิดเห็น

 
GN⁺ 2024-09-17
ความคิดเห็นจาก Hacker News
  • ใช้ ledger-cli มา 20 ปีแล้ว ไม่ได้สมบูรณ์แบบแต่พอใจมาก ทุกอย่างเป็นข้อความล้วน จึงเขียนสคริปต์ อ่านใน VIM และดึงข้อมูลได้ง่าย ปัจจุบันไฟล์ ledger ของบริษัทหนึ่งมีขนาด 2MB เป็นข้อความล้วนและมีประวัติธุรกรรมตั้งแต่ปี 2016

    • ไม่ได้รู้สึกว่ามีคุณค่ามากนักกับ "บัญชี" (หมวดหมู่) ที่หลากหลาย แต่สิ่งนี้จำเป็นต่อการติดตามทุกอย่าง
    • การเรียนรู้การทำบัญชีแบบคู่สนุกดี และเป็นทักษะที่มีประโยชน์ไปตลอดชีวิต
  • ระบบจัดหมวดหมู่อย่างเข้มงวดทันทีอาจไม่เหมาะกับบางคน ที่บริษัทใช้แนวทางสองขั้นตอน

    • คนจะจดโน้ตไว้ใน Notes บน iPhone แล้วค่อยใช้สคริปต์มาพาร์สวันที่และตรวจจับคีย์เวิร์ดเพื่อสร้างเทมเพลตบัญชีแบบคู่
    • สคริปต์จะตรวจจับ "ตัวแทน" ภายนอกและการวิเคราะห์ภายใน แล้วเพิ่มข้อความต้นฉบับเป็นคอมเมนต์ รายการที่ตรวจจับไม่ได้ต้องจัดหมวดหมู่ด้วยมือและเพิ่มเข้าไปในสคริปต์
    • สคริปต์ใช้รายการที่แก้ไขได้แทนค่าที่ฮาร์ดโค้ดไว้ และแต่ละคนก็ตั้งค่าแตกต่างกัน
  • ด้วย LLM การทำบัญชีแบบข้อความล้วนง่ายขึ้นมาก สามารถนำเข้ารายการเดินบัญชีธนาคารเข้า hledger และหลีกเลี่ยงการกรอกด้วยมือได้

    • ใช้ไฟล์ JSON เพื่อแมปรายการธนาคารเข้ากับบัญชี hledger สำหรับธุรกรรมใหม่ จะรันสคริปต์ Python เพื่อขอให้ Claude ทำการแมป
    • Claude จะส่งกลับรายการ journal ของ hledger ตามการแมป ซึ่งตรวจทานได้อย่างรวดเร็ว
    • อีกสคริปต์หนึ่งจะพิมพ์รายการ journal ของ hledger สำหรับธุรกรรมธนาคารของเดือนนั้น
  • ใช้ Beancount มาตลอด และสนุกกับการเขียนเครื่องมือนำเข้าข้อมูลรวมถึงได้ลงมือทำบัญชีเอง แต่เกือบ 1 ปีแล้วที่ไม่ได้นำเข้าข้อมูล แม้จะตั้งใจทำทุกเดือน แต่ใช้เวลา 30~60 นาทีจึงค่อนข้างน่ารำคาญ

  • การทำบัญชีแบบข้อความล้วนยอดเยี่ยม แต่การที่ผู้คนต้องดาวน์โหลดข้อมูลธนาคารในรูปแบบมาตรฐานเป็นอุปสรรคใหญ่

    • ธนาคารไม่ยอมรับอะไรที่มากกว่าไฟล์ CSV หรือ Excel ส่วนแพลตฟอร์มรวบรวมข้อมูลหลายแห่ง (yodlee, plaid เป็นต้น) ก็ไม่เป็นมิตรกับผู้ใช้โอเพนซอร์สหรือผู้ใช้สายงานอดิเรก
    • ในอดีตมีบริษัทชื่อ Wesabe ที่ซิงก์ธนาคารจากเดสก์ท็อป แต่ Mint.com เบียดพวกเขาออกจากตลาดไปแล้ว ดูเหมือนว่าสิ่งนี้น่าจะนำมาปรับใช้กับโอเพนซอร์สได้
  • เคยเขียนชุด "สูตร" เชิงปฏิบัติว่าด้วยวิธีใช้ Ledger ให้มีประสิทธิภาพ

  • กำลังมองหาโซลูชันแบบข้อความล้วนที่เข้าใจสินค้าคงคลัง (ปริมาณ, FIFO, ต้นทุนเฉลี่ยเป็นดอลลาร์) และใบแจ้งหนี้/POs (AP/AR)

    • อยากให้ใช้คำอย่าง "เดบิต" และ "เครดิต" ด้วย สัญลักษณ์ +/− ทำให้การแปลเป็นรายงานข้อความล้วนจากเอกสารทางการเงินจริงหรือสถานการณ์จริงทำได้ยาก
  • อยากฟังว่าคนอื่นใช้เครื่องมือทำบัญชีแบบข้อความล้วนหลากหลายแบบอย่างไร

    • อยากรู้ว่าใช้เพื่อทำความเข้าใจพฤติกรรมการใช้จ่ายและลงมือแก้ไข ใช้เพียงเพื่อติดตามค่าใช้จ่าย รายรับ มูลค่าสุทธิ ฯลฯ หรือว่าเป็นเรื่องของกระบวนการล้วน ๆ
    • ทุกครั้งที่นึกถึงการทำบัญชีแบบข้อความล้วน จะรู้สึกอยากทุ่มตัวเองลงไปเต็มที่ หรือไม่ก็รู้สึกผิดที่ไม่สามารถทำตามความพยายามครั้งก่อน ๆ ได้ ตอนนี้ส่วนใหญ่เป็นความรู้สึกผิด
  • เป็นแฟนตัวยงของ Ledger และตลอด 8 ปีที่ผ่านมาได้จัดการชีวิตด้านบัญชีทั้งหมดด้วย hledger

    • ไม่ควรแยกหลายบัญชีออกเป็นหลายไฟล์มากเกินไป ควรเก็บไฟล์ละหนึ่งปีต่อหนึ่งบัญชี
    • GitHub CoPilot มีประโยชน์มากกับการทำงานกับไฟล์ ledger มันคำนวณการบวก/ลบยอดคงเหลือได้แทบสมบูรณ์แบบ
    • เมื่อต้องป้อนรายการใหม่ด้วยมือ บ่อยครั้งเพียงพิมพ์คอมเมนต์แบบบรรทัดเดียวเป็นคีย์ลัด มันก็จะเติมรายการทั้งหมดให้