การผนวกวงจลการขาย
วิธีและขั้นตอนที่ได้รับอนุญาตมาตรฐานสำหรับการผนวกระบบจัดการคำสั่งภายนอกและวงจลการขายโดยใช้ REST API
1. ใบสั่งขาย
Frappe Framework สร้าง REST API สำหรับ DocTypes ทั้งหมดโดยอัตโนมัติ แนวทางนี้สามารถใช้สำหรับสร้างเอกสารแรกของวงจลการขาย ในกรณีที่คุณเริ่มต้นด้วยใบสั่งขาย คุณสามารถใช้คำขอ POST ของ REST API มาตรฐานสำหรับการสร้างคำสั่ง ตัวอย่างแสดงด้านล่าง คุณสามารถรวมฟิลด์ที่กำหนดเองและรายละเอียด doctype อื่นๆ ใน body ตามนั้น
POST /api/resource/Sales Order
# Body
{
"doctype": "Sales Order",
"customer": "Test Customer",
"company_address": "Test - Billing",
"customer_address": "Test-Billing-3",
"items": [{
"item_code": "Mobile Display",
"qty": 10,
"rate": 2000,
"delivery_date": "2022-11-06",
"delivery_warehouse": "Stores - GTPL"
}]
}
2. ใบจัดส่งสินค้า
ในกรณีที่คุณเริ่มต้นด้วยใบจัดส่งสินค้า ให้ใช้วิธีเดียวกับที่แสดงด้านบนสำหรับใบสั่งขาย เพียงแค่เปลี่ยนค่าคีย์ doctype เป็น Delivery Note แทน Sales Order ในกรณีที่คุณต้องการสร้างใบจัดส่งสินค้าจากใบสั่งขาย ให้ใช้ endpoint ด้านล่าง พารามิเตอร์ source_name ที่นี่คือ ID ของใบสั่งขาย
POST /api/method/erpnext.selling.doctype.sales_order.sales_order.make_delivery_note
# Body
{"source_name": "SO-2022-00001"}
Endpoint ส่งคืนออบเจ็กต์ JSON ของใบจัดส่งสินค้าเป็นการตอบกลับพร้อมกับสินค้าที่ค้างอยู่ทั้งหมดในคำสั่งที่จะจัดส่ง
3. ใบแจ้งหนี้การขาย
อีกครั้ง หากคุณกำลังสร้างใบแจ้งหนี้การขายเพียงอย่างเดียว แนวทางที่ดีที่สุดคือใช้ REST API มาตรฐาน สำหรับสิ่งนี้ โปรดอ้างถึงตัวอย่างที่กล่าวถึงในส่วนใบสั่งขาย
สำหรับการสร้างใบแจ้งหนี้การขายจากใบสั่งขาย ให้ใช้ endpoint ที่กล่าวถึงด้านล่าง พารามิเตอร์ source_name ที่นี่คือ ID ของใบสั่งขาย
POST /api/method/erpnext.selling.doctype.sales_order.sales_order.make_sales_invoice
# Body
{"source_name": "SO-2022-00001"}
สำหรับการสร้างใบแจ้งหนี้การขายจากใบจัดส่งสินค้า ให้ใช้ endpoint ที่กล่าวถึงด้านล่าง พารามิเตอร์ source_name ที่นี่คือ ID ของใบจัดส่งสินค้า
POST /api/method/erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice
# Body
{"source_name": "SO-2022-00001"}
Endpoint ทั้งสองส่งคืนออบเจ็กต์ JSON ของใบแจ้งหนี้การขายพร้อมกับสินค้าที่ค้างอยู่ทั้งหมดที่จะเรียกเก็บเงิน
4. การชำระเงินกับคำสั่งหรือใบแจ้งหนี้
สำหรับการสร้างรายการชำระเงินกับใบสั่งขายหรือใบแจ้งหนี้ ให้ใช้ endpoint ด้านล่าง
POST /api/method/erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry
# Body
{
"dt": "Sales Invoice",
"dn": "SI-2022-0001",
"party_amount": 2000, # ส่งหากเอกสารไม่มีฟิลด์ `outstanding_amount` (พารามิเตอร์ทางเลือก)
"bank_account": "Bank Name - CAB", # ส่งหากกรณีต้องการใช้อื่นนอกจากค่าเริ่มต้น (พารามิเตอร์ทางเลือก)
"bank_amount": 2000, # จำนวนเงินที่จ่ายหรือรับขึ้นอยู่กับประเภทของรายการชำระเงิน (พารามิเตอร์ทางเลือก)
"party_type": "Customer", # หากรายการชำระเงินกับประเภทคู่ค้าอื่นนอกจากลูกค้าหรือผู้จัดจำหน่าย (พารามิเตอร์ทางเลือก)
"payment_type": "Pay", # จ่ายหรือรับ (พารามิเตอร์ทางเลือก)
}