การสร้างสินค้าใหม่
เนื้อหานี้สำหรับการใช้งาน New Product API ผ่าน /product-masters
เท่านั้น
การสร้างสินค้าใหม่ จะมีข้อกำหนดในการส่งข้อมูลที่แตกต่างกันไปตามประเภทของสินค้าด้วยค่าของ type
โดยแบ่งได้เป็น 1
สำหรับสินค้าประเภทบริการ, 3
สำหรับสินค้าประเภทไม่นับสต็อกและ 5
สำหรับสินค้านับสต็อก
ข้อกำหนดในการส่งข้อมูลเพื่อสร้างสินค้าใหม่
สินค้าประเภทบริการ
Field | Type | Description |
---|---|---|
type | number | ประเภทสินค้า กำหนดค่า 1 เท่านั้น |
name | string | ชื่อสินค้า |
code | string | รหัสสินค้า |
categoryName | string | หมวดสินค้า |
sellSettings | object | ตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า |
productLists | object[] | ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย |
สินค้าประเภทไม่นับสต็อก
Field | Type | Description |
---|---|---|
type | number | ประเภทสินค้า กำหนดค่า 3 เท่านั้น |
name | string | ชื่อสินค้า |
code | string | รหัสสินค้า |
categoryName | string | หมวดสินค้า |
sellSettings | object | ตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า |
buySettings | object | ตั้งค่าข้อมูลการซื้อ อ้างอิง ข้อมูลการซื้อขายของสินค้า |
nonInventorySettings | object | ตั้งค่าข้อมูลเฉพาะสินค้าไม่นับสต็อก อ้างอิง ข้อมูลของสินค้าไม่นับสต็อก |
productLists | object[] | ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย |
สินค้าประเภทนับสต็อก
Field | Type | Description |
---|---|---|
type | number | ประเภทสินค้า กำหนดค่า 5 เท่านั้น |
name | string | ชื่อสินค้า |
code | string | รหัสสินค้า |
categoryName | string | หมวดสินค้า |
sellSettings | object | ตั้งค่าข้อมูลการขาย อ้างอิง ข้อมูลการซื้อขายของสินค้า |
buySettings | object | ตั้งค่าข้อมูลการซื้อ อ้างอิง ข้อมูลการซื้อขายของสินค้า |
inventorySettings | object | ตั้งค่ายอดตั้งต้นของสินค้า อ้างอิง ตั้งค่ายอดเริ่มต้นสินค้านับสต็อก |
productLists | object[] | ตั้งค่ารายละเอียดสินค้า อ้างอิง ข้อมูลรายละเอียดสินค้า ไม่จำเป็นต้องใส่ หากไม่ต้องการระบุหน่วยนับของบริการหรือราคาขาย |
สินค้านับสต็อกแบบหน่วยเดียวและแยกหน่วย มีวิธีการระบุรายละเอียดสินค้าใน productLists
ดังนี้
- สินค้าหน่วยเดียว (Single unit)
- สินค้าต้องระบุ (required) หน่วย
unitName
ซึ่งจะเป็นหน่วยหลัก - ถ้าใส่เลขบาร์โค้ด
barcode
ต้องระบุให้ถูกต้อง - ถ้าใส่ราคาขาย
sellPrice
หรือราคาซื้อbuyPrice
ต้องระบุให้ถูกต้อง
- สินค้าต้องระบุ (required) หน่วย
- สินค้าหลายหน่วย (Multiple unit)
- ทุกรายการสินค้าต้องระบุ (required) หน่วย
unitName
หน่วยสินค้าหลักisMainProduct
และอัตราส่วนระหว่างหน่วยย่อยและหน่วยหลักconvertRatio
- รายการสินค้าที่เป็นหน่วยหลัก (รายการสินค้าที่
isMainProduct = true
) จะมีได้ 1 รายการเท่านั้น และconvertRatio = 1
เสมอ - รายการสินค้าที่เป็นหน่วยย่อย จะมีได้ไม่เกิน 10 รายการ (รายการสินค้าที่
isMainProduct = false
) - ถ้าใส่เลขบาร์โค้ด
barcode
ต้องไม่ซ้ำกับรายการสินค้าอื่น ๆ และระบุให้ถูกต้อง - ถ้าใส่ราคาขาย
sellPrice
หรือราคาซื้อbuyPrice
ต้องระบุให้ถูกต้อง
- ทุกรายการสินค้าต้องระบุ (required) หน่วย
การตั้งค่าข้อมูลของสินค้าเพิ่มเติม
ข้อมูลรายละเอียดสินค้า
Client สามารถกำหนดข้อมูลรายละเอียดของสินค้านั้น ๆ ได้แก่ หน่วยของสินค้า, ราคาซื้อขาย หรือ รหัสบาร์โค้ด เป็นต้น
โดยการระบุข้อมูล element ของ productLists
ซึ่ง element มี format ดังนี้
Field | Type | Description |
---|---|---|
unitName | string | หน่วยของสินค้า |
sellPrice | number | ราคาขายของสินค้า |
buyPrice | number | ราคาซื้อของสินค้า |
barcode | string | รหัสบาร์โค้ด |
isMainProduct | boolean | Flag เพื่อระบุว่า product list ดังกล่าวเป็นสินค้าหลัก ใช้ในกรณีของสินค้านับสต็อกแบบแยกหน่วย |
convertRatio | number | สัดส่วนของจำนวนสินค้าในหน่วยหลัก ต่อหน่วยนั้น ๆ หนึ่งหน่วย ใช้ในกรณีของสินค้านับสต็อกแบบแยกหน่วย |
- สำหรับสินค้าอื่นนอกจากสินค้านับสต็อกแบบแยกหน่วย
หากระบุ
isMainProduct
หรือconvertRatio
จะต้องระบุค่าเป็นtrue
และ1
ตามลำดับเสมอ
ข้อมูลการซื้อขายของสินค้า
Client สามารถกำหนดข้อมูลการซื้อขายของสินค้าเพิ่มเติมได้แก่ ภาษีมูลค่าเพิ่ม, รายละเอียดสินค้าและผังบัญชีที่จะลงบัญชีเมื่อมีเอกสารที่ลงรายการสินค้านั้น ๆ
โดยการระบุข้อมูลเพิ่มเติมใน buySettings
สำหรับข้อมูลการซื้อหรือ sellSettings
สำหรับข้อมูลการขาย ซึ่งมี format ดังนี้
Field | Type | Description |
---|---|---|
vatType | number | ประเภทของภาษีซื้อขาย อ้างอิงวิธีการคำนวณราคาได้จาก การคำนวณราคาของสินค้าตามประเภทของภาษีซื้อขาย |
description | string | รายละเอียดสินค้า |
chartOfAccountId | number | หมายเลข id ของผังบัญชีที่จะระบุให้รายการสินค้าในเอกสารลงบัญชี ใช้ id จาก Get list of chart of account API |
- Client สามารถระบุค่าได้เฉพาะ field ใด field หนึ่งตามที่ต้องการได้ หรือสามารถไม่ใส่หรือระบุค่าเป็น
null
ได้ หากไม่ต้องการระบุค่า - การระบุค่าใน
buySettings
ไม่มีผลกับสินค้าประเภทบริการtype = 1
เท่านั้น
ข้อมูลของสินค้าไม่นับสต็อก
Client สามารถกำหนดประเภทของสินค้าไม่นับสต็อกได้ โดยการระบุค่าประเภทใน nonInventorySettings
ซึ่งมี format ดังนี้
Field | Type | Description |
---|---|---|
productNonInventoryType | number | ประเภทสินค้าไม่นับสต็อก (1 สินค้าเพื่อขาย, 11 อื่น ๆ ) |
- การระบุค่าใน
nonInventorySettings
มีผลกับสินค้าประเภทไม่นับสต็อกtype = 3
เท่านั้น
ตั้งค่ายอดเริ่มต้นสินค้านับสต็อก
Client สามารถตั้งค่ายอดเริ่มต้นของสินค้านับสต็อกได้ โดยการระบุค่าใน inventorySettings
ซึ่งมี format ดังนี้
Field | Type | Description |
---|---|---|
inventoryPublishedOn | string | วันที่ตั้งต้นสินค้า รูปแบบ yyyy-MM-dd เท่านั้น |
inventoryQuantity | number | จำนวนยอดตั้งต้น ต้องมีค่ามากกว่า 0 |
inventoryPrice | number | ต้นทุนต่อหน่วย ต้องมีค่ามากกว่า 0 |
- การตั้งค่ายอดเริ่มต้นเมื่อสร้างสินค้า จะถือว่าสินค้ามีความเคลื่อนไหว ซึ่งจะถูกระบุใน response ว่า
hasMovement = true