Skip to main content

เพิ่มเงื่อนไขการสร้าง/แก้ไขเอกสาร

แจ้งการเพิ่มเงื่อนไขสำหรับการสร้าง/แก้ไขเอกสารในระบบ FlowAccount ผ่าน FlowAccount Open API

เนื่องด้วยปัจจุบันทาง FlowAccount พบว่ามีการรับข้อมูลที่ไม่ถูกต้องผ่าน Open API สำหรับการสร้าง/แก้ไขเอกสาร ซึ่งส่งผลกระทบต่อการลงบัญชีและการออกรายงานต่าง ๆ ในระบบ จึงได้มีการเพิ่มเงื่อนไข (Add Validation) ในการสร้าง/แก้ไขเอกสารทั้ง 2 รูปแบบ ได้แก่ เอกสารที่ไม่มีส่วนลดหรือภาษีแยกรายการ (Simple Document) และเอกสารที่มีส่วนลดหรือภาษีแยกรายการ (Inline Document)

ผู้ใช้งานสามารถทดลองได้บน Sandbox และส่ง Feedback เพิ่มเติมได้ตั้งแต่วันที่ 26/04/2024 - 08/05/2024 Sandbox API url: https://openapi.flowaccount.com/test

เริ่มมีผลบน Production Environment: 16/05/2024 เวลา 11:00

Field ที่เกี่ยวข้อง

  • isVatInclusive (boolean) = ระบุระดับเอกสาร เพื่อออกเอกสารเป็นราคารวมภาษี (true) หรือราคาไม่รวมภาษี (false)
  • isVat (boolean) = ระบุระดับเอกสาร เงื่อนไขสำหรับการระบุภาษีมูลค่าเพิ่ม
  • vatAmount (number) = ยอดรวม VAT ของทั้งเอกสาร
  • totalAfterDiscount(number) = ยอดขายหลังหักส่วนลด ก่อน VAT

เพิ่มเงื่อนไขเกี่ยวกับ isVat และ isVatInclusive สำหรับเอกสารแบบ Simple Document

  1. vatAmount ต้องน้อยกว่า totalAfterDiscount กรณีไม่ตรงตามเงื่อนไขจะ message: "totalAfterDiscount cannot be less than vatAmount"
  2. กรณีที่ vatAmount และ totalAfterDiscount มีค่าเท่ากับ 0 ทั้งคู่ จะสามารถสร้างเอกสารได้ปกติไม่ติดเงื่อนไขข้อ 3 และ 4
  3. จะสร้างเอกสารสำเร็จเมื่อระบุ
    • isVatInclusive == false, isVat == false, vatAmount เท่ากับ 0
    • isVatInclusive == false, isVat == true, vatAmount มากกว่า 0
    • isVatInclusive == true, isVat == true, vatAmount มากกว่า 0
  4. กรณีระบุนอกเหนือจากด้านบนจะ error message:“isVatInclusive, isVat and vatAmount doesn't match”
    • isVatInclusive == false, isVat == false, vatAmount มากกว่า 0
    • isVatInclusive == false, isVat == true, vatAmount น้อยกว่าหรือเท่ากับ 0 (ค่าติดลบหรือ 0)
    • isVatInclusive == false, isVat == false, vatAmount น้อยกว่า 0 (ค่าติดลบ)
    • isVatInclusive == true, isVat == false, vatAmount มากกว่า 0
    • isVatInclusive == true, isVat == false, vatAmount น้อยกว่าหรือเท่ากับ 0 (ค่าติดลบหรือ 0)
    • isVatInclusive == true, isVat == true, vatAmount น้อยกว่าหรือเท่ากับ 0 (ค่าติดลบหรือ 0)

ข้อแนะนำในการระบุ isVat และ isVatInclusive สำหรับเอกสารแบบ Simple document

บริษัทจดภาษีมูลค่าเพิ่ม
  • เอกสารขายและเอกสารซื้อ กรณี vatAmount และ totalAfterDiscount มีค่ามากกว่า 0 ต้องการเปิดเอกสารราคารวมภาษี ให้ระบุ isVatInclusive == true, isVat == true
  • เอกสารขายและเอกสารซื้อ กรณี vatAmount และ totalAfterDiscount มีค่ามากกว่า 0 ต้องการเปิดเอกสารราคาไม่รวมภาษีให้ระบุ isVatInclusive == false, isVat == true
  • เอกสารขายและเอกสารซื้อ กรณี totalAfterDiscount มีค่ามากกว่า 0 แต่ต้องการเปิดเอกสารไม่มี VAT ให้ระบุ isVatInclusive == false, isVat == false, vatAmount เท่ากับ 0
