---
title: "Create products."
method: POST
path: "/products"
tags: ["Products"]
---

# Create products.

`POST /products`

## Request

- Base URL: `https://openapi.flowaccount.com/v1`
- URL: `https://openapi.flowaccount.com/v1/products`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/flowaccount/apis/flowaccount-open-api/docs/products/post.ts> (a function with typed inputs; its response is checked against the schema)

## Headers

- `Authorization` string, required

## Request body

- union
  - ProductService
    - `productStructureType` string, nullable: สร้างสินค้าประเภท บริการ
    - `type` integer, required: ประเภทสินค้า: <br>1 = บริการ <br> 3 = ไม่นับสต๊อก <br> 5 = นับสต๊อก
    - `code` string: รหัสสินค้า / SKU <br> <ex>Example: P001</ex>
    - `name` string, required: ชื่อสินค้า <br> <ex>Example: Product</ex>
    - `sellDescription` string: รายละเอียดสินค้า ฝั่งขาย
    - `sellPrice` number: ราคาขายสินค้า
    - `sellVatType` integer: ภาษีขาย: <br> 1 = ราคาขายรวมภาษี <br> 3 = ราคาขายไม่รวมภาษี <br> 5 = ราคาขายภาษี 0% <br> 7 = ราคาขายสินค้าได้รับการยกเว้นภาษี
    - `unitName` string: หน่วยสินค้า
    - `categoryName` string: หมวดสินค้า
    - `barcode` string: บาร์โค้ดสินค้า ไม่เกิน 15 ตัวอักษร
  - ProductNonInventory
    - `productStructureType` string, nullable: สร้างสินค้าประเภท ไม่นับสต๊อก
    - `type` integer, required: ระเภทสินค้า: <br>1 = บริการ <br> 3 = ไม่นับสต๊อก <br> 5 = นับสต๊อก
    - `code` string: รหัสสินค้า / SKU <br> <ex>Example: P001</ex>
    - `name` string, required: ชื่อสินค้า <br> <ex>Example: Product</ex>
    - `sellDescription` string: รายละเอียดสินค้า ฝั่งขาย
    - `sellPrice` number: ราคาขายสินค้า
    - `sellVatType` integer: ภาษีขาย: <br> 1 = ราคาขายรวมภาษี <br> 3 = ราคาขายไม่รวมภาษี <br> 5 = ราคาขายภาษี 0% <br> 7 = ราคาขายสินค้าได้รับการยกเว้นภาษี
    - `unitName` string: หน่วยสินค้า
    - `categoryName` string: หมวดสินค้า
    - `barcode` string: บาร์โค้ดสินค้า ไม่เกิน 15 ตัวอักษร
    - `buyDescription` string: รายละเอียดสินค้า ฝั่งซื้อ
    - `buyPrice` number: ราคาซื้อสินค้า
    - `buyVatType` integer: ภาษีซื้อ: <br> 1 = ราคาซื้อรวมภาษี <br> 3 = ราคาซื้อไม่รวมภาษี <br> 5 = ราคาซื้อภาษี 0% <br> 7 = ราคาซื้อสินค้าได้รับการยกเว้นภาษี
  - ProductInventory
    - `productStructureType` string, nullable: สร้างสินค้าประเภท นับสต๊อก
    - `type` integer, required: ระเภทสินค้า: <br>1 = บริการ <br> 3 = ไม่นับสต๊อก <br> 5 = นับสต๊อก
    - `code` string: รหัสสินค้า / SKU <br> <ex>Example: P001</ex>
    - `name` string, required: ชื่อสินค้า <br> <ex>Example: Product</ex>
    - `sellDescription` string: รายละเอียดสินค้า ฝั่งขาย
    - `sellPrice` number: ราคาขายสินค้า
    - `sellVatType` integer: ภาษีขาย: <br> 1 = ราคาขายรวมภาษี <br> 3 = ราคาขายไม่รวมภาษี <br> 5 = ราคาขายภาษี 0% <br> 7 = ราคาขายสินค้าได้รับการยกเว้นภาษี
    - `unitName` string, required: หน่วยสินค้า
    - `categoryName` string: หมวดสินค้า
    - `barcode` string: บาร์โค้ดสินค้า ไม่เกิน 15 ตัวอักษร
    - `buyDescription` string: รายละเอียดสินค้า ฝั่งซื้อ
    - `buyPrice` number: ราคาซื้อสินค้า
    - `buyVatType` integer: ภาษีซื้อ: <br> 1 = ราคาซื้อรวมภาษี <br> 3 = ราคาซื้อไม่รวมภาษี <br> 5 = ราคาซื้อภาษี 0% <br> 7 = ราคาซื้อสินค้าได้รับการยกเว้นภาษี
  - ProductInventoryBalance
    - `productStructureType` string, nullable: สร้างสินค้าประเภท นับสต๊อก พร้อมตั้งค่ายอดเริ่มต้น
    - `type` integer, required: ประเภทสินค้า: <br>1 = บริการ <br> 3 = ไม่นับสต๊อก <br> 5 = นับสต๊อก
    - `code` string: รหัสสินค้า / SKU <br> <ex>Example: P001</ex>
    - `name` string, required: ชื่อสินค้า <br> <ex>Example: Product</ex>
    - `sellDescription` string: รายละเอียดสินค้า ฝั่งขาย
    - `sellPrice` number: ราคาขายสินค้า
    - `sellVatType` integer: ภาษีขาย: <br> 1 = ราคาขายรวมภาษี <br> 3 = ราคาขายไม่รวมภาษี <br> 5 = ราคาขายภาษี 0% <br> 7 = ราคาขายสินค้าได้รับการยกเว้นภาษี
    - `unitName` string, required: หน่วยสินค้า
    - `categoryName` string: หมวดสินค้า
    - `barcode` string: บาร์โค้ดสินค้า ไม่เกิน 15 ตัวอักษร
    - `buyDescription` string: รายละเอียดสินค้า ฝั่งซื้อ
    - `buyPrice` number: ราคาซื้อสินค้า
    - `buyVatType` integer: ภาษีซื้อ: <br> 1 = ราคาซื้อรวมภาษี <br> 3 = ราคาซื้อไม่รวมภาษี <br> 5 = ราคาซื้อภาษี 0% <br> 7 = ราคาซื้อสินค้าได้รับการยกเว้นภาษี
    - `inventoryPublishedOn` string, required: วันที่ตั้งต้นสินค้า รูปแบบ yyyy-MM-dd <br> <ex>Example: 2021-01-01</ex>
    - `inventoryQuantity` number, required: จำนวนยอดตั้งต้นสินค้า
    - `inventoryPrice` number, required: ต้นทุนสินค้าต่อหน่วย

