Skip to main content

การสร้างสินค้าใหม่

warning

เนื้อหานี้สำหรับการใช้งาน New Product API ผ่าน /product-masters เท่านั้น

การสร้างสินค้าใหม่ จะมีข้อกำหนดในการส่งข้อมูลที่แตกต่างกันไปตามประเภทของสินค้าด้วยค่าของ type โดยแบ่งได้เป็น 1 สำหรับสินค้าประเภทบริการ, 3 สำหรับสินค้าประเภทไม่นับสต็อกและ 5 สำหรับสินค้านับสต็อก

ข้อกำหนดในการส่งข้อมูลเพื่อสร้างสินค้าใหม่

สินค้าประเภทบริการ

FieldTypeDescription
typenumberประเภทสินค้า กำหนดค่า 1 เท่านั้น
namestringชื่อสินค้า
codestringรหัสสินค้า
categoryNamestringหมวดสินค้า
sellSettingsobjectตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า
productListsobject[]ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย

สินค้าประเภทไม่นับสต็อก

FieldTypeDescription
typenumberประเภทสินค้า กำหนดค่า 3 เท่านั้น
namestringชื่อสินค้า
codestringรหัสสินค้า
categoryNamestringหมวดสินค้า
sellSettingsobjectตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า
buySettingsobjectตั้งค่าข้อมูลการซื้อ อ้างอิง ข้อมูลการซื้อขายของสินค้า
nonInventorySettingsobjectตั้งค่าข้อมูลเฉพาะสินค้าไม่นับสต็อก อ้างอิง ข้อมูลของสินค้าไม่นับสต็อก
productListsobject[]ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย

สินค้าประเภทนับสต็อก

FieldTypeDescription
typenumberประเภทสินค้า กำหนดค่า 5 เท่านั้น
namestringชื่อสินค้า
codestringรหัสสินค้า
categoryNamestringหมวดสินค้า
sellSettingsobjectตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า
buySettingsobjectตั้งค่าข้อมูลการซื้อ อ้างอิง ข้อมูลการซื้อขายของสินค้า
inventorySettingsobjectตั้งค่ายอดตั้งต้นของสินค้า อ้างอิง ตั้งค่ายอดเริ่มต้นสินค้านับสต็อก
productListsobject[]ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย

สินค้านับสต็อกแบบหน่วยเดียวและแยกหน่วย มีวิธีการระบุรายละเอียดสินค้าใน productLists ดังนี้

  1. สินค้าหน่วยเดียว (Single unit)
    • สินค้าต้องระบุ (required) หน่วย unitName ซึ่งจะเป็นหน่วยหลัก
    • ถ้าใส่เลขบาร์โค้ด barcode ต้องระบุให้ถูกต้อง
    • ถ้าใส่ราคาขาย sellPrice หรือราคาซื้อ buyPrice ต้องระบุให้ถูกต้อง
  2. สินค้าหลายหน่วย (Multiple unit)
    • ทุกรายการสินค้าต้องระบุ (required) หน่วย unitName หน่วยสินค้าหลัก isMainProduct และอัตราส่วนระหว่างหน่วยย่อยและหน่วยหลัก convertRatio
    • รายการสินค้าที่เป็นหน่วยหลัก (รายการสินค้าที่ isMainProduct = true) จะมีได้ 1 รายการเท่านั้น และ convertRatio = 1 เสมอ
    • รายการสินค้าที่เป็นหน่วยย่อย จะมีได้ไม่เกิน 10 รายการ (รายการสินค้าที่ isMainProduct = false)
    • ถ้าใส่เลขบาร์โค้ด barcode ต้องไม่ซ้ำกับรายการสินค้าอื่น ๆ และระบุให้ถูกต้อง
    • ถ้าใส่ราคาขาย sellPrice หรือราคาซื้อ buyPrice ต้องระบุให้ถูกต้อง

การตั้งค่าข้อมูลของสินค้าเพิ่มเติม

ข้อมูลรายละเอียดสินค้า

