ระบบซื้อขาย หรือ โปรแกรมซื้อขาย | ||
น.ส.นฤมล กิจสวัสดิ์ Tel.08-5030-5069 ID.4501008
นำเสนอระบบร้านขายยา (Drug Store System) เป็นตัวอย่างที่น่าสนใจ .. จึงนำเสนอ Entity Relation ให้ดูเป็นตัวอย่าง http://home.1asphost.com/narumon12345 |
อาจารย์ที่ปรึกษา : อ.ถนอม คณิตปัญญาเจริญ (thanom@yonok.ac.th)
อาจารย์ท่านนี้รับพัฒนาโปรแกรม เป็นอาชีพเสริม Tel.0-9757-1846, 0-5431-6809 | ||||||||||||
Entity Relation แสดงระบบร้ายขายยา ของ น.ส.นฤมล กิจสวัสดิ์
| |||||||||||||
รับสินค้าจากการสั่งซื้อ | สินค้ารอการส่งเปลี่ยน | ||||||||||||
องค์ประกอบ และกระบวนการ ของระบบสั่งซื้อ ระบบสั่งซื้อโดยทั่วไป ผมมักนึกถึง ระบบของ NorthWind ใน Microsoft Access
|
โครงสร้างตารางของระบบร้านขายยา โดย น.ส.นฤมล กิจสวัสดิ์
1. ตาราง employee (พนักงาน)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| empcode
| Number
| รหัสพนักงาน
|
|
| cmpname
| Text
| ชื่อพนักงาน
|
|
| address
| Text
| ที่อยู่
|
|
| zipcode
| Text
| รหัสไปรษณีย์
|
|
| telephone
| Text
| เบอร์โทรศัพท์
|
|
| username
| Text
| ผู้ใช้
|
|
| password
| Text
| รหัสผู้ใช้
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ ยกเลิกการใช้งาน
|
| 2. ตาราง
customer (ลูกค้า)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| cuscode
| Number
| รหัสลูกค้า
|
|
| firstname
| Text
| คำนำหน้าชื่อ
|
|
| cusname
| Text
| ชื่อลูกค้า
|
|
| address
| Text
| ที่อยู่
|
|
| zipcode
| Text
| รหัสไปรษณีย์
|
|
| telephone
| Text
| เบอร์โทรศัพท์
|
|
| credit
| Number
| วงเงินเครดิต
|
|
| payment
| Number
| จำนวนค้างชำระ
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1คือ ยกเลิกการใช้งาน
|
| 3. ตาราง typeproduct (ประเภทยา)
|
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| typecode
| Number
| รหัสประเภทยา
|
|
| typename
| Text
| ชื่อประเภทยา
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ ยกเลิกการใช้งาน
|
| 4. ตาราง
product (สินค้า)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| productcode
| Number
| รหัสยา
|
|
| productname
| Text
| ชื่อยา
|
|
| productnamescience
| Text
| ชื่อสามัญทางยา
|
|
| productdescription
| Memo
| สรรพคุณ
|
|
| productamount
| Number
| จำนวนคงเหลือ
|
|
| productcount
| Text
| หน่วยนับ
|
|
| productsize
| Text
| ขนาด
|
|
| productprice
| Number
| ราคาขาย
|
|
| productbuy
| Number
| ราคาซื้อ
|
|
| productorder
| Number
| จุดสั่งซื้อ
|
|
| typecode
| Number
| ประเภทสินค้า
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ ยกเลิกการใช้งาน
|
|
| supcode
| Number
| รหัสผู้จำหน่าย
|
| 5. ตาราง
supplier (ผู้จำหน่าย)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| supcode
| Number
| รหัสผู้จำหน่าย
|
|
| supname
| Text
| ชื่อผู้จำหน่าย
|
|
| address
| Text
| ที่อยู่
|
|
| zipcode
| Number
| รหัสไปรษณีย์
|
|
| telephone
| Text
| เบอร์โทรศัพท์
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ ยกเลิกการใช้งาน
|
|
| payment
| Number
| ยอดหนี้
|
| 6. ตาราง discription (สาเหตุการเปลี่ยน)
|
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| discriptioncode
| Number
| รหัสส่าเหตุการเปลี่ยน
|
|
| discriptionname
| Text
| ชื่อสาเหตุการเปลี่ยน
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ ยกเลิกการใช้งาน
|
| 7. ตาราง buy (การสั่งซื้อหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| buycode
| Number
| เลขที่การสั่งซื้อ
|
|
| buydate
| Date/Time
| วันที่การสั่งซื้อ
|
|
| supcode
| Number
| รหัสผู้จำหน่าย
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ยังไม่ได้รับ 1 คือ รับแล้ว
|
| 8. ตาราง
buydetail (การสั่งซื้อละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| buycode
| Number
| เลขที่การสั่งซื้อ
|
| /
| productcode
| Number
| รหัสสินค้า
| product
|
| buyamount
| Number
| จำนวนที่สั่งซื้อ
|
|
| buypement
| Number
| จำนวนค้างรับ
|
|
| buyprice
| Number
| ราคา/หน่วยที่สั่งซื้อ
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ยังไม่ได้รับ 1 คือ รับแล้ว
|
| 9. ตาราง
receive (การรับจากการสั่งซื้อหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| receivecode
| Number
| เลขที่การรับสินค้า
|
|
| receivedate
| Date/Time
| วันที่รับสินค้า
|
|
| receiveinvoince
| Text
| เลขที่ใบส่งของ
|
|
| buycode
| Number
| เลขที่การสั่งซื้อ
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| supcode
| Number
| รหัสผู้จำหน่าย
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ยังไม่ได้รับ 1 คือ รับแล้ว
|
|
| receivelimit
| Date/Time
| วันที่ครบกำหนดชำระ
|
| 10. ตาราง
receivedetail (การรับจากการสั่งซื้อละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| receivecode
| Number
| เลขที่การรับสินค้า
|
| /
| productcode
| Number
| รหัสยา
| product
|
| receiveamount
| Number
| จำนวนที่รับ
|
|
| receivebuy
| Number
| ราคา/หน่วยที่รับ
|
| 11. ตาราง
productwait (สินค้ารอส่งเปลี่ยน)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| productcode
| Number
| รหัสยา
|
| /
| discriptioncode
| Number
| รหัสสาเหตุการเปลี่ยน
| discription
|
| productamount
| Number
| จำนวนสินค้า
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ยังไม่ได้รับ 1 คือ รับแล้ว
|
| 12. ตาราง
bringproduct (การส่งเปลี่ยนหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| bringcode
| Number
| เลขที่การเปลี่ยนคืน
|
|
| bringdate
| Date/Time
| วันที่เปลี่ยนคืน
|
|
| supcode
| Number
| รหัสผู้จำหน่าย
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ไม่ได้รับ 1 คือ ได้รับแล้ว
|
| 13. ตาราง
bringproductdetail (การส่งเปลี่ยนละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| bringcode
| Number
| เลขที่การเปลี่ยนคืน
|
| /
| productcode
| Number
| รหัสยา
| product
| /
| discriptioncode
| Number
| สาเหตุการเปลี่ยน
| discription
|
| bringamount
| Number
| จำนวนส่งเปลี่ยน
|
|
| bringpement
| Number
| จำนวนค้างส่ง
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ยังไม่ได้ส่ง 1 คือ ส่งแล้ว
|
| 14. ตาราง
receivebring (การรับจากการส่งเปลี่ยนหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| receivecode
| Number
| เลขที่การรับสินค้าจากการส่งคืน
|
|
| receivedate
| Date/Time
| วันที่รับสินค้าจากการส่งคืน
|
|
| receiveinvoince
| Text
| เลขที่ใบส่งของ
|
|
| bringcode
| Number
| เลขที่การสั่งซื้อ
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| supcode
| Number
| รหัสผู้จำหน่าย
|
|
| status
| Number
| สถานะการใช้งาน 0 คือ ยังไม่ได้รับ 1 คือ รับแล้ว
|
| 15. ตาราง
receivebringdetail (การรับจากการส่งเปลี่ยนละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| receivecode
| Number
| เลขที่การรับสินค้าจากการส่งคืน
|
| /
| productcode
| Number
| รหัสยา
| product
|
| receiveamount
| Number
| จำนวนที่รับสินค้าจากการส่งคืน
|
|
| receivepement
| Number
| จำนวนค้างรับ
|
| 16. ตาราง
sale (การขายหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| salecode
| Number
| เลขที่การขาย
|
|
| saledate
| Date/Time
| วันที่ขาย
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| saletype
| Number
| รหัสประเภทการขาย
0 ขายสด 1 ขายเชื่อ
|
|
| cuscode
| Number
| รหัสลูกค้า
|
|
| datelimit
| Date/Time
| วันครบชำระ
|
|
| status
| Number
| สถานะการใช้งาน
0 คือ ใช้งานปกติ 1 คือ
ยกเลิกการใช้งาน
|
| 17. ตาราง
saledetail (การขายละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| salecode
| Number
| เลขที่การขาย
|
| /
| productcode
| Number
| รหัสสินค้า
| product
|
| saleamount
| Number
| จำนวนที่ขาย
|
|
| saleprice
| Number
| ราคาที่ขาย
|
| 18. ตาราง
recredit (การรับชำระเงิน)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| recreditcode
| Number
| เลขที่การรับชำระเงิน
|
|
| recreditdate
| Date/Time
| วันที่รับชำระเงิน
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| salecode
| Number
| เลขที่การขาย
|
|
| recreditamount
| Number
| จำนวนเงินที่รับชำระ
|
| 19. ตาราง
payment (การจ่ายชำระเงิน)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| paymentcode
| Number
| เลขที่การจ่ายชำระเงิน
|
|
| paymentdate
| Date/Time
| วันที่จ่ายชำระเงิน
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| receivecode
| Number
| เลขที่การรับ
|
|
| paymentamount
| Number
| จำนวนเงินที่ต้องชำระ
|
| 20. ตาราง
getchangproduct (การรับเปลี่ยนคืนหลัก)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| getcode
| Number
| เลขที่การรับเปลี่ยนคืนจากลูกค้า
|
|
| getdate
| Date/Time
| วันที่รับเปลี่ยนคืนจากลูกค้า
|
|
| empcode
| Number
| รหัสพนักงาน
|
|
| salecode
| Number
| รหัสการขาย
|
| 21. ตาราง
getchangproductdetail (การรับเปลี่ยนคืนละเอียด)
|
| PK
| Field Name
| DateType
| Description
| FK
| /
| getcode
| Number
| เลขที่การรับเปลี่ยนคืนจากลูกค้า
|
| /
| productcode
| Number
| รหัสยา
| product
|
| getchangamount
| Number
| จำนวนที่รับเปลี่ยน
|
|
| productcodenew
| Number
| รหัสยาใหม่
|
|
| productnamenew
| Text
| ชื่อยาใหม่
|
|
| productpricenew
| Number
| ราคา/หน่วย
|
| |
http://www.hpssolution.com/index.php?option=com_content&task=view&id=29&Itemid=32 มีคุณสมบัติ ดังนี้ ระบบซื้อ (Purchase order): 1. การเสนอราคา (Quotations) 2. การสั่งซื้อสินค้า (Purchases Order) 3. การรับสินค้าจากการสั่งซื้อ (Purchases Order Receipt (Packing Slip)) 4. การส่งคืนสินค้าจากการซื้อ (Purchase Return Item) 5. การติดตามรายการสินค้าค้างรับ (Back Order Status) 6. สามารถสร้าง PO อัตโนมัติได้จาก production order, sales orders หรือ inventory coverage rules (Master Planning) 7. สามารถสร้าง PO โดยเชื่องโยงกับ sales orders ได้โดยตรงเพื่อสนับสนุนการทำงานแบบ just-in-time ระบบขาย (Sales order) 1. การเสนอราคา (Quotations) AX สามารถจัดทำใบเสนอราคาได้หลาย Version และ AX มีการเก็บประวัติของการจัดทำใบเสนอราคาให้ ทำให้ง่ายต่อการรายการย้อนหลัง หรือประวัติการจัดทำได้ AX ง่ายต่อการคัดลอกใบเสนอราคาเก่า มาจัดทำใบเสนอราคาใหม่ได้ง่าย ความสามารถในการจัดการกับ Quotations ทำให้ง่ายต่อการติดตามสถานะงานขายได้อย่างรวดเร็ว Real - Time เช่น การเก็บประวัติการส่ง Quotations ให้กับลูกค้า การส่ง Quotation แล้ว Win การส่ง Quotation แล้ว Loss โดยสามารถระบุสาเหตุของการ Loss ได้ ดังนั้นทำให้ง่ายต่อการบริหารจัดการงานขายได้ต่อไปโดยง่าย ความง่ายในการต่อยอดกับระบบ CRM เนื่องจาก AX มี CRM มาให้แล้วในตัว 2. การสั่งขายสินค้า (Sales Order) 3. การส่งสินค้าจากการขาย (Sales Order Shipment (Packing Slip)) 4. การรับคืนสินค้าจากการขาย (Sales Return Item) 5. การติดตามรายการสินค้าค้างส่ง (Back Order Status) 6. สามารถคำนวณวันที่ส่งสินค้าได้อย่างถูกต้อง ทำให้สามารถยืนยันการขายกับลูกค้าได้อย่างรวดเร็ว 7. สามารถแปลงค่าเงินได้ทันทีที่ออก order 8. AX คำนวณค่าคอมมิชชั่นให้กับพนักงานขายได้ตาม Customer Group, Item Group, Sales Group หรือตามพนักงานขายแต่ละคนให้อัตโนมัติ ความง่ายต่อการใช้เงื่อนไขทางการค้า (Easy-to-use price overview/Trade Agreement): 1. มีความยืดหยุ่นในการคำนวณราคาขายได้ตามเงื่อนไขดังนี้ การกำหนดราคาซื้อ/ราคาขาย (Purchases Price & Sales Price)้ การกำหนดส่วนลดท้ายบิล (Total Discount) ส่วนลดทั้งของบิลซื้อ/ขาย การกำหนดส่วนลดตามสินค้าแต่ละรายการ (Line Discount) การกำหนดส่วนลดตามสินค้าหลายรายการ (Multi Line Discount) การกำหนดของแถม (Supplementary) การกำหนดค่าใช้จ่ายในการซื้อ/ขายเพิ่มเติม 2. สามารถกำหนดราคาขาย ส่วนลด แยกตามกลุ่มลูกค้าหรือลูกค้ารายตัวได้ความสัมพันธ์ที่กำหนดไว้ 3. ราคาขายสามารถกำหนดเป็นช่วงเวลาตามโปรโมชั่น หรือสัญญาได้ 4. สามารถเปรียบเทียบต้นทุนกับรายได้จากการขายได้ Direct open-transaction Editing: 1. เมื่อออก credit notes สามารถหักหนี้กับ invoices ได้โดยตรง 2. สามารถหักหนี้กับเงินรับล่วงหน้าได้ทันทีเมื่อออก invoice กำหนดสินค้าทดแทน (Alternate items): 1. สามารถกำหนดสินค้าทดแทนได้อัตโนมัติ ในกรณีที่ไม่มีสินค้าที่ต้องการแล้ว สามารถใช้สินค้าอื่นทดแทนกันได้ Delivery fulfillment status, partial delivery: 1. สามารถดูสถานะ การส่งสินค้า หรือจำนวนสินค้าค้างส่งได้จาก sales order 2. สามารถกำหนดปริมาณสินค้าที่ขาดส่งได้ว่าถ้าเกินจากจำนวนที่กำหนดจะให้ยอมรับสินค้าหรือไม่ วิธีการคำนวณต้นทุนสินค้าคงเหลือ (Cost price principles): 1. รองรับวิธีการคำนวณสินค้าคงเหลือ ได้แก่ FIFO, LIFO, Standard cost price และ weighted average 2. สามารถกำหนดวิธีการคำนวณสินค้าคงเหลือแยกตามกลุ่มสินค้าไม่เหมือนกันได้ C.O.D. (Cash on Delivery): 1. สามารถพิมพ์เอกสารการรับเงินเมื่อส่งสินค้าได้เมื่อออก invoice 2. ระบบช่วยติดตามยอดค้างรับของ C.O.D ได้ Ledger reconciliation: 1. การกระทบยอดสินค้าคงคลังกับบัญชีแยกประเภททำได้อย่างรวดเร็ว เนื่องจากข้อมูลเชื่อมโยงถึงกัน Allocation of miscellaneous charges on cost prices: 1. สามารถ charge ค่าใช้จ่ายอื่น ๆ เช่น ค่าขนส่ง ค่าภาษี เข้าเป็นต้นทุนของสินค้าได้ 2. ค่าใช้จ่ายอื่น ๆ สามารถคำนวณแปรผันตามจำนวนสินค้าได้ 3. สามารถปรับปรุงค่าใช้จ่ายอื่น ๆ เข้าเป็นต้นทุนสินค้าได้หลังจาก post invoice ไปแล้ว Blanket orders: 1. รองรับ blanket orders เช่น ต้องส่งสินค้าให้ลูกค้าทั้งปีเป็นจำนวน 1200 ชิ้น โดยส่งเป็นงวดเดือน เดือนละ 100 ชิ้น โดย release ออกจาก blanket order ไปเป็น sales order แต่ละเดือน้ 2. สามารถเรียกดูสถานะ การส่งสินค้าของ blanket order ได้ Returned items: 1. พิมพ์ credit notes เมื่อรับคืนสินค้า 2. สามารถบันทึกสินค้ารับคืนเป็น scrap ได้ หรือส่งกลับไปซ่อม รวมทั้งเก็บประวัติเหตุผลการคืนสินค้าเ พื่อใช้วางแผนต่อไป ระบบสินค้าคงคลัง (Inventory Management): 1. สามารถจัดเก็บและตรวจสอบสถานะของรายการสินค้าต่างๆ ได้ตาม Warehouse, Location, Item Dimension (Size, Color, Configuration), Batch Number, Serial No. และ Pallet ID) ได้โดยง่าย AX สามารถตรวจสอบรายการสินค้าได้ดังนี้ สถานะ ณ การสั่งซื้อสินค้า (สามารถตรวจสอบได้ว่ามีมีการสั่งซื้อสินค้าไปแล้วเท่าไหร่ และเมื่อไหร่) สถานะ การเตรียมการรับสินค้า เพื่อเตรียมความพร้อมในการรับสินค้า เช่นสถานที่ สถานะ สินค้าที่รับเข้าคลังสินค้า สถานะ ณ การออกใบเสนอราคา สถานะ การออกใบสั่งขาย และเมื่อมีการจองสินค้า สถานะ การเตรียมส่งสินค้า เพื่อเตรียมพร้อมในการส่งสินค้า เช่น รถขนส่งสินค้า สถานะ สินค้าที่ได้มีการส่งถึงมือลูกค้าเรียบร้อยแล้ว 2. การตรวจนับสินค้า ได้ตาม Warehouse, Location, Item Dimension (Size, Color, Configuration), Batch Number, Serial No. และ Pallet ID) และจัดทำได้โดยง่าย 3. การรองรับระบบหน่วยสินค้า AX รองรับหน่วยสินค้า ได้ 3 หน่วยคือหน่วยในการจัดซื้อ หน่วยในการขาย หน่วยในการจัดเก็บสินค้า 4. รองรับการโอนย้ายสินค้า 5. การผลิตและตัดเบิกตาม BOM 6. Item Forecasting (การพยากรณ์สินค้า) AX รองรับการ Forecast สินค้าได้ ดังนี้ Sales Forecast, Purchase Forecast and Inventory forecast 7. Bar Code RFID |