Skip to content

AR Status ​

API เอกสารลูกหนี้คงค้าง — ยอดหนี้คงค้างของลูกหนี้แต่ละราย พร้อมเอกสารที่ยังค้างชำระเป็นรายการย่อย (อ่านอย่างเดียว)

ใช้ตรรกะเดียวกับหน้าจอ สถานะลูกหนี้ ใน SML ERP
ต่างจาก AR Balance ตรงที่ AR Balance คืนเฉพาะยอดรวมต่อลูกหนี้ ส่วนเมนูนี้คืนเอกสารที่ค้างแต่ละใบด้วย


Header Request ​

FieldValue
GUIDGUID สำหรับการเชื่อมต่อ (smlx เสมอ)
providerชื่อผู้ใช้บริการ
databaseNameชื่อฐานข้อมูล
configFileNameชื่อไฟล์ตั้งค่า — รูปแบบ SMLConfig<provider>.xml
Content-Typeapplication/json; charset=utf-8

Header Example ​

json
{
  "GUID": "smlx",
  "provider": "DATA",
  "databaseName": "data1",
  "configFileName": "SMLConfigDATA.xml",
  "Content-Type": "application/json; charset=utf-8"
}

HTTP Response ​

Statusความหมาย
200สำเร็จ — กรณี list ที่ไม่พบข้อมูลก็ได้ 200 เช่นกัน โดย data เป็น [] และ pages.total_record เป็น 0
400ข้อมูลผิดพลาด (code = 99) — ดูสาเหตุจริงใน message
404ไม่พบลูกหนี้ที่มีหนี้คงค้างตามรหัสที่ระบุ (code = 404) หรือเรียก URL / path ไม่ถูกต้อง
405ใช้ HTTP method ไม่ถูกต้อง
500ข้อผิดพลาดภายในระบบ

ArStatus List ​

แสดงลูกหนี้ที่มีหนี้คงค้าง พร้อมเอกสารที่ยังค้างชำระของแต่ละราย

EndPoint ​

GET /SMLJavaRESTService/arstatus/v4

ขอบเขตข้อมูล

  • นับเฉพาะเอกสารที่ยังไม่ถูกยกเลิก (last_status = 0) และมีวันที่เอกสารไม่เกินวันปัจจุบัน
  • ยอดคงค้างต่อเอกสาร = ยอดเงินตามเอกสาร − ยอดที่รับชำระมาแล้ว (รายวันรับชำระหนี้ trans_flag 239)
  • แสดงเฉพาะเอกสารที่ยอดคงค้างไม่เท่ากับ 0
  • ลูกหนี้ที่ไม่มีเอกสารค้างเลย จะไม่อยู่ในผลลัพธ์

เอกสารที่นำมาคิดเป็นหนี้ ได้แก่

ประเภทเอกสารtrans_flagผลต่อยอดหนี้
ขาย (เงินเชื่อ)44บวก
เพิ่มหนี้(ขาย)46บวก
ตั้งหนี้ยกมา / เพิ่มหนี้ยกมา (ลูกหนี้)93, 95บวก
ตั้งหนี้อื่นๆ / เพิ่มหนี้อื่นๆ (ลูกหนี้)99, 101บวก
เช็ครับคืน/ตั้งหนี้ใหม่418บวก
รายได้อื่น / เพิ่มหนี้รายได้อื่นๆ250, 254บวก
บันทึกการขายสินทรัพย์1802บวก
รับคืน/ลดหนี้48ลบ
ลดหนี้ยกมา / ลดหนี้อื่นๆ (ลูกหนี้)97, 103ลบ
รายได้อื่นลดหนี้252ลบ

Query Request ​

FieldDescriptionExample
cust_codeรหัสลูกหนี้/ลูกค้าAR20-00001
from_dateวันที่เอกสาร ตั้งแต่ (≥)2022-01-01
to_dateวันที่เอกสาร ถึง (≤)2022-12-31
doc_noเลขที่เอกสาร (ค้นแบบตรงตัว)INV2201-0001
pageหน้าที่ (เริ่ม 1)1
sizeจำนวนต่อหน้า10