บริษัทไม่จดภาษีมูลค่าเพิ่ม
  • เอกสารขาย ให้ระบุ isVatInclusive == false, isVat == false, vatAmount เท่ากับ 0
  • เอกสารซื้อ กรณี vatAmount และ totalAfterDiscount มีค่ามากกว่า 0 ต้องการเปิดเอกสารราคารวมภาษี ให้ระบุ isVatInclusive == true, isVat == true
  • เอกสารซื้อ กรณี vatAmount และ totalAfterDiscount มีค่ามากกว่า 0 ต้องการเปิดเอกสารราคาไม่รวมภาษีให้ระบุ isVatInclusive == false, isVat == true
  • เอกสารซื้อ กรณี totalAfterDiscount มีค่ามากกว่า 0 แต่ต้องการเปิดเอกสารไม่มี VAT ให้ระบุ isVatInclusive == false, isVat == false, vatAmount เท่ากับ 0

APIs ที่ได้รับผลกระทบ (ณ วันที่ 18/4/2024)

  • POST /quotations
  • PUT /quotations/{id} *
  • POST /billing-notes
  • PUT /billing-notes/{id} *
  • POST /tax-invoices
  • POST /tax-invoices/with-payment
  • PUT /tax-invoices/{id} *
  • POST /cash-invoices
  • POST /cash-invoices/with-payment
  • POST /receipts
  • PUT /receipts/{id} *
  • POST /purchases-orders
  • PUT /purchases-orders/{id} *
  • POST /purchases
  • POST /purchases/with-payment
  • PUT /purchases/{id} *
  • POST /expenses
  • POST /expenses/with-payment

*Note: PUT method ใน payload ต้องระบุ "documentStructureType": "UpdateSimpleDocument" ตาม developer documents

APIs ที่จะได้รับผลกระทบในอนาคต (TBC)

  • POST /receipts/with-payment
  • PUT /cash-invoices/{id} *
  • PUT /expenses/{id} *

*Note: PUT method ใน payload ต้องระบุ "documentStructureType": "UpdateSimpleDocument" ตาม developer documents

เพิ่มเงื่อนไขเกี่ยวกับ isVat และ isVatInclusive สำหรับสร้างเอกสารแบบ Inline Document

  1. vatAmount ต้องน้อยกว่า totalAfterDiscount กรณีไม่ตรงตามเงื่อนไขจะมี error message: "totalAfterDiscount cannot be less than vatAmount"
  2. กรณีที่ vatAmount และ totalAfterDiscount มีค่าเท่ากับ 0 ทั้งคู่ จะสามารถสร้างเอกสารได้ปกติ ไม่ติดเงื่อนไขข้อ 3.
  3. กรณีระบุ isVatInclusive == false, isVat == false, และ vatAmount มากกว่า 0 จะมี error message: "isVatInclusive, isVat and vatAmount doesn't match"

APIs ที่ได้รับผลกระทบ (ณ วันที่ 18/4/2024)

  • POST /quotations/inline
  • PUT /quotations/{id} *
  • POST /billing-notes/inline
  • PUT /billing-notes/{id} *
  • POST /tax-invoices/inline
  • POST /tax-invoices/inline/with-payment
  • PUT /tax-invoices/{id} *
  • POST /cash-invoices/inline
  • POST /cash-invoices/inline/with-payment
  • POST /receipts/inline
  • PUT /receipts/{id} *
  • POST /purchases-orders/inline
  • PUT /purchases-orders/{id} *
  • POST /purchases/inline
  • POST /purchases/inline/with-payment
  • PUT /purchases/{id} *
  • POST /expenses/inline

*Note: PUT method ใน payload ต้องระบุ "documentStructureType": "UpdateInlineDocument" ตาม developer documents

APIs ที่จะได้รับผลกระทบในอนาคต (TBC)

  • POST /receipts/inline/with-payment
  • PUT /cash-invoices/{id} *
  • POST /expenses/inline/with-payment
  • PUT /expenses/{id} *

*Note: PUT method ใน payload ต้องระบุ "documentStructureType": "UpdateInlineDocument" ตาม developer documents