ภาพรวมการแบ่งรับชำระเงิน (Partial Receipt)
เนื้อหาในส่วนนี้ครอบคลุมการสร้างใบเสร็จรับเงินแบบแบ่งชำระผ่าน Receipts endpoint เท่านั้น
ปัจจุบันรองรับเฉพาะ ใบกำกับภาษี (documentType: 7) เป็นเอกสารต้นทาง
การแบ่งรับชำระเงิน (Partial Receipt) ช่วยให้ผู้ใช้งาน API สามารถสร้างใบเสร็จรับเงินจากใบกำกับภาษีเป็นรายงวดได้
โดยระบุเพียง documentId, documentType และ partialAmount ต่อรายการ —
ระบบจะดึงข้อมูลทางการเงินจากใบกำกับภาษีต้นทางและคำนวณค่าที่เกี่ยวข้องให้โดยอัตโนมัติ
ประเภทการสร้างใบเสร็จแบบแบ่งชำระ
ใบเสร็จแบบแบ่งชำระรองรับ 5 รูปแบบตาม endpoint ที่ใช้งานได้ดังนี้
| Endpoint | ประเภทเอกสาร | การชำระเงิน | สถานะ |
|---|---|---|---|
POST /receipts | Simple | ออกใบเสร็จอย่างเดียว (รับเงินทีหลัง) | ✅ พร้อมใช้งาน |
POST /receipts/inline | Inline | ออกใบเสร็จอย่างเดียว (รับเงินทีหลัง) | 🔜 เร็ว ๆ นี้ |
POST /receipts/with-payment | Simple | ออกใบเสร็จและบันทึกการชำระทันที | 🔜 เร็ว ๆ นี้ |
POST /receipts/inline/with-payment | Inline | ออกใบเสร็จและบันทึกการชำระทันที | 🔜 เร็ว ๆ นี้ |
PUT /receipts/{id} | Simple | แก้ไขใบเสร็จแบบแบ่งชำระ | ✅ พร้อมใช้งาน |
PUT /receipts/{id} | Inline | แก้ไขใบเสร็จแบบแบ่งชำระ (Inline) | 🔜 เร็ว ๆ นี้ |
ความแตกต่างระหว่าง Simple และ Inline
Simple (/receipts) — ภาษีมูลค่าเพิ่มของเอกสารถูกคำนวณในระดับเอกสาร เหมาะสำหรับใบกำกับภาษีที่มีอัตราภาษีเดียว
Inline (/receipts/inline) — ภาษีมูลค่าเพิ่มถูกคำนวณในระดับรายการสินค้า รองรับใบกำกับภาษีที่มีหลายอัตราภาษีภายในเอกสารเดียวกัน เช่น 7%, 0% หรือยกเว้นภาษี
หลักกา รทำงาน
ในแต่ละ request ผู้ใช้งานระบุเพียง 3 field ต่อรายการ เพื่อกำหนดว่าต้องการชำระงวดนี้จำนวนเท่าใดจากใบกำกับภาษีฉบับใด
{
"documentId": 84130351,
"documentType": 7,
"partialAmount": 7000.00
}
ระบบจะดึงข้อมูลทางการเงินจากใบกำกับภาษีต้นทาง (documentSerial, documentGrandTotal, documentPublishedOn เป็นต้น) และคำนวณสัดส่วนสำหรับการลงบัญชีให้โดยอัตโนมัติ
Field สำหรับระบุประเภทเอกสาร
เพื่อให้ระบบระบุได้ว่า request นี้เป็นใบเสร็จแบบแบ่งชำระ จำเป็นต้องกำหนด 3 fields ต่อไปนี้ทุกครั้ง
| Field | ค่าที่ต้องระบุ | คำอธิบาย |
|---|---|---|
isBatchDocument | true | ระบุว่าเป็นเอกสารแบบแบ่งชำระ |
partialPaymentMethod | 11 | วิธีการชำระแบบแบ่งจ่าย (RECPartial) |
creditType | 3 | ประเภทเครดิต (เงินสด) |
ดูข้อจำกัดของ field ทั้งหมดและ field ที่ไม่บังคับได้ที่ ข้อมูลอ้างอิง
การเปลี่ยนสถานะของใบกำกับภาษีต้นทาง (INV)
ทุกครั้งที่มีการสร้าง ยกเลิก หรือลบใบเสร็จแบบแบ่งชำระ ระบบจะอัปเดตสถานะของใบกำก ับภาษีต้นทางโดยอัตโนมัติ
เมื่อสร้างใบเสร็จแบบแบ่งชำระ
INV: รอดำเนินการ (status=1) / รอเก็บเงิน (status=3)
│
▼ สร้าง Partial RE (totalPaid < grandTotal)
INV: แบ่งจ่าย (status=11)
│ ← สามารถสร้าง Partial RE งวดถัดไปได้เรื่อย ๆ
▼ สร้าง Partial RE งวดสุดท้าย (totalPaid = grandTotal)
INV: เปิดใบเสร็ จแล้ว (status=9)
เมื่อ INV อยู่ในสถานะ แบ่งจ่าย (status=11) จะสามารถดำเนินการได้แค่การสร้างแบ่งจ่าย เท่านั้น
เมื่อแก้ไขใบเสร็จแบบแบ่งชำระ
| สถานการณ์ | ผลลัพธ์ต่อ INV |
|---|---|
แก้ไขยอดชำระและยอดรวม RE ทั้งหมด < grandTotal ของ INV | ยังคงสถานะ แบ่งจ่าย |
แก้ไขยอดชำระจนยอดรวม RE ทั้งหมด = grandTotal ของ INV | เปลี่ยนสถานะเป็น เปิดใบเสร็จแล้ว |
ดูรายละเอียดเพิ่มเติมได้ที่ การแก้ไขใบเสร็จแบบแบ่งชำระแบบ Simple
เมื่อยกเลิกใบเสร็จแบบแบ่งชำระ
| สถานการณ์ | ผลลัพธ์ต่อ INV |
|---|---|
| ยกเลิก RE บางฉบับ ขณะที่ยังมี RE อื่นที่ใช้งานอยู่ | มีสถานะเป็น แบ่งจ่าย, totalPaid ลดลง |
| ยกเลิก RE ทุกฉบับ | มีสถานะเป็น แบ่งจ่าย |
| ยกเลิก RE เมื่อ INV มีสถานะเป็น เปิดใบเสร็จแล้ว | สถานะของ INV ยังคงเป็น แบ่งจ่าย |
| พยายามยกเลิก INV ขณะที่มี RE ที่ใช้งานอยู่ | ไม่สามารถดำเนินการได้ |
| ยกเลิก INV หลังยกเลิก RE ทุกฉบับแล้ว | สามารถดำเนินการได้ตามปกติ |
เมื่อลบใบเสร็จแบบแบ่งชำระ
| สถานการณ์ | ผลลัพธ์ต่อ INV |
|---|---|
| ลบ RE บางฉบับ ขณะที่ยังมี RE อื่นที่ใช้งานอยู่ | มีสถานะเป็น แบ่งจ่าย, totalPaid ลดลง |
| ลบ RE ทุกฉบับ | เปลี่ยนสถานะเป็น รอดำเนินการ |
| พยายามลบ INV ที่มี RE ที่ใช้งานอยู่ | ไม่สามารถดำเนินการได้ — allowDelete: false |