## Response `200`

200 response

- ProductResponse
  - `status` boolean: action success
  - `message` string: error message
  - `code` integer: error code
  - `data` object
    - `total` integer: จำนวนสินค้าทั้งหมด
    - `currentPage` integer: หน้าที่แสดงรายการสินค้า
    - `list` Product[]: ข้อมูลรายการสินค้า
      - `id` string: เลข id Product
      - `type` integer: ประเภทสินค้า: 1 = บริการ / 3 = ไม่นับสต๊อก / 5 = นับสต๊อก
      - `code` string: รหัสสินค้า <br> <ex>Example: P001</ex>
      - `name` string: ชื่อสินค้า <br> <ex>Example: Product</ex>
      - `sellDescription` string: รายละเอียดสินค้า ฝั่งขาย
      - `sellPrice` number: ราคาขายสินค้า
      - `sellPriceWithVat` number: ราคาขายสินค้า รวมภาษี
      - `sellVatType` integer: ภาษีขาย: <br> 1 = ราคาขายรวมภาษี <br> 3 = ราคาขายไม่รวมภาษี <br> 5 = ราคาขายภาษี 0% <br> 7 = ราคาขายสินค้าได้รับการยกเว้นภาษี
      - `unitName` string: หน่วยสินค้า
      - `categoryId` integer: id หมวดสินค้า
      - `categoryName` string: หมวดสินค้า
      - `barcode` string: บาร์โค้ดสินค้า ไม่เกิน 15 ตัวอักษร
      - `buyDescription` string: รายละเอียดสินค้า ฝั่งซื้อ
      - `buyPrice` number: ราคาซื้อสินค้า
      - `buyPriceWithVat` number: ราคาซื้อสินค้า รวมภาษี
      - `buyVatType` integer: ภาษีซื้อ: <br> 1 = ราคาซื้อรวมภาษี <br> 3 = ราคาซื้อไม่รวมภาษี <br> 5 = ราคาซื้อภาษี 0% <br> 7 = ราคาซื้อสินค้าได้รับการยกเว้นภาษี
      - `inventoryPublishedOn` string, date: วันที่ตั้งต้นสินค้า รูปแบบ yyyy-MM-dd <br> <ex>Example: 2021-01-01</ex>
      - `inventoryQuantity` number: จำนวนยอดตั้งต้นสินค้า
      - `inventoryPrice` number: ต้นทุนสินค้าต่อหน่วย
      - `inventoryTotal` number: มูลค่ารวมยอดตั้งต้นสินค้า
      - `averageBuyPrice` number: ราคาสินค้าซื้อเฉลี่ย
      - `averageSellPrice` number: ราคาขายสินค้าเฉลี่ย
      - `remainingStock` number: จำนวนสินค้าคงเหลือในสต๊อก
      - `totalValueInHand` number: มูลค่าสินค้าคงเหลือในสต๊อก
      - `isMainProduct` boolean: ค่าแสดงว่า product list ดังกล่าวเป็นสินค้าหลักของสินค้านับสต็อกแบบแยกหน่วยหรือไม่ `true` สำหรับสินค้าหลัก `false` สำหรับหน่วยย่อย สำหรับสินค้าประเภทบริการ, ไม่นับสต็อกหรือนับสต็อกแบบหน่วยเดียว จะมีค่าเป็น `true` เสมอ
    - `isDB` boolean: database

## Other responses

- `401`: 401 response
- `500`: 500 response

---

[API](https://skmtc.dev/flowaccount/apis/flowaccount-open-api.md) - [All operations](https://skmtc.dev/flowaccount/apis/flowaccount-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/flowaccount/apis/flowaccount-open-api/revisions/4ba3d3ca5bd5?raw)