Client สามารถกำหนดข้อมูลรายละเอียดของสินค้านั้น ๆ ได้แก่ หน่วยของสินค้า, ราคาซื้อขาย หรือ รหัสบาร์โค้ด เป็นต้น โดยการระบุข้อมูล element ของ productLists ซึ่ง element มี format ดังนี้

FieldTypeDescription
unitNamestringหน่วยของสินค้า
sellPricenumberราคาขายของสินค้า
buyPricenumberราคาซื้อของสินค้า
barcodestringรหัสบาร์โค้ด
isMainProductbooleanFlag เพื่อระบุว่า product list ดังกล่าวเป็นสินค้าหลัก ใช้ในกรณีของสินค้านับสต็อกแบบแยกหน่วย
convertRationumberสัดส่วนของจำนวนสินค้าในหน่วยหลัก ต่อหน่วยนั้น ๆ หนึ่งหน่วย ใช้ในกรณีของสินค้านับสต็อกแบบแยกหน่วย
warning
  • สำหรับสินค้าอื่นนอกจากสินค้านับสต็อกแบบแยกหน่วย หากระบุ isMainProduct หรือ convertRatio
    จะต้องระบุค่าเป็น true และ 1 ตามลำดับเสมอ

ข้อมูลการซื้อขายของสินค้า

Client สามารถกำหนดข้อมูลการซื้อขายของสินค้าเพิ่มเติมได้แก่ ภาษีมูลค่าเพิ่ม, รายละเอียดสินค้าและผังบัญชีที่จะลงบัญชีเมื่อมีเอกสารที่ลงรายการสินค้านั้น ๆ โดยการระบุข้อมูลเพิ่มเติมใน buySettings สำหรับข้อมูลการซื้อหรือ sellSettings สำหรับข้อมูลการขาย ซึ่งมี format ดังนี้

FieldTypeDescription
vatTypenumberประเภทของภาษีซื้อขาย อ้างอิงวิธีการคำนวณราคาได้จาก การคำนวณราคาของสินค้าตามประเภทของภาษีซื้อขาย
descriptionstringรายละเอียดสินค้า
chartOfAccountIdnumberหมายเลข id ของผังบัญชีที่จะระบุให้รายการสินค้าในเอกสารลงบัญชี ใช้ id จาก Get list of chart of account API
info
  • Client สามารถระบุค่าได้เฉพาะ field ใด field หนึ่งตามที่ต้องการได้ หรือสามารถไม่ใส่หรือระบุค่าเป็น null ได้ หากไม่ต้องการระบุค่า
  • การระบุค่าใน buySettings ไม่มีผลกับสินค้าประเภทบริการ type = 1 เท่านั้น

ข้อมูลของสินค้าไม่นับสต็อก

Client สามารถกำหนดประเภทของสินค้าไม่นับสต็อกได้ โดยการระบุค่าประเภทใน nonInventorySettings ซึ่งมี format ดังนี้

FieldTypeDescription
productNonInventoryTypenumberประเภทสินค้าไม่นับสต็อก (1 สินค้าเพื่อขาย, 11 อื่น ๆ )
info
  • การระบุค่าใน nonInventorySettings มีผลกับสินค้าประเภทไม่นับสต็อก type = 3 เท่านั้น

ตั้งค่ายอดเริ่มต้นสินค้านับสต็อก

Client สามารถตั้งค่ายอดเริ่มต้นของสินค้านับสต็อกได้ โดยการระบุค่าใน inventorySettings ซึ่งมี format ดังนี้

FieldTypeDescription
inventoryPublishedOnstringวันที่ตั้งต้นสินค้า รูปแบบ yyyy-MM-dd เท่านั้น
inventoryQuantitynumberจำนวนยอดตั้งต้น ต้องมีค่ามากกว่า 0
inventoryPricenumberต้นทุนต่อหน่วย ต้องมีค่ามากกว่า 0
info
  • การตั้งค่ายอดเริ่มต้นเมื่อสร้างสินค้า จะถือว่าสินค้ามีความเคลื่อนไหว ซึ่งจะถูกระบุใน response ว่า hasMovement = true