สร้างระบบส่งคืน VAT ด้วย Claude Code จากฐานข้อมูลใบแจ้งหนี้และค่าใช้จ่ายของคุณ
ฉันเปลี่ยนจากตารางใบแจ้งหนี้ Postgres และโฟลเดอร์ PDF ของซัพพลายเออร์ไปเป็น HMRC Box 1 เป็น 9 หมายเลขได้อย่างไร พร้อมด้วยคณิตศาสตร์ที่กำหนด เส้นทางการตรวจสอบ และประตูการอนุมัติโดยมนุษย์
สหายสั้น ๆ ที่อ่านได้แบบสกิม สำหรับการเจาะลึกแบบเต็มประมาณ 5,000 คำด้วยโค้ด, ข้อความแจ้ง, สคีมา, บทสรุป HMRC MTD และกรณี Edge โปรดอ่าน บทความยาว.
VAT รายไตรมาสถือเป็นส่วนที่แย่ที่สุดของเดือนของฉัน
ทุกไตรมาส ธุรกิจขนาดเล็กในสหราชอาณาจักรจะต้องส่งคืน VAT: ตัวเลขเก้ากล่อง (ยอดขาย, การซื้อ, VAT ครบกำหนด, VAT เรียกคืนได้, สินค้าในสหภาพยุโรปหากคุณอยู่ในไอร์แลนด์เหนือ, ยอดรวม, สุทธิ) และส่งผ่าน HMRC Making Tax Digital (MTD) เป็นเวลาหลายปีแล้วที่ฉันเป็นแบบนี้: เปิดตารางใบแจ้งหนี้ใน Postgres, ส่งออก CSV, วางลงใน Excel, จำแนกแถวสองสามร้อยแถวด้วยมือ, เรียกใช้สูตร, คัดลอกตัวเลขเก้าตัวลงในบริดจ์ MTD ของบุคคลที่สาม คลิกส่ง หวัง
มันได้ผล แต่มันก็ช้าและสูญเสีย ใบเสร็จรับเงินหายไป การเปลี่ยนแปลงอัตราช่วงกลางไตรมาสทำลายสูตร การพิมพ์ผิดในการจัดประเภท VAT หนึ่งรายการสามารถย้ายได้ Box 5 หลายร้อยปอนด์ และเส้นทางการตรวจสอบคือ "เชื่อฉันเถอะ ฉันมีสเปรดชีต"
ปีนี้ ฉันสร้างใหม่ทั้งหมดเป็นโปรเจ็กต์ Claude Code ขนาดเล็กที่อ่านฐานข้อมูลใบแจ้งหนี้ + ค่าใช้จ่ายของฉัน จำแนกแต่ละบรรทัด คำนวณเก้ากล่อง ทดลองใช้งาน PDF และจากนั้นจึงส่งไปยัง HMRC MTD เท่านั้น - โดยมีช่องทางการอนุมัติจากมนุษย์ บล็อกนี้เป็นเวอร์ชันสั้น บทความขนาดยาวมีพร้อมท์, Python, โฟลว์ HMRC OAuth และ gotchas
ดูคำแนะนำ
บทสรุปสั้นๆ ของไปป์ไลน์ส่งคืน VAT ที่ทำงานแบบครบวงจรโดยเทียบกับฐานข้อมูลใบแจ้งหนี้ + ค่าใช้จ่ายจริง (ไม่ระบุชื่อ)
ไปป์ไลน์ห้าขั้นตอน
- เชื่อมต่อ. Claude Code ได้รับ อ่านอย่างเดียว การเชื่อมต่อฐานข้อมูลกับตารางใบแจ้งหนี้และค่าใช้จ่ายของฉัน ไม่เคยมีการเข้าถึงแบบเขียนไปยังข้อมูลต้นฉบับ CSV จาก Stripe, Wise, Revolut และฟีดข้อมูลธนาคารบางส่วนจะถูกทิ้งลงใน
./imports/. - ทำให้เป็นปกติ Claude สร้างและรันสคริปต์ Python ขนาดเล็กที่แมปทุกสคีมาแหล่งที่มาเป็นมุมมองเดียว:
id, date, supplier_or_customer, gross, net, vat_amount, vat_rate, vat_treatment, country_code, currency, source, run_key. สกุลเงินต่างประเทศจะถูกแปลงเป็น GBP โดยใช้อัตรารายเดือน HMRC ช่วงเวลาทั้งหมดถูกควบคุมโดย idempotentrun_keyดังนั้นการวิ่งซ้ำจึงปลอดภัย - จัดหมวดหมู่+ประนีประนอม Claude แบ่งประเภทแต่ละบรรทัดเป็นการรักษา VAT - มาตรฐาน 20%, ลดลง 5%, เป็นศูนย์, ได้รับการยกเว้น, ภายนอกขอบเขต, การเรียกเก็บเงินย้อนกลับ, สินค้าของสหภาพยุโรป, บริการของสหภาพยุโรป, เลื่อนการนำเข้า VAT - โดยใช้ขนาดเล็ก
vat-rules.mdฉันเก็บไว้ใน repo นอกจากนี้ยังกระทบยอดใบแจ้งหนี้กับการชำระเงินและแจ้งความผิดปกติ (จำนวนเงินสุทธิติดลบ หมายเลข VAT ของซัพพลายเออร์ที่ขาดหายไป รหัสประเทศไม่ตรงกัน ซัพพลายเออร์ที่ไม่ได้ลงทะเบียน VAT) - คำนวณ. โมดูล Python ฟังก์ชันบริสุทธิ์ - ไม่มี LLM ในวิชาคณิตศาสตร์ - อ่านแถวที่จำแนกและสร้าง Box 1 ถึง Box 9 รวมถึงรายงานการทดลองใช้งานใน Markdown โครงการอัตราคงที่ การบัญชีเงินสด และสาขาการบัญชีประจำปีเป็นเส้นทางรหัสที่ชัดเจน ไม่ใช่คำแนะนำที่รวดเร็ว
- ส่ง. หลังจากที่ฉัน (หรือนักบัญชีของฉัน) ลงนามในการทดลองรันแล้วเท่านั้น ไปป์ไลน์จะเรียก HMRC MTD API โทเค็น OAuth2 ส่วนหัวของการป้องกันการฉ้อโกง
GET obligationsเพื่อหาช่วงเปิดPOST returnsกับfinalised: true. แล้วGET liabilitiesเพื่อยืนยันสิ่งที่ฉันเป็นหนี้และเมื่อใด
ทำไมต้อง Claude Code แทน Xero / QuickBooks / FreeAgent
จริงๆ แล้ว สำหรับธุรกิจขนาดเล็กส่วนใหญ่ SaaS ของนักบัญชีแบบแพ็คเกจคือคำตอบที่ถูกต้อง พวกเขามีใบรับรอง HMRC มีทีมสนับสนุน และนักบัญชีของคุณรู้จักพวกเขาอยู่แล้ว แล้วทำไมฉันถึงทำเช่นนี้?
- ฉันใช้ Claude Code ทุกวันอยู่แล้ว สำหรับงานด้านซอฟต์แวร์ ต้นทุนส่วนเพิ่มในการใช้ประกอบไปป์ไลน์ VAT มีน้อย
- ข้อมูลของฉันอยู่ในเครื่อง ฐานข้อมูลใบแจ้งหนี้ไม่เคยออกจากเครื่องของฉัน ตัวแยกประเภททำงานบนแถว คณิตศาสตร์คือ Python ในเครื่อง เฉพาะตัวเลขเก้าตัวสุดท้ายเท่านั้นที่จะเป็น HMRC ไม่มีผู้เช่า SaaS ไม่มีบุคคลที่สาม
- ฉันต้องการควบคุมกฎการจัดหมวดหมู่อย่างสมบูรณ์ ซัพพลายเออร์บางส่วนของฉันมีความหลากหลาย (บริการของสหภาพยุโรป, การเลื่อนการนำเข้า VAT, กรณี Edge ที่ได้รับการจัดอันดับเป็นศูนย์สองสามกรณี) การเข้ารหัสกฎเหล่านั้นใน
vat-rules.md+ โมดูล Python เร็วกว่าสำหรับฉันมากกว่าการกำหนดค่า SaaS - เส้นทางการตรวจสอบเป็นของฉัน ทุกพรอมต์ของ Claude และทุกส่วนต่างจะถูกบันทึกลงในบันทึกแบบผนวกเท่านั้น ควบคู่ไปกับสแนปช็อตช่วงเวลาที่ลงนาม หาก HMRC ถาม ฉันสามารถสร้างการคำนวณที่แน่นอนได้ภายในไม่กี่วินาที
หากคุณยังไม่ได้ใช้ Claude Code หรือคุณไม่อยากอ่าน Python ตอนเที่ยงคืน โปรดใช้ Xero / QuickBooks / FreeAgent นี่ไม่ใช่คำแนะนำให้ม้วนระบบ VAT ของคุณเอง มันเป็นเรื่องราวของสิ่งที่เป็นไปได้เมื่อคุณทำ
LLM อยู่ที่ไหนและไม่ใช่
นี่คือส่วนที่ผมอยากจะดังครับ Claude ไม่ได้อยู่ในเลขคณิต VAT Claude จำแนกบรรทัด แนะนำการกระทบยอด และสร้างและแก้ไขโมดูล Python ที่กำหนดขึ้นซึ่งทำหน้าที่คำนวณทางคณิตศาสตร์ การคำนวณจริงของ Box 1 ถึง Box 9 เป็นฟังก์ชันล้วนๆ พร้อมการทดสอบหน่วย การส่ง HMRC ต้องมีประตูการอนุมัติจากมนุษย์ รายงานการทดลองดำเนินการเป็นแหล่งที่มาของความจริงในการลงนาม ถ้าฉันไม่สามารถอธิบายได้ว่าทำไมตัวเลขถึงเป็นอย่างไรจากการดูโค้ดและแถวที่แยกประเภทแล้ว ฉันก็จะไม่ส่ง
นี่เป็นกฎที่ยากเพราะการเงินได้รับการควบคุม และ "AI ทำได้" ไม่ใช่การป้องกันภายใต้ MTD ที่ บทความยาว อธิบายรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการวาดเส้นนี้ในการใช้งานของคุณเอง
มีค่าใช้จ่ายเท่าไรในการสร้าง และค่าใช้จ่ายในการดำเนินการ
เวลาในการสร้างคือประมาณหนึ่งสัปดาห์ในช่วงเย็นที่มุ่งเน้น ซึ่งส่วนใหญ่ใช้เวลากับการทำให้สคีมาเป็นมาตรฐาน กฎของตัวแยกประเภท และการทดสอบการเขียนสำหรับเครื่องยนต์ การเต้นรำ HMRC MTD OAuth เป็นส่วนที่ช้าที่สุด การวิ่งชนแซนด์บ็อกซ์ก่อนนั้นคุ้มค่าทุกนาที
ในการเรียกใช้ แต่ละไตรมาสมีค่าใช้จ่ายโดยประมาณ: การสมัครสมาชิก Claude Code ของฉัน (ชำระเงินสำหรับงานอื่นแล้ว) บวกกับการใช้โทเค็นสองสามเพนนีสำหรับตัวแยกประเภท HMRC API นั้นฟรี เอ็นจิ้น VAT และบันทึกการตรวจสอบทำงานบนเครื่อง Mac ของฉัน
ข้อสงวนสิทธิ์ที่สำคัญ
ฉันเป็นวิศวกร ไม่ใช่นักบัญชีรับอนุญาต บทความนี้ไม่ใช่คำแนะนำด้านภาษี ก่อนที่คุณจะดำเนินการในลักษณะนี้กับบัญชี HMRC จริงของคุณ โปรดให้นักบัญชีที่จดทะเบียนในสหราชอาณาจักรตรวจสอบการคืนสินค้าครั้งแรกของคุณตั้งแต่ต้นทางถึงปลายทาง ใช้ HMRC MTD แซนด์บ็อกซ์ จนกว่าคุณและนักบัญชีของคุณจะมีความสุขกันทั้งคู่ ค่าใช้จ่ายในการยื่น VAT ที่ไม่ถูกต้องนั้นสูงกว่าค่าใช้จ่ายหนึ่งชั่วโมงของนักบัญชีมาก
อ่านฉบับยาวครับ
หากคุณต้องการภาพรวมทั้งหมด - สคีมา CREATE TABLE ที่แน่นอน, พร้อมท์ Claude Code, เอ็นจิ้น Python ที่กำหนดพร้อมการทดสอบหน่วย, โฟลว์ HMRC MTD OAuth, ส่วนหัวของการป้องกันการฉ้อโกง และส่วนที่ละเอียดในกรณี Edge (โปรโตคอล Brexit / NI, การเรียกเก็บเงินย้อนกลับ, การยกเว้นบางส่วน, โครงการอัตราคงที่, การเปลี่ยนแปลงอัตรากลางไตรมาส, ใบแจ้งหนี้หลายสกุลเงิน, ใบลดหนี้, เงินฝาก) - อ่าน บทความยาว. เป็นเวอร์ชันที่ฉันอยากอ่านก่อนที่จะเริ่ม
ชม คำแนะนำแบบ YouTube, สมัครสมาชิกเพื่อรับบทช่วยสอนติดตามผล (ฟีดธนาคารนำเข้าอัตโนมัติ, OCR สำหรับใบเสร็จรับเงิน, cron ตามกำหนดการ + การอนุมัติ Slack) และข้อควรจำ: ไม่ใช่คำแนะนำด้านภาษี จำเป็นต้องลงนามโดยนักบัญชี