หมายเหตุ:

  • วันที่ใช้รูปแบบ yyyy-MM-dd และกรองจากวันที่เอกสาร (doc_date)
  • size คือจำนวนลูกหนี้ต่อหน้า เอกสารใน details ของแต่ละรายจะมาครบเสมอ
  • total_record คือจำนวนลูกหนี้ทั้งหมดที่มีหนี้คงค้างตามเงื่อนไข
  • เรียงจากยอดคงค้างมากไปน้อย
  • เมื่อกรองด้วย from_date/to_date ค่า ar_balance จะเป็นผลรวมเฉพาะเอกสารในช่วงนั้น ไม่ใช่ยอดหนี้ทั้งหมดของลูกค้า

Example: ​

GET localhost:8084/SMLJavaRESTService/arstatus/v4?page=1&size=10
GET localhost:8084/SMLJavaRESTService/arstatus/v4?cust_code=AR20-00001
GET localhost:8084/SMLJavaRESTService/arstatus/v4?from_date=2022-01-01&to_date=2022-12-31&page=1&size=10

Response Success ​

ตัวอย่างจริงจากคำสั่ง GET /SMLJavaRESTService/arstatus/v4?page=1&size=1&cust_code=SPY001019

json
{
    "success": true,
    "data": [
        {
            "cust_code": "SPY001019",
            "cust_name": "ร้านพีค",
            "credit_money": 1,
            "credit_day": 30,
            "ar_balance": 6800,
            "ar_credit_balance": -6799,
            "doc_count": 2,
            "details": [
                {
                    "cust_code": "SPY001019",
                    "doc_no": "INV2205-0003",
                    "doc_date": "2022-05-11",
                    "doc_type": 44,
                    "doc_type_name": "ขาย",
                    "due_date": "2022-05-11",
                    "credit_day": 0,
                    "over_due_day": 1596,
                    "amount": 5400,
                    "balance_amount": 5400,
                    "used_status": 0,
                    "tax_doc_no": "INV2205-0003",
                    "tax_doc_date": "2022-05-11",
                    "ref_doc_no": "",
                    "branch_code": "001",
                    "remark": ""
                },
                {
                    "cust_code": "SPY001019",
                    "doc_no": "INV2209-0007",
                    "doc_date": "2022-09-13",
                    "doc_type": 44,
                    "doc_type_name": "ขาย",
                    "due_date": "2022-10-13",
                    "credit_day": 30,
                    "over_due_day": 1441,
                    "amount": 1400,
                    "balance_amount": 1400,
                    "used_status": 0,
                    "tax_doc_no": "INV2209-0007",
                    "tax_doc_date": "2022-09-13",
                    "ref_doc_no": "",
                    "branch_code": "001",
                    "remark": ""
                }
            ]
        }
    ],
    "pages": {
        "size": 1,
        "page": 1,
        "total_record": 1,
        "max_page": 1
    }
}

Response Error ​

json
{
    "success": false,
    "error": true,
    "message": "error message",
    "code": "99"
}

ArStatus Information ​

ดึงสถานะลูกหนี้ทีละ 1 ราย พร้อมเอกสารที่ยังค้างชำระ

EndPoint ​

GET /SMLJavaRESTService/arstatus/v4/{cust_code}

Path Parameter ​

NameDescriptionExample
cust_codeรหัสลูกหนี้ — ถ้าลูกหนี้รายนั้นไม่มีหนี้คงค้างจะได้ 404SPY001017

ใช้ query from_date / to_date / doc_no ร่วมด้วยได้เหมือนหัวข้อ List

Example: ​

GET localhost:8084/SMLJavaRESTService/arstatus/v4/SPY001017

Response Success ​

ตัวอย่างจริงจากคำสั่ง GET /SMLJavaRESTService/arstatus/v4/SPY001017

json
{
    "success": true,
    "data": {
        "cust_code": "SPY001017",
        "cust_name": "วันเพ็ญ",
        "credit_money": 1,
        "credit_day": 30,
        "ar_balance": 38711,
        "ar_credit_balance": -38710,
        "doc_count": 6,
        "details": [
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2107-0001",
                "doc_date": "2021-07-14",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2021-07-14",
                "credit_day": 0,
                "over_due_day": 1897,
                "amount": 8000,
                "balance_amount": 8000,
                "used_status": 0,
                "tax_doc_no": "INV2107-0001",
                "tax_doc_date": "2021-07-14",
                "ref_doc_no": "",
                "branch_code": "001",
                "remark": ""
            },
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2207-0001",
                "doc_date": "2022-07-08",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2022-07-08",
                "credit_day": 0,
                "over_due_day": 1538,
                "amount": 16108,
                "balance_amount": 16108,
                "used_status": 0,
                "tax_doc_no": "INV2207-0001",
                "tax_doc_date": "2022-07-08",
                "ref_doc_no": "",
                "branch_code": "001",
                "remark": ""
            },
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2208-0003",
                "doc_date": "2022-08-17",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2022-08-17",
                "credit_day": 0,
                "over_due_day": 1498,
                "amount": 4999,
                "balance_amount": 4999,
                "used_status": 0,
                "tax_doc_no": "INV2208-0003",
                "tax_doc_date": "2022-08-17",
                "ref_doc_no": "",
                "branch_code": "001",
                "remark": ""
            },
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2301-0008",
                "doc_date": "2023-01-31",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2023-03-02",
                "credit_day": 30,
                "over_due_day": 1301,
                "amount": 5136,
                "balance_amount": 5136,
                "used_status": 0,
                "tax_doc_no": "INV2301-0008",
                "tax_doc_date": "2023-01-31",
                "ref_doc_no": "",
                "branch_code": "",
                "remark": ""
            },
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2301-0009",
                "doc_date": "2023-01-31",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2023-03-02",
                "credit_day": 30,
                "over_due_day": 1301,
                "amount": 2568,
                "balance_amount": 2568,
                "used_status": 0,
                "tax_doc_no": "INV2301-0009",
                "tax_doc_date": "2023-01-31",
                "ref_doc_no": "",
                "branch_code": "",
                "remark": ""
            },
            {
                "cust_code": "SPY001017",
                "doc_no": "INV2304-0002",
                "doc_date": "2023-04-27",
                "doc_type": 44,
                "doc_type_name": "ขาย",
                "due_date": "2023-05-27",
                "credit_day": 30,
                "over_due_day": 1215,
                "amount": 1900,
                "balance_amount": 1900,
                "used_status": 0,
                "tax_doc_no": "INV2304-0002",
                "tax_doc_date": "2023-04-27",
                "ref_doc_no": "",
                "branch_code": "",
                "remark": ""
            }
        ]
    }
}

Response Error ​

ไม่พบลูกหนี้ที่มีหนี้คงค้างตามรหัสที่ระบุ → HTTP 404

json
{
    "success": false,
    "error": true,
    "message": "ArStatus not found: SPY001017",
    "code": "404"
}

ArStatus Attribute ​

ทุกฟิลด์เป็นข้อมูลที่ระบบคืนกลับมา (เมนูนี้ไม่มี POST)

Field NameField TypeLengthDescription
ar_balanceFloatยอดหนี้คงค้างรวมของลูกหนี้รายนี้
ar_credit_balanceFloatวงเงินเครดิตคงเหลือ = credit_money − ar_balance
credit_dayIntegerจำนวนวันเครดิตของลูกหนี้
credit_moneyFloatวงเงินเครดิตของลูกหนี้
cust_codeString25รหัสลูกหนี้/ลูกค้า
cust_nameString255ชื่อลูกหนี้/ลูกค้า
detailsArrayเอกสารที่ยังค้างชำระ (ดู AR Status Detail)
doc_countIntegerจำนวนเอกสารที่ยังค้างชำระ

ArStatus Detail ​

Field NameField TypeLengthDescription
amountFloatจำนวนเงินตามเอกสาร (เอกสารลดหนี้/รับคืนเป็นค่าติดลบ)
balance_amountFloatยอดคงค้างของเอกสารนี้
branch_codeString25รหัสสาขา
credit_dayIntegerจำนวนวันเครดิตของเอกสาร
cust_codeString25รหัสลูกหนี้/ลูกค้า
doc_dateDateวันที่เอกสาร
doc_noString25เลขที่เอกสาร
doc_typeIntegerรหัสประเภทเอกสาร (trans_flag)
doc_type_nameString255ชื่อประเภทเอกสาร เช่น ขาย, รับคืน, เพิ่มหนี้(ขาย)
due_dateDateวันครบกำหนดชำระ
over_due_dayIntegerจำนวนวันที่เกินกำหนดชำระ (0 = ยังไม่ถึงกำหนด)
ref_doc_dateDateวันที่เอกสารอ้างอิง
ref_doc_noString25เลขที่เอกสารอ้างอิง
remarkString255หมายเหตุ
tax_doc_dateDateวันที่ใบกำกับภาษี
tax_doc_noString25เลขที่ใบกำกับภาษี
used_statusIntegerสถานะการใช้เอกสาร