เทมเพลตข้อมูล Order to Cash ด้านการวางบิลและออกใบแจ้งหนี้
เทมเพลตข้อมูล Order to Cash ด้านการวางบิลและออกใบแจ้งหนี้
- แอตทริบิวต์ที่แนะนำให้เก็บ
- กิจกรรมสำคัญที่ควรติดตาม
- คำแนะนำในการดึงข้อมูลจาก NetSuite
แอตทริบิวต์ Order to Cash ด้านการวางบิลและออกใบแจ้งหนี้
| ชื่อ | คำอธิบาย | ||
|---|---|---|---|
| ชื่อกิจกรรม ActivityName | ชื่อเหตุการณ์ทางธุรกิจที่เกิดขึ้น ณ จุดหนึ่งในวงจรของใบแจ้งหนี้. | ||
| คำอธิบาย ชื่อกิจกรรมใช้ระบุขั้นตอนหรือเหตุการณ์เฉพาะในกระบวนการวางบิล เช่น 'สร้างใบแจ้งหนี้' 'อนุมัติใบแจ้งหนี้แล้ว' หรือ 'ได้รับชำระเงินจากลูกค้า' กิจกรรมเหล่านี้ประกอบกันเป็นลำดับขั้นของแผนผังกระบวนการ การวิเคราะห์ลำดับและความถี่ของกิจกรรมเป็นพื้นฐานสำคัญของ process mining ช่วยให้เห็นภาพการไหลของกระบวนการจริง ระบุเส้นทางที่พบได้บ่อยและไม่บ่อย รวมถึงค้นหากิจกรรมที่เกิดซ้ำบ่อย ซึ่งอาจบ่งชี้ถึงงานแก้ไขซ้ำหรือความไม่มีประสิทธิภาพ. เหตุผลที่สำคัญ คุณลักษณะนี้เป็นพื้นฐานในการสร้างแผนผังกระบวนการ เพื่อแสดงภาพและวิเคราะห์ขั้นตอนกับเส้นทางต่างๆ ที่ใบแจ้งหนี้ดำเนินไป. แหล่งข้อมูล ได้จากบันทึกระบบ การเปลี่ยนสถานะ หรือบันทึกเหตุการณ์เฉพาะที่เกี่ยวข้องกับธุรกรรม Invoice ใน NetSuite โดยมักต้องจับคู่การเปลี่ยนสถานะธุรกรรมหรือการสร้างรายการที่เกี่ยวข้องกับชื่อกิจกรรมที่กำหนดไว้. ตัวอย่าง สร้างใบแจ้งหนี้แล้วอนุมัติใบแจ้งหนี้แล้วได้รับชำระเงินจากลูกค้าแล้วชำระใบแจ้งหนี้ครบแล้ว | |||
| เวลาที่เกิดเหตุการณ์ EventTimestamp | วันที่และเวลาที่แน่นอนซึ่งกิจกรรมหรือเหตุการณ์เกิดขึ้น. | ||
| คำอธิบาย คุณลักษณะนี้บันทึกเวลาที่กิจกรรมเกิดขึ้นอย่างแม่นยำ ใช้เรียงลำดับเหตุการณ์ตามเวลาและเป็นข้อมูลสำคัญสำหรับการวิเคราะห์ด้านเวลา ใน process mining เวลาของเหตุการณ์ใช้คำนวณระยะเวลาระหว่างกิจกรรม ระยะเวลาของแต่ละกรณี และเวลารอ ช่วยระบุคอขวด วัดผลการดำเนินงานของกระบวนการเทียบกับ SLA และทำความเข้าใจจังหวะเวลาของกระบวนการวางบิล ตัวอย่างเช่น ใช้คำนวณระยะเวลาตั้งแต่เริ่มจนสร้างใบแจ้งหนี้และระยะเวลาเก็บหนี้เฉลี่ย (DSO). เหตุผลที่สำคัญ ข้อมูลนี้แสดงลำดับเหตุการณ์ตามเวลา ซึ่งจำเป็นต่อการคำนวณตัวชี้วัดด้านระยะเวลา การระบุคอขวด และการวิเคราะห์ผลการดำเนินงานของกระบวนการในแต่ละช่วงเวลา. แหล่งข้อมูล โดยทั่วไปข้อมูลเวลาจะอยู่ใน system notes ประวัติการตรวจสอบ หรือช่อง 'Date Created' ของรายการที่เกี่ยวข้องกับธุรกรรมใบแจ้งหนี้แต่ละรายการใน NetSuite. ตัวอย่าง 2023-10-26T10:00:00Z2023-10-27T14:30:00Z2023-11-15T09:05:00Z | |||
| หมายเลขใบแจ้งหนี้ InvoiceNumber | รหัสเฉพาะของเอกสารใบแจ้งหนี้แต่ละฉบับ ใช้เป็นรหัสกรณีหลักสำหรับกระบวนการวางบิล. | ||
| คำอธิบาย หมายเลขใบแจ้งหนี้เป็นหัวใจสำคัญของการวิเคราะห์กระบวนการวางบิล เพราะใช้ระบุใบแจ้งหนี้แต่ละฉบับได้อย่างไม่ซ้ำกัน ตั้งแต่สร้างจนปิดรายการ และรวบรวมกิจกรรมที่เกี่ยวข้อง เช่น การอนุมัติ การส่ง และการนำเงินไปตัดยอด ไว้ในกรณีเดียวกัน ใน process mining การวิเคราะห์เส้นทางของใบแจ้งหนี้แต่ละหมายเลขช่วยให้เห็นวงจรการวางบิลทั้งหมด ทำให้ระบุรูปแบบกระบวนการ คอขวด และขั้นตอนที่เบี่ยงเบนจากวิธีปฏิบัติมาตรฐานได้ ข้อมูลเชิงลึกนี้ช่วยปรับปรุงกระแสเงินสดและประสิทธิภาพการปฏิบัติการ. เหตุผลที่สำคัญ ข้อมูลนี้จำเป็นต่อการติดตามวงจรของใบแจ้งหนี้แต่ละฉบับตั้งแต่ต้นจนจบ ช่วยสร้างภาพกระบวนการวางบิลทั้งหมดขึ้นใหม่และวิเคราะห์ผลการดำเนินงานได้อย่างละเอียด. แหล่งข้อมูล โดยทั่วไปคือช่อง 'Transaction ID' หรือช่องรหัสเฉพาะอื่นที่คล้ายกันในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง INV-0012345INV-0012346INV-0012347 | |||
| ระบบต้นทาง SourceSystem | ระบบที่ใช้ดึงข้อมูลออกมา. | ||
| คำอธิบาย คุณลักษณะนี้ระบุแหล่งที่มาของข้อมูลกระบวนการ สำหรับมุมมองนี้ ค่าจะเป็น 'NetSuite' เสมอ ในการวิเคราะห์ข้อมูลภาพรวม โดยเฉพาะองค์กรที่ใช้ ERP หลายระบบหรือมีระบบเชื่อมต่อกัน คุณลักษณะนี้สำคัญต่อการติดตามที่มาของข้อมูลและการกำกับดูแล ช่วยแยกกระบวนการที่อาจดำเนินผ่านหลายแพลตฟอร์ม และทำให้ระบุระบบต้นทางของผลการวิเคราะห์ได้ถูกต้อง. เหตุผลที่สำคัญ ข้อมูลนี้ช่วยระบุที่มาและการกำกับดูแลข้อมูล โดยเฉพาะในสภาพแวดล้อมที่เชื่อมต่อหลายระบบเข้าด้วยกัน. แหล่งข้อมูล เพิ่มค่าแบบคงที่ ('NetSuite') ระหว่างการดึงและแปลงข้อมูล. ตัวอย่าง NetSuite | |||
| อัปเดตข้อมูลล่าสุด LastDataUpdate | เวลาที่ระบุว่ามีการรีเฟรชข้อมูลจากระบบต้นทางครั้งล่าสุดเมื่อใด. | ||
| คำอธิบาย คุณลักษณะนี้บันทึกเวลาที่อัปเดตชุดข้อมูลครั้งล่าสุด เพื่อให้ทราบว่าการวิเคราะห์ process mining อ้างอิงข้อมูลใหม่เพียงใดและยังเกี่ยวข้องกับสถานการณ์ปัจจุบันหรือไม่ นักวิเคราะห์และผู้เกี่ยวข้องทางธุรกิจใช้ข้อมูลนี้ตรวจสอบว่าข้อมูลเชิงลึกสะท้อนสถานะการปฏิบัติการล่าสุดหรือไม่ ข้อมูลกำกับนี้สำคัญสำหรับแดชบอร์ดหรือรายงานทุกชิ้น เพราะช่วยให้ตัดสินใจโดยทราบอายุของข้อมูล และไม่เข้าใจผิดว่าเป็นข้อมูลเรียลไทม์หากไม่ใช่. เหตุผลที่สำคัญ ข้อมูลนี้ช่วยให้ผู้ใช้ทราบว่าข้อมูลเป็นปัจจุบันเพียงใด และเข้าใจช่วงเวลาที่ใช้วิเคราะห์กับความเกี่ยวข้องของข้อมูลเชิงลึก. แหล่งข้อมูล เครื่องมือหรือไปป์ไลน์ดึงข้อมูลจะสร้างและบันทึกเวลานี้เมื่อรีเฟรชข้อมูล. ตัวอย่าง 2024-05-21T02:00:00Z | |||
| ชื่อลูกค้า CustomerName | ชื่อลูกค้าที่ออกใบแจ้งหนี้ให้. | ||
| คำอธิบาย คุณลักษณะนี้ระบุนิติบุคคลหรือบุคคลที่ถูกเรียกเก็บเงิน และเชื่อมโยงกระบวนการวางบิลกับงานบริหารความสัมพันธ์ลูกค้า การวิเคราะห์กระบวนการวางบิลแยกตามลูกค้าช่วยให้เห็นรูปแบบการชำระเงิน ข้อโต้แย้ง หรือความซับซ้อนของใบแจ้งหนี้สำหรับลูกค้าแต่ละราย ข้อมูลนี้ใช้ประกอบการแบ่งกลุ่มลูกค้า การกำหนดวงเงินสินเชื่อ และการวางแนวทางติดตามทวงถามให้เหมาะกับแต่ละรายได้ เช่น ช่วยให้เห็นว่าลูกค้ารายใดมีใบแจ้งหนี้ที่ต้องแก้ไขซ้ำเป็นประจำ. เหตุผลที่สำคัญ ช่วยวิเคราะห์โดยแยกตามลูกค้า เพื่อค้นหารูปแบบการชำระเงิน ปัญหาที่เกิดซ้ำ หรือขั้นตอนที่เบี่ยงเบนซึ่งเกี่ยวข้องกับลูกค้าบางราย. แหล่งข้อมูล ตรงกับช่องชื่อ 'Customer' หรือ 'Entity' ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง Global Tech Inc.Innovate Solutions LLCCornerstone Corp | |||
| ทำงานอัตโนมัติหรือไม่ IsAutomated | ระบุว่าระบบดำเนินกิจกรรมโดยอัตโนมัติหรือไม่. | ||
| คำอธิบาย แอตทริบิวต์แบบค่าจริง/เท็จนี้ใช้แยกกิจกรรมที่ผู้ใช้ดำเนินการเองออกจากกิจกรรมที่ระบบทำงานผ่าน workflow สคริปต์ หรือการเชื่อมต่อ แอตทริบิวต์นี้ช่วยวัดระดับการทำงานอัตโนมัติในกระบวนการวางบิล และใช้คำนวณ KPI 'สัดส่วนการวางบิลอัตโนมัติ' โดยตรง เมื่อกรองกิจกรรมตามการทำงานอัตโนมัติหรือการทำงานด้วยตนเอง นักวิเคราะห์จะระบุคอขวดที่เกิดจากการแทรกแซงของคน รวมถึงหาโอกาสเพิ่มระบบอัตโนมัติ ลดข้อผิดพลาดจากคน และเพิ่มประสิทธิภาพได้. เหตุผลที่สำคัญ ช่วยวัดระดับการทำงานอัตโนมัติในกระบวนการ พร้อมระบุโอกาสลดงานที่ต้องทำด้วยตนเองและเพิ่มประสิทธิภาพ. แหล่งข้อมูล โดยทั่วไปจะพิจารณาจาก 'User' ที่เชื่อมโยงกับกิจกรรม หากผู้ใช้ชื่อ 'SYSTEM', 'Workflow' หรือ 'Integration' เป็นผู้เริ่มเหตุการณ์ ระบบจะระบุว่ากิจกรรมนั้นทำงานอัตโนมัติ. ตัวอย่าง truefalse | |||
| ผู้ใช้ User | ชื่อหรือ ID ของผู้ใช้ที่ดำเนินกิจกรรม. | ||
| คำอธิบาย คุณลักษณะนี้ระบุพนักงานหรือผู้ใช้ระบบที่รับผิดชอบขั้นตอนหนึ่งของกระบวนการ เช่น ผู้สร้างใบแจ้งหนี้ ผู้อนุมัติ หรือผู้ที่นำเงินไปตัดยอด การวิเคราะห์กระบวนการแยกตามผู้ใช้ช่วยให้เข้าใจการกระจายงาน ผลการปฏิบัติงานรายบุคคล และความต้องการด้านการฝึกอบรม นอกจากนี้ยังช่วยชี้โอกาสในการทำงานอัตโนมัติ โดยแสดงให้เห็นว่ากิจกรรมที่ทำด้วยมือใดมีผู้ใช้ดำเนินการมากที่สุด และเป็นข้อมูลสำคัญสำหรับการปฏิบัติตามข้อกำหนดกับการตรวจสอบประวัติการดำเนินงาน. เหตุผลที่สำคัญ ช่วยวิเคราะห์การกระจายงาน ผลการปฏิบัติงานรายผู้ใช้ และการทำตามขั้นตอน ซึ่งจำเป็นต่อการบริหารทรัพยากรและวางแผนฝึกอบรมให้ตรงจุด. แหล่งข้อมูล ดูได้จากแท็บย่อย System Notes หรือช่อง 'Modified By' เฉพาะในรายการ Invoice และธุรกรรมที่เกี่ยวข้องใน NetSuite. ตัวอย่าง Alice SmithBob Johnsonระบบ | |||
| ภูมิภาค Region | ภูมิภาคทางภูมิศาสตร์ที่เกี่ยวข้องกับลูกค้าหรือธุรกรรม. | ||
| คำอธิบาย คุณลักษณะภูมิภาคใช้จัดกลุ่มใบแจ้งหนี้ตามพื้นที่ ซึ่งอาจอ้างอิงจากที่อยู่ลูกค้าหรือหน่วยธุรกิจที่ออกใบแจ้งหนี้ ข้อมูลนี้ใช้เปรียบเทียบผลการดำเนินงานได้ แดชบอร์ด 'เปรียบเทียบกระบวนการวางบิลรายภูมิภาค' ใช้คุณลักษณะนี้เปรียบเทียบ KPI เช่น ระยะเวลาของกระบวนการ อัตราข้อผิดพลาด และรูปแบบกระบวนการในแต่ละภูมิภาค ช่วยระบุความแตกต่างด้านผลการดำเนินงาน ค้นหาแนวปฏิบัติที่ดีในภูมิภาคที่ทำได้ดี และกำหนดแนวทางมาตรฐานร่วมกันทั่วทั้งองค์กร. เหตุผลที่สำคัญ ช่วยเปรียบเทียบข้อมูลระหว่างพื้นที่ทางภูมิศาสตร์ เพื่อระบุช่องว่างด้านผลการดำเนินงานในแต่ละภูมิภาคและนำแนวปฏิบัติที่ดีไปใช้เป็นมาตรฐาน. แหล่งข้อมูล ข้อมูลนี้มักจัดเก็บไว้ในเซกเมนต์ที่กำหนดเองหรือช่องจัดประเภทในข้อมูลหลักลูกค้าหรือรายการธุรกรรมของ NetSuite. ตัวอย่าง อเมริกาเหนือยุโรป ตะวันออกกลาง และแอฟริกาเอเชียแปซิฟิก | |||
| ยอดรวมใบแจ้งหนี้ InvoiceTotalAmount | มูลค่าเงินรวมของใบแจ้งหนี้ รวมภาษีและค่าใช้จ่ายอื่นๆ. | ||
| คำอธิบาย คุณลักษณะนี้แสดงยอดเต็มที่ลูกค้าต้องชำระ เป็นข้อมูลทางการเงินพื้นฐานของแต่ละกรณีการวางบิล การวิเคราะห์กระบวนการตามยอดใบแจ้งหนี้ช่วยให้เห็นผลตามมูลค่า เช่น ใบแจ้งหนี้มูลค่าสูงอาจผ่านขั้นตอนที่แตกต่างและซับซ้อนกว่าใบแจ้งหนี้มูลค่าต่ำ นอกจากนี้ยังใช้จัดลำดับความสำคัญของการติดตามทวงถาม และทำความเข้าใจผลกระทบทางการเงินจากการชำระล่าช้าหรือข้อผิดพลาดในใบแจ้งหนี้. เหตุผลที่สำคัญ ช่วยวิเคราะห์กระบวนการตามมูลค่า จัดลำดับความสำคัญของใบแจ้งหนี้มูลค่าสูง และทำความเข้าใจผลกระทบทางการเงินจากความไม่มีประสิทธิภาพในกระบวนการ. แหล่งข้อมูล ตรงกับช่อง 'Total' (total) ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง 1500.0089.9912500.50 | |||
| วันครบกำหนดชำระ DueDate | วันที่ครบกำหนดชำระเงินตามใบแจ้งหนี้. | ||
| คำอธิบาย วันครบกำหนดชำระคำนวณจากวันที่ในใบแจ้งหนี้และเงื่อนไขการชำระเงินที่ตกลงกันไว้ เป็นวันสุดท้ายที่ลูกค้าต้องชำระเงินก่อนถือว่าชำระล่าช้า คุณลักษณะนี้จำเป็นต่อการติดตามลูกหนี้และบริหารกระแสเงินสด ใช้เป็นเกณฑ์คำนวณ KPI อัตราการชำระเงินตรงเวลาและวิเคราะห์พฤติกรรมการชำระเงินของลูกค้า การติดตามการชำระที่เลยกำหนดช่วยระบุลูกค้าที่จ่ายเงินล่าช้าเป็นประจำ และประเมินประสิทธิผลของกลยุทธ์ติดตามทวงถาม. เหตุผลที่สำคัญ ข้อมูลนี้จำเป็นต่อการวัดการชำระเงินตรงเวลาและวิเคราะห์พฤติกรรมการชำระเงินของลูกค้า อีกทั้งยังช่วยสนับสนุนการติดตามทวงถามและการคาดการณ์กระแสเงินสดโดยตรง. แหล่งข้อมูล ตรงกับช่อง 'Due Date' (duedate) ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง 2023-11-252023-11-262023-12-15 | |||
| วันที่ในใบแจ้งหนี้ InvoiceDate | วันที่อย่างเป็นทางการของใบแจ้งหนี้ที่ออกให้ลูกค้า. | ||
| คำอธิบาย วันที่ในใบแจ้งหนี้หรือวันที่ทำธุรกรรมเป็นจุดเริ่มต้นของการคำนวณทางการเงินหลายรายการที่เกี่ยวข้องกับการวางบิล โดยทั่วไปใช้คำนวณเงื่อนไขการชำระเงินและวันครบกำหนด ในการวิเคราะห์ วันที่นี้เป็นหลักสำหรับคำนวณ KPI ทางการเงินที่สำคัญ เช่น ระยะเวลาเก็บหนี้เฉลี่ย (DSO) และอายุใบแจ้งหนี้ อีกทั้งยังใช้วิเคราะห์ข้อมูลตามกลุ่มช่วงเวลา เพื่อเปรียบเทียบผลการวางบิลระหว่างช่วงต่างๆ เช่น รายเดือนหรือรายปี. เหตุผลที่สำคัญ วันที่นี้เป็นค่าตั้งต้นของตัวชี้วัดทางการเงินสำคัญ เช่น ระยะเวลาเก็บหนี้เฉลี่ย (DSO) และอายุใบแจ้งหนี้ ซึ่งส่งผลโดยตรงต่อการวิเคราะห์เงินทุนหมุนเวียน. แหล่งข้อมูล ตรงกับช่อง 'Date' (trandate) ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง 2023-10-262023-10-272023-11-15 | |||
| เวลาสิ้นสุดเหตุการณ์ EventEndTime | วันที่และเวลาที่แน่นอนซึ่งกิจกรรมหรือเหตุการณ์เสร็จสิ้น. | ||
| คำอธิบาย เวลาสิ้นสุดเหตุการณ์ระบุว่ากิจกรรมเสร็จเมื่อใด กิจกรรมหลายอย่างเกิดขึ้นทันที โดยเวลาเริ่มและเวลาสิ้นสุดตรงกัน แต่บางกิจกรรม เช่น ขั้นตอนอนุมัติ อาจใช้เวลานานพอที่จะวัดได้ เมื่อนำคุณลักษณะนี้มาใช้ร่วมกับเวลาที่เกิดเหตุการณ์ (เวลาเริ่มต้น) จะคำนวณเวลาที่ใช้ประมวลผลกิจกรรมได้โดยตรง การวิเคราะห์เวลาประมวลผลช่วยระบุขั้นตอนที่ใช้เวลาและทรัพยากรมากที่สุด และแยกเวลาทำงานออกจากเวลารอระหว่างกิจกรรม จึงช่วยค้นหาความไม่มีประสิทธิภาพในแต่ละงานได้. เหตุผลที่สำคัญ ช่วยคำนวณเวลาที่ใช้ทำกิจกรรมแต่ละรายการจนเสร็จได้อย่างแม่นยำ ซึ่งจำเป็นต่อการวิเคราะห์ประสิทธิภาพการใช้ทรัพยากรและระบุงานที่ใช้เวลานาน. แหล่งข้อมูล เช่นเดียวกับ StartTime ข้อมูลนี้ดึงได้จากประวัติการตรวจสอบระบบใน NetSuite และอาจต้องใช้ตรรกะจับคู่เหตุการณ์ 'เริ่มต้น' กับเหตุการณ์ 'สิ้นสุด' ที่เกี่ยวข้อง. ตัวอย่าง 2023-10-26T10:05:14Z2023-10-27T14:32:00Z2023-11-15T09:05:00Z | |||
| เงื่อนไขการชำระเงิน PaymentTerms | เงื่อนไขการชำระเงินที่บริษัทและลูกค้าตกลงร่วมกัน. | ||
| คำอธิบาย เงื่อนไขการชำระเงินระบุว่าลูกค้าต้องชำระใบแจ้งหนี้เมื่อใดและอย่างไร เช่น 'Net 30' หรือ 'ชำระเมื่อได้รับใบแจ้งหนี้' ระบบใช้ข้อมูลนี้คำนวณวันครบกำหนดชำระโดยอัตโนมัติ คุณลักษณะนี้จำเป็นต่อแดชบอร์ด 'การปฏิบัติตามเงื่อนไขการชำระเงิน' การวิเคราะห์อัตราการชำระเงินตรงเวลาตามเงื่อนไขแต่ละแบบช่วยประเมินประสิทธิผลได้ เช่น แสดงให้เห็นว่าลูกค้าที่ใช้เงื่อนไข 'Net 15' ชำระเงินเร็วกว่าลูกค้าที่ใช้ 'Net 30' หรือไม่ ซึ่งใช้ประกอบการเจรจาสัญญาและกำหนดนโยบายสินเชื่อในอนาคตได้. เหตุผลที่สำคัญ จำเป็นต่อการวิเคราะห์ประสิทธิผลของเงื่อนไขการชำระเงินแต่ละแบบและผลต่อความตรงต่อเวลาในการชำระเงินของลูกค้า. แหล่งข้อมูล ตรงกับช่อง 'Terms' ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง ชำระภายใน 30 วันชำระภายใน 60 วันชำระเมื่อได้รับใบแจ้งหนี้ | |||
| จำนวนวันขายค้างรับ DaysSalesOutstanding | จำนวนวันระหว่างวันที่ออกใบแจ้งหนี้กับวันที่ได้รับชำระเงิน. | ||
| คำอธิบาย จำนวนวันขายค้างรับ (DSO) เป็นตัวชี้วัดทางการเงินที่สำคัญ ใช้วัดจำนวนวันเฉลี่ยที่ต้องใช้ในการรับชำระเงินหลังออกใบแจ้งหนี้ แอตทริบิวต์นี้คำนวณแยกสำหรับใบแจ้งหนี้แต่ละฉบับ เพื่อให้วิเคราะห์รายละเอียดได้ แม้มักนำ DSO ไปคำนวณเป็น KPI ภาพรวม แต่การมีข้อมูลในระดับใบแจ้งหนี้ช่วยให้วิเคราะห์ได้ละเอียดขึ้น เช่น ระบุลูกค้า ภูมิภาค หรือประเภทใบแจ้งหนี้ที่มี DSO สูงที่สุด แดชบอร์ด 'แนวโน้ม DSO' ใช้ตัวชี้วัดนี้แสดงประสิทธิภาพการติดตามหนี้ในแต่ละช่วงเวลา และให้ข้อมูลสำคัญสำหรับการบริหารเงินทุนหมุนเวียน. เหตุผลที่สำคัญ ใช้วัดประสิทธิภาพการติดตามหนี้ในระดับใบแจ้งหนี้แต่ละฉบับ ช่วยวิเคราะห์สาเหตุของ DSO ที่สูงและผลกระทบต่อกระแสเงินสดได้อย่างละเอียด. แหล่งข้อมูล คำนวณโดยนำ 'InvoiceDate' ไปลบจากเวลาของกิจกรรม 'ได้รับชำระเงินจากลูกค้า'. ตัวอย่าง 294562 | |||
| ชำระเงินตรงเวลาหรือไม่ IsOnTimePayment | ระบุว่าได้รับเงินจากลูกค้าภายในหรือก่อนวันครบกำหนดชำระของใบแจ้งหนี้หรือไม่. | ||
| คำอธิบาย ค่าจริง/เท็จที่คำนวณขึ้นนี้เปรียบเทียบเวลาของกิจกรรม 'ได้รับชำระเงินจากลูกค้า' กับ 'DueDate' ของใบแจ้งหนี้ หากชำระตรงเวลาหรือก่อนกำหนด จะตั้งค่าเป็น true หากชำระล่าช้า จะตั้งค่าเป็น false แอตทริบิวต์นี้เป็นพื้นฐานของ KPI 'อัตราการชำระเงินตรงเวลา' และแดชบอร์ด 'การปฏิบัติตามเงื่อนไขการชำระเงิน' ช่วยวัดพฤติกรรมการชำระเงินของลูกค้าอย่างชัดเจนและนำไปวิเคราะห์หรือจัดทำรายงานได้ง่ายขึ้น ทั้งยังช่วยให้เห็นแนวโน้มการชำระเงินตรงเวลาและประเมินประสิทธิผลของการติดตามหนี้ได้อย่างรวดเร็ว. เหตุผลที่สำคัญ ใช้วัดผลการติดตามหนี้ได้อย่างชัดเจน รองรับการคำนวณ KPI อัตราการชำระเงินตรงเวลาและการวิเคราะห์พฤติกรรมลูกค้าโดยตรง. แหล่งข้อมูล แอตทริบิวต์นี้คำนวณจากการเปรียบเทียบเวลาของเหตุการณ์ชำระเงินกับแอตทริบิวต์ 'DueDate' ในระดับเคส. ตัวอย่าง truefalse | |||
| เป็นงานแก้ไขซ้ำหรือไม่ IsRework | ค่าที่คำนวณขึ้นเพื่อระบุกิจกรรมที่เป็นการทำงานซ้ำหรือวนกลับไปแก้ไข. | ||
| คำอธิบาย ตั้งค่าแอตทริบิวต์แบบค่าจริง/เท็จนี้เป็น true สำหรับกิจกรรมที่เป็นการแก้ไขงานซึ่งไม่เพิ่มคุณค่า เช่น 'แก้ไขใบแจ้งหนี้' หรือเหตุการณ์ 'อนุมัติใบแจ้งหนี้' ครั้งที่สองในเคสเดียวกัน โดยทั่วไปจะพิจารณาจากชื่อกิจกรรมหรือการเกิดกิจกรรมซ้ำ แอตทริบิวต์นี้จำเป็นต่อแดชบอร์ด 'วิเคราะห์การแก้ไขซ้ำและการปฏิเสธใบแจ้งหนี้' และ KPI 'อัตราข้อผิดพลาดของใบแจ้งหนี้' ช่วยนับปริมาณงานแก้ไขซ้ำและชี้ปัญหาด้านคุณภาพของกระบวนการ เมื่อกรองกิจกรรมที่เป็นการแก้ไขซ้ำ ทีมงานจะระบุสาเหตุของข้อผิดพลาดและวัดผลจากการปรับปรุงกระบวนการได้อย่างรวดเร็ว. เหตุผลที่สำคัญ ใช้วัดคุณภาพของกระบวนการโดยตรง ด้วยการระบุวงจรการแก้ไขซ้ำที่ไม่มีประสิทธิภาพ เพื่อวิเคราะห์สาเหตุและผลกระทบทางการเงินจากข้อผิดพลาดในการวางบิล. แหล่งข้อมูล แอตทริบิวต์นี้คำนวณขึ้นระหว่างการแปลงข้อมูล โดยใช้เงื่อนไขระบุงานแก้ไขซ้ำ เช่น ตรวจหาชื่อกิจกรรมเฉพาะ ('แก้ไขใบแจ้งหนี้') หรือกิจกรรมที่เกิดซ้ำ. ตัวอย่าง truefalse | |||
| แผนก Department | แผนกภายในที่เกี่ยวข้องกับใบแจ้งหนี้. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุแผนกภายใน เช่น ฝ่ายขาย ฝ่ายบริการ หรือสายธุรกิจที่รับผิดชอบรายการ ซึ่งเป็นหมวดหมู่มาตรฐานใน NetSuite การวิเคราะห์กระบวนการแยกตามแผนกช่วยเปรียบเทียบผลการดำเนินงานภายใน และดูได้ว่าแผนกใดมีกระบวนการวางบิลที่มีประสิทธิภาพกว่า นอกจากนี้ยังช่วยให้เห็นความแตกต่างในการปฏิบัติตามกระบวนการหรือการจัดสรรทรัพยากร เพื่อนำไปปรับปรุงกระบวนการในส่วนที่ต้องการได้ตรงจุด. เหตุผลที่สำคัญ ช่วยเปรียบเทียบประสิทธิภาพของกระบวนการระหว่างแผนกภายใน และชี้ให้เห็นจุดที่แตกต่างกับโอกาสในการกำหนดมาตรฐานกระบวนการร่วมกัน. แหล่งข้อมูล ตรงกับช่องจัดประเภท 'Department' ซึ่งกำหนดได้ที่ระดับส่วนหัวหรือระดับรายการของ Invoice ใน NetSuite. ตัวอย่าง ฝ่ายขาย - องค์กรขนาดใหญ่บริการวิชาชีพฮาร์ดแวร์ | |||
| สกุลเงิน Currency | รหัสสกุลเงินของยอดใบแจ้งหนี้. | ||
| คำอธิบาย คุณลักษณะนี้ระบุสกุลเงินของยอดใบแจ้งหนี้ เช่น USD, EUR หรือ GBP และเป็นข้อมูลประกอบที่จำเป็นสำหรับมูลค่าเงินทุกรายการ สำหรับองค์กรข้ามชาติ การวิเคราะห์แยกตามสกุลเงินช่วยให้เข้าใจผลการดำเนินงานทางการเงินในแต่ละตลาด และทำให้ตีความมูลค่าเงินได้ถูกต้อง รวมถึงรวบรวมและเปรียบเทียบข้อมูลได้อย่างเหมาะสมหลังแปลงสกุลเงิน หากจำเป็น. เหตุผลที่สำคัญ ข้อมูลนี้เป็นบริบทที่จำเป็นสำหรับมูลค่าเงินทุกรายการ ช่วยให้จัดทำรายงานและวิเคราะห์ทางการเงินได้ถูกต้อง โดยเฉพาะองค์กรที่ดำเนินงานในหลายประเทศ. แหล่งข้อมูล ตรงกับช่อง 'Currency' ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง USDEURGBP | |||
| สถานะใบแจ้งหนี้ InvoiceStatus | สถานะปัจจุบันของใบแจ้งหนี้ในวงจรการทำงาน. | ||
| คำอธิบาย คุณลักษณะนี้แสดงสถานะปัจจุบันของใบแจ้งหนี้ เช่น 'Open', 'Paid in Full' หรือ 'Voided' ทำให้ทราบว่าใบแจ้งหนี้อยู่ในขั้นตอนใด ณ เวลานั้น แดชบอร์ด 'ภาพรวมสถานะใบแจ้งหนี้ที่ยังเปิดอยู่' ใช้คุณลักษณะนี้โดยตรง ช่วยให้ทีมการเงินตรวจสอบลูกหนี้การค้าได้ทันที ติดตามยอดค้างชำระ จัดการการติดตามทวงถาม และคาดการณ์เงินรับได้ การวิเคราะห์สถานะสุดท้ายยังช่วยให้เข้าใจผลลัพธ์ของกระบวนการ. เหตุผลที่สำคัญ แสดงสถานะปัจจุบันของลูกหนี้การค้า ทำให้สร้างแดชบอร์ดเพื่อติดตามใบแจ้งหนี้ที่ยังเปิดอยู่และความคืบหน้าโดยรวมของการวางบิลได้. แหล่งข้อมูล ตรงกับช่อง 'Status' ในรายการธุรกรรม Invoice ของ NetSuite. ตัวอย่าง ยังเปิดอยู่ชำระครบแล้วยกเลิกแล้วรออนุมัติ | |||
| หมายเลขใบสั่งขาย SalesOrderNumber | รหัสใบสั่งขายที่ใช้สร้างใบแจ้งหนี้. | ||
| คำอธิบาย คุณลักษณะนี้เชื่อมโยงกลับไปยังใบสั่งขายต้นทางโดยตรง ทำให้เห็นความเชื่อมโยงระหว่างกระบวนการวางบิลกับกระบวนการขายและการจัดส่งสินค้าก่อนหน้า การระบุหมายเลขใบสั่งขายช่วยให้เห็นภาพวงจรตั้งแต่รับคำสั่งซื้อจนถึงรับชำระเงินได้ครบถ้วน และช่วยติดตามปัญหาในการวางบิลกลับไปยังต้นเหตุในกระบวนการขายได้ เช่น การแก้ไขใบแจ้งหนี้ที่เกิดบ่อยอาจเกี่ยวข้องกับข้อผิดพลาดในการป้อนข้อมูลของใบสั่งขายบางประเภท. เหตุผลที่สำคัญ เชื่อมโยงกระบวนการวางบิลกลับไปยังกระบวนการขาย ช่วยวิเคราะห์วงจรตั้งแต่รับคำสั่งซื้อจนถึงรับชำระเงินได้ตั้งแต่ต้นจนจบ และค้นหาสาเหตุที่แท้จริงของปัญหาการวางบิล. แหล่งข้อมูล ดูได้จากช่อง 'Created From' หรือแท็บย่อย 'Related Records' ของรายการ Invoice ใน NetSuite. ตัวอย่าง SO-0009876SO-0009877SO-0009878 | |||
กิจกรรม Order to Cash ด้านการวางบิลและออกใบแจ้งหนี้
| กิจกรรม | คำอธิบาย | ||
|---|---|---|---|
| ชำระใบแจ้งหนี้ครบแล้ว | สถานะใบแจ้งหนี้เปลี่ยนเป็น 'Paid In Full' แสดงว่ายอดคงเหลือเป็นศูนย์ นี่คือจุดสิ้นสุดที่สำเร็จของวงจรวางบิลและติดตามชำระเงินสำหรับใบแจ้งหนี้รายการนั้น. | ||
| เหตุผลที่สำคัญ นี่คือเหตุการณ์สิ้นสุดหลักที่แสดงว่ากระบวนการสำเร็จ การวิเคราะห์เวลารวมจนถึงสถานะนี้ช่วยวัดระยะเวลาตั้งแต่ต้นจนจบของวงจรเปลี่ยนยอดขายเป็นเงินสด. แหล่งข้อมูล อนุมานจากการเปลี่ยนค่าช่อง 'Status' ในรายการ Invoice เป็น 'Paid In Full' เวลาที่เปลี่ยนสถานะดูได้จาก system notes ของธุรกรรม. บันทึก อนุมานจากการเปลี่ยนค่าช่อง 'Status' เป็น 'Paid In Full' ใน system notes. ประเภทเหตุการณ์ inferred | |||
| ได้รับชำระเงินจากลูกค้าแล้ว | ได้รับเงินจากลูกค้าและบันทึกลงในระบบ บันทึกเหตุการณ์เมื่อมีการสร้างรายการธุรกรรม 'Customer Payment' ใน NetSuite ซึ่งอาจนำไปตัดยอดกับใบแจ้งหนี้หนึ่งรายการหรือหลายรายการ. | ||
| เหตุผลที่สำคัญ แสดงว่าได้รับเงินแล้ว แต่ไม่ได้หมายความว่าจะนำเงินไปตัดยอดกับใบแจ้งหนี้รายการใดรายการหนึ่งแล้วเสมอไป นี่เป็นขั้นตอนแรกของการนำเงินรับไปตัดยอด และเป็นเหตุการณ์สำคัญในการคำนวณ DSO. แหล่งข้อมูล บันทึกจากวันที่สร้างรายการธุรกรรม 'Customer Payment' โดยเชื่อมโยงกับใบแจ้งหนี้ผ่านแท็บย่อย 'Apply' ของรายการชำระเงิน. บันทึก สร้างรายการธุรกรรม Customer Payment. ประเภทเหตุการณ์ explicit | |||
| ส่งใบแจ้งหนี้ให้ลูกค้าแล้ว | แสดงว่าได้ส่งใบแจ้งหนี้ให้ลูกค้าแล้ว โดยทั่วไปส่งทางอีเมล บันทึกเหตุการณ์จากการติดตามเมื่อผู้ใช้เลือกคำสั่ง 'Email' ในรายการใบแจ้งหนี้. | ||
| เหตุผลที่สำคัญ เป็นจุดเริ่มต้นของช่วงเวลาติดตามการชำระเงินจากลูกค้า และเป็นจุดเริ่มต้นหลักในการคำนวณระยะเวลาเก็บหนี้เฉลี่ย (DSO). แหล่งข้อมูล อนุมานจากการมีข้อมูลในช่อง 'Date Last Emailed' ของรายการ Invoice หรือบันทึกจากการสร้างรายการอีเมลในแท็บย่อย Communication. บันทึก อนุมานจากการกรอกข้อมูลในช่อง 'Date Last Emailed' หรือการสร้างรายการสื่อสาร. ประเภทเหตุการณ์ inferred | |||
| สร้างใบแจ้งหนี้แล้ว | บันทึกเหตุการณ์เมื่อมีการสร้างรายการธุรกรรมใบแจ้งหนี้อย่างเป็นทางการใน NetSuite เหตุการณ์นี้เป็นจุดเริ่มต้นของกระบวนการวางบิลสำหรับใบแจ้งหนี้แต่ละหมายเลข และบันทึกจากเวลาที่สร้างธุรกรรม. | ||
| เหตุผลที่สำคัญ นี่คือเหตุการณ์เริ่มต้นหลักของกระบวนการวางบิล การวิเคราะห์เวลาตั้งแต่เหตุการณ์นี้ไปจนถึงเหตุการณ์อื่นช่วยให้เห็นประสิทธิภาพโดยรวมของกระบวนการ และใช้เป็นค่าตั้งต้นสำหรับ KPI ระยะเวลาตั้งแต่เริ่มจนสร้างใบแจ้งหนี้. แหล่งข้อมูล บันทึกจากเวลาที่ระบุในช่อง 'Date Created' ของรายการธุรกรรม Invoice นอกจากนี้ system notes ของใบแจ้งหนี้ใน NetSuite ยังบันทึกเหตุการณ์การสร้างและผู้ใช้ไว้อย่างชัดเจน. บันทึก บันทึกเหตุการณ์เมื่อสร้างรายการธุรกรรม Invoice. ประเภทเหตุการณ์ explicit | |||
| อนุมัติใบแจ้งหนี้แล้ว | ใบแจ้งหนี้ได้รับอนุมัติอย่างเป็นทางการและพร้อมส่งให้ลูกค้า บันทึกเหตุการณ์เมื่อสถานะอนุมัติเปลี่ยนจาก 'Pending Approval' เป็น 'Approved' โดยทั่วไปเกิดจากการดำเนินการในเวิร์กโฟลว์. | ||
| เหตุผลที่สำคัญ นี่คือจุดสำคัญที่ต้องผ่านก่อนส่งใบแจ้งหนี้ให้ลูกค้า ข้อมูลนี้จำเป็นต่อการวัดระยะเวลาในขั้นตอนอนุมัติและคำนวณ KPI 'สัดส่วนการวางบิลอัตโนมัติ'. แหล่งข้อมูล อนุมานจากการเปลี่ยนค่าช่อง 'Approval Status' ในรายการ Invoice เป็น 'Approved' เวลาที่แน่นอนบันทึกไว้ใน system notes ของธุรกรรม. บันทึก อนุมานจากการเปลี่ยนค่าช่อง 'Approval Status' เป็น 'Approved' ใน system notes. ประเภทเหตุการณ์ inferred | |||
| ถึงวันครบกำหนดชำระเงิน | เหตุการณ์ที่คำนวณขึ้นเมื่อวันที่ปัจจุบันตรงกับวันครบกำหนดชำระของใบแจ้งหนี้ เหตุการณ์นี้ไม่ได้เกิดจากการดำเนินการโดยตรงของผู้ใช้หรือระบบ แต่คำนวณจากข้อมูลที่มีอยู่ระหว่างการวิเคราะห์. | ||
| เหตุผลที่สำคัญ ใช้เป็นเกณฑ์สำคัญในการวัดความตรงต่อเวลาของการชำระเงิน และจำเป็นต่อการคำนวณ KPI 'อัตราการชำระเงินตรงเวลา' รวมถึงการวิเคราะห์พฤติกรรมการชำระเงินของลูกค้า. แหล่งข้อมูล เหตุการณ์นี้ไม่มีบันทึกโดยตรงใน NetSuite แต่คำนวณโดยเปรียบเทียบเวลาของบันทึกเหตุการณ์กับช่อง 'Due Date' ในรายการธุรกรรม Invoice. บันทึก คำนวณเมื่อเวลาของเหตุการณ์ตรงกับค่าในช่อง 'Due Date' ของใบแจ้งหนี้. ประเภทเหตุการณ์ calculated | |||
| นำเงินไปตัดยอดกับใบแจ้งหนี้แล้ว | นำเงินที่ได้รับจากลูกค้าไปตัดยอดกับใบแจ้งหนี้รายการนี้โดยเฉพาะ ทำให้ยอดที่ต้องชำระลดลง บันทึกเหตุการณ์เมื่อบันทึกการตัดยอดในรายการ Customer Payment. | ||
| เหตุผลที่สำคัญ นี่คือจุดเชื่อมสำคัญระหว่างการรับเงินกับการชำระใบแจ้งหนี้ ระยะเวลาตั้งแต่ 'ได้รับชำระเงิน' จนถึงเหตุการณ์นี้ใช้คำนวณ KPI ระยะเวลาตั้งแต่รับเงินจนถึงนำไปตัดยอด. แหล่งข้อมูล บันทึกจาก system notes หรือประวัติการตรวจสอบของรายการธุรกรรม Customer Payment โดยเฉพาะเมื่อบันทึกการตัดยอดกับรายการใบแจ้งหนี้ เวลาที่นำเงินไปตัดยอดเป็นข้อมูลสำคัญ. บันทึก บันทึกเมื่อบันทึกรายการ Customer Payment พร้อมการตัดยอดกับใบแจ้งหนี้. ประเภทเหตุการณ์ explicit | |||
| ปิดใบแจ้งหนี้แล้ว | ปิดรายการธุรกรรมใบแจ้งหนี้ ซึ่งมักเป็นส่วนหนึ่งของกระบวนการบัญชีเมื่อสิ้นงวด การปิดรายการช่วยป้องกันการเปลี่ยนแปลงธุรกรรมเพิ่มเติมหลังจากชำระและกระทบยอดเรียบร้อยแล้ว. | ||
| เหตุผลที่สำคัญ แม้มักเกิดขึ้นหลังสถานะ 'Paid In Full' แต่การปิดรายการอาจเป็นขั้นตอนสุดท้ายด้านธุรการ การวิเคราะห์ความล่าช้าระหว่างการชำระเงินกับการปิดรายการช่วยให้เห็นผลกระทบต่อความรวดเร็วในการจัดทำรายงานทางการเงิน. แหล่งข้อมูล อนุมานจากการเปลี่ยนค่าช่อง 'Status' เป็น 'Closed' หรือสถานะที่ใกล้เคียง เวลาที่เปลี่ยนแปลงบันทึกไว้ใน system notes. บันทึก อนุมานจากการเปลี่ยนค่าช่อง 'Status' ที่บันทึกไว้ใน system notes. ประเภทเหตุการณ์ inferred | |||
| ยกเลิกใบแจ้งหนี้แล้ว | ยกเลิกใบแจ้งหนี้และกลับรายการผลกระทบต่อบัญชีแยกประเภททั่วไป โดยปกติจะดำเนินการกับใบแจ้งหนี้ที่สร้างผิดพลาดก่อนมีการชำระเงิน. | ||
| เหตุผลที่สำคัญ แสดงข้อยกเว้นในกระบวนการและสถานะสิ้นสุด การทำความเข้าใจสาเหตุที่ยกเลิกใบแจ้งหนี้ช่วยให้พบข้อผิดพลาดในการป้อนข้อมูลหรือในกระบวนการที่ต้องแก้ไขตั้งแต่ต้นทาง. แหล่งข้อมูล เป็นการดำเนินการโดยตรงของผู้ใช้ บันทึกได้จาก system notes ของรายการใบแจ้งหนี้ ซึ่งระบุเวลาที่ยกเลิกธุรกรรมและผู้ดำเนินการ. บันทึก บันทึกการดำเนินการ 'Void' โดยตรงไว้ใน system notes ของใบแจ้งหนี้. ประเภทเหตุการณ์ explicit | |||
| ส่งการแจ้งเตือนการชำระเงินแล้ว | ส่งข้อความถึงลูกค้าเกี่ยวกับยอดค้างชำระ บันทึกเป็นกิจกรรมหรืออีเมลที่ส่งจากรายการใบแจ้งหนี้หรือลูกค้า ซึ่งมักส่งผ่านระบบติดตามทวงถามอัตโนมัติ. | ||
| เหตุผลที่สำคัญ จำเป็นต่อการประเมินประสิทธิผลของกลยุทธ์ติดตามทวงถาม การวิเคราะห์ผลของกิจกรรมนี้ต่อการชำระเงินในภายหลังช่วยปรับความถี่และเวลาในการส่งการแจ้งเตือนได้เหมาะสมขึ้น. แหล่งข้อมูล บันทึกจากการสร้างรายการอีเมลในแท็บย่อย Communication > Messages ของรายการ Invoice หรือ Customer ระบบติดตามทวงถามอัตโนมัติอาจบันทึกข้อมูลนี้เป็นรายการที่กำหนดเองหรืองานก็ได้. บันทึก บันทึกเป็นรายการอีเมลหรือกิจกรรมที่เชื่อมโยงกับใบแจ้งหนี้. ประเภทเหตุการณ์ explicit | |||
| ส่งใบแจ้งหนี้เพื่อขออนุมัติ | แสดงการเปลี่ยนสถานะของใบแจ้งหนี้เป็น 'Pending Approval' โดยบันทึกเหตุการณ์เมื่อผู้ใช้ส่งใบแจ้งหนี้เข้าสู่เวิร์กโฟลว์อนุมัติที่กำหนดค่าไว้ ซึ่งเป็นการปรับแต่งที่พบได้ทั่วไป. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้แสดงจุดเริ่มต้นของคอขวดที่อาจเกิดขึ้นในขั้นตอนอนุมัติ เวลาที่ใช้รออนุมัติเป็นส่วนสำคัญของระยะเวลารวมในการประมวลผลใบแจ้งหนี้. แหล่งข้อมูล อนุมานจากการเปลี่ยนค่าช่อง 'Approval Status' ในรายการ Invoice เป็น 'Pending Approval' เวลาที่เปลี่ยนแปลงดูได้จากประวัติการตรวจสอบใน system notes ของใบแจ้งหนี้. บันทึก อนุมานจากการเปลี่ยนค่าช่อง 'Approval Status' ที่บันทึกไว้ใน system notes. ประเภทเหตุการณ์ inferred | |||
| สร้างใบลดหนี้แล้ว | สร้างรายการธุรกรรมใบลดหนี้และนำไปตัดยอดกับใบแจ้งหนี้ ทำให้ยอดค้างชำระลดลง โดยทั่วไปเกิดจากการคืนสินค้า ข้อร้องเรียนเกี่ยวกับบริการ หรือการแก้ไขราคา. | ||
| เหตุผลที่สำคัญ ช่วยให้เห็นงานที่ต้องทำซ้ำ ปัญหาด้านคุณภาพ หรือข้อโต้แย้งจากลูกค้า หากเกิดขึ้นบ่อยอาจบ่งชี้ถึงปัญหาที่ต้นเหตุ และเป็นข้อมูลสำคัญสำหรับแดชบอร์ด 'วิเคราะห์การแก้ไขและปฏิเสธใบแจ้งหนี้'. แหล่งข้อมูล บันทึกจากการสร้างรายการธุรกรรม Credit Memo ลิงก์ไปยังใบแจ้งหนี้ต้นฉบับดูได้จากช่อง 'Created From' หรือแท็บย่อย 'Apply' ของใบลดหนี้. บันทึก สร้างรายการ Credit Memo ที่เชื่อมโยงกับใบแจ้งหนี้ต้นฉบับ. ประเภทเหตุการณ์ explicit | |||
คู่มือการดึงข้อมูล
ขั้นตอน
- เข้าสู่ระบบ NetSuite: เข้าบัญชี NetSuite ด้วยบทบาทที่มีสิทธิ์เพียงพอในการสร้างและเรียกใช้ Saved Search กับรายการธุรกรรม.
- ไปที่ Saved Searches: เลือก Reports > Saved Searches > All Saved Searches > New จากนั้นเลือก 'Transaction' ในรายการประเภทการค้นหา ขั้นตอนนี้เป็นจุดเริ่มต้นสำหรับสร้างการค้นหาหลายรายการ โดยแยกตามประเภทเหตุการณ์.
- สร้างการค้นหา 'Invoice Created': ใช้การค้นหาหลักนี้เพื่อเก็บข้อมูลการสร้างใบแจ้งหนี้.
- ในแท็บ 'Criteria' ใต้ 'Standard' ตั้งค่าตัวกรอง 'Type' เป็น 'is Invoice'.
- เพิ่มตัวกรอง 'Main Line' แล้วตั้งค่าเป็น 'is true' เพื่อให้ได้หนึ่งระเบียนต่อใบแจ้งหนี้.
- ในแท็บ 'Results' เพิ่มคอลัมน์ที่ต้องการ ใช้สูตรสร้างฟิลด์มาตรฐาน เช่น 'ActivityName' ตัวอย่างเช่น เพิ่มฟิลด์ 'Formula (Text)' และใส่สูตร
_UTF8'Invoice Created'.
- สร้างการค้นหาสำหรับการเปลี่ยนสถานะ (อนุมัติ ชำระแล้ว ยกเลิก ปิด): กิจกรรมหลายรายการเป็นการเปลี่ยนสถานะ วิธีที่เชื่อถือได้ที่สุดในการเก็บเวลาที่แน่นอนคือใช้ System Notes.
- สร้าง Transaction Saved Search ใหม่.
- ในแท็บ 'Criteria' ตั้งค่า 'Type' เป็น 'is Invoice'.
- ใต้แท็บย่อย 'Standard' เพิ่มตัวกรอง 'System Notes : Field' แล้วเลือกฟิลด์สถานะที่เกี่ยวข้อง เช่น 'Approval Status'.
- เพิ่มตัวกรอง 'System Notes : New Value' แล้วตั้งค่าเป็นสถานะเป้าหมาย เช่น 'Approved'.
- ในแท็บ 'Results' กำหนด 'System Notes : Date' ให้ตรงกับ
EventTimestampและ 'System Notes : Set by' ให้ตรงกับUser. - ทำซ้ำสำหรับกิจกรรมที่อิงตามสถานะแต่ละรายการ ได้แก่ 'Invoice Submitted for Approval', 'Invoice Approved', 'Invoice Paid In Full', 'Invoice Voided' และ 'Invoice Closed' โดยปรับตัวกรองฟิลด์และค่าให้ตรงกัน.
- สร้างการค้นหา 'Invoice Sent to Customer': โดยทั่วไปจะเก็บเหตุการณ์นี้ด้วยการติดตามอีเมลที่ส่งจากระเบียนใบแจ้งหนี้.
- สร้าง Transaction Saved Search ใหม่ โดยตั้งค่า 'Type' เป็น 'is Invoice'.
- ในแท็บ 'Criteria' ใต้ 'Related Records' เพิ่มตัวกรอง 'Messages : Date Sent' และตั้งค่าเป็น 'is not empty'.
- ในแท็บ 'Results' กำหนด 'Messages : Date Sent' ให้ตรงกับ
EventTimestampและ 'Messages : Author' ให้ตรงกับUser.
- สร้างการค้นหาสำหรับกิจกรรมการชำระเงินและ Credit Memo: กิจกรรมเหล่านี้เกี่ยวข้องกับประเภทธุรกรรมแยกต่างหากที่เชื่อมโยงกับใบแจ้งหนี้.
- สำหรับ 'Customer Payment Received' ให้สร้างการค้นหาที่ตั้งค่า 'Type' เป็น 'Customer Payment' และใช้วันที่สร้างเป็นเวลาของเหตุการณ์.
- สำหรับ 'Payment Applied To Invoice' ให้ใช้การค้นหา 'Customer Payment' เดิม แต่เชื่อมกับฟิลด์ 'Applied To Transaction' โดยใช้ 'Date Created' ของธุรกรรมการชำระเงินเป็นเวลา คุณจะได้หนึ่งแถวต่อการนำยอดไปใช้กับใบแจ้งหนี้แต่ละรายการ.
- สำหรับ 'Credit Memo Created' ให้สร้างการค้นหาที่ตั้งค่า 'Type' เป็น 'Credit Memo' และเชื่อมกับฟิลด์ 'Created From' เพื่อดึงหมายเลขใบแจ้งหนี้ต้นฉบับ.
- เรียกใช้และส่งออก Saved Search แต่ละรายการ: เรียกใช้ Saved Search ที่สร้างไว้ จากหน้าผลลัพธ์ คลิกไอคอนส่งออก (CSV, Excel หรือ PDF) แล้วเลือก CSV หากผลลัพธ์มีจำนวนมากเกินขีดจำกัดการส่งออกของ NetSuite คุณอาจต้องส่งออกเป็นชุด.
- รวมและแปลงข้อมูล: รวมไฟล์ CSV ที่ส่งออกทั้งหมดเป็นไฟล์เดียว โดยใช้เครื่องมืออย่าง Microsoft Excel สคริปต์ Python หรือเครื่องมือเตรียมข้อมูล.
- สร้างเหตุการณ์ 'Payment Due Date Reached': ในไฟล์ข้อมูลที่รวมแล้ว ให้เพิ่มแถวใหม่สำหรับทุกเหตุการณ์ 'Invoice Created' ตั้งค่า
ActivityNameเป็น 'Payment Due Date Reached' ตั้งค่าEventTimestampเป็นค่าจากฟิลด์ 'DueDate' ของใบแจ้งหนี้ และคัดลอกแอตทริบิวต์ใบแจ้งหนี้อื่นๆ ที่เกี่ยวข้อง. - จัดทำบันทึกเหตุการณ์ให้เสร็จสมบูรณ์: ปรับชื่อหัวคอลัมน์ให้ตรงกับโครงสร้างที่กำหนด เช่น
InvoiceNumber,ActivityName,EventTimestampและตรวจสอบให้รูปแบบเวลาเหมือนกัน เพิ่มคอลัมน์SourceSystemและLastDataUpdateโดยกำหนดค่าเดียวกันสำหรับข้อมูลชุดนี้ จากนั้นบันทึกไฟล์รวมเป็น CSV เพื่ออัปโหลด.
การกำหนดค่า
- ข้อกำหนดเบื้องต้น: ต้องใช้บทบาทผู้ใช้ที่มีสิทธิ์สร้าง แก้ไข และเรียกใช้ Saved Search ประเภท 'Transaction' รวมถึงสิทธิ์ดูระเบียน Invoice, Customer Payment, Credit Memo และ System Notes.
- ประเภทการค้นหา: ใช้ประเภทการค้นหา 'Transaction' เป็นหลักในการดึงข้อมูลทั้งหมด เพราะเข้าถึงระเบียนและความสัมพันธ์ที่จำเป็นได้.
- กรองช่วงวันที่: เพื่อควบคุมประสิทธิภาพและปริมาณข้อมูล ให้กรองช่วงวันที่ในแต่ละการค้นหา แนะนำให้ใช้ตัวกรอง 'Date Created' ย้อนหลัง 3 ถึง 6 เดือนสำหรับการวิเคราะห์ครั้งแรก.
- ตัวกรอง Main Line: ตั้งค่าเกณฑ์ 'Main Line' เป็น 'true' สำหรับเหตุการณ์ระดับส่วนหัวของเอกสาร เช่น 'Invoice Created' ตั้งเป็น 'false' เมื่อต้องวิเคราะห์รายละเอียดรายการสินค้า ซึ่งไม่จำเป็นสำหรับกระบวนการนี้.
- System Notes: การเก็บการเปลี่ยนสถานะต้องอาศัย System Notes เป็นหลัก ตรวจสอบว่าเปิดใช้การตรวจสอบฟิลด์ธุรกรรมสำคัญ เช่น 'Status' และ 'Approval Status' ในการตั้งค่า NetSuite แล้ว (Setup > Company > Enable Features > SuiteCloud > SuiteAudit Trail).
- ข้อควรพิจารณาด้านประสิทธิภาพ: การค้นหาที่ซับซ้อนซึ่งมีการเชื่อมข้อมูลหลายรายการและฟิลด์สูตรจำนวนมากในช่วงวันที่กว้าง อาจทำงานช้าใน UI ของ NetSuite แนะนำให้เรียกใช้และส่งออกการค้นหาในช่วงที่มีการใช้งานน้อย หากการค้นหาหมดเวลา ให้ลดช่วงวันที่และส่งออกข้อมูลเป็นชุดเล็กลง.
ตัวอย่างคำค้น sql
/*
This section describes the configuration for multiple NetSuite Saved Searches needed to generate the complete event log. Each block represents a separate Saved Search that must be created in the UI, exported, and then combined externally.
*/
-- Search 1: Invoice Created
Activity Name: 'Invoice Created'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Main Line is true
Results Columns (Mapped to Event Log Attributes):
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Created'
- EventTimestamp: Date Created
- User: Created By
- InvoiceDate: Date
- DueDate: Due Date
- InvoiceTotalAmount: Amount (Gross)
- CustomerName: Name
-- Search 2: Invoice Submitted for Approval
Activity Name: 'Invoice Submitted for Approval'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Pending Approval' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Submitted for Approval'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 3: Invoice Approved
Activity Name: 'Invoice Approved'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Approval Status
- System Notes : New Value is [Your 'Approved' status]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Approved'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 4: Invoice Sent to Customer
Activity Name: 'Invoice Sent to Customer'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Messages : Date Sent is not empty
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Sent to Customer'
- EventTimestamp: Messages : Date Sent (use Maximum summary type if multiple)
- User: Messages : Author (use Maximum summary type)
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 5: Payment Reminder Issued
Activity Name: 'Payment Reminder Issued'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- User Notes : Note contains [Your dunning/reminder keyword]
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Payment Reminder Issued'
- EventTimestamp: User Notes : Date
- User: User Notes : Author
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 6: Credit Memo Created
Activity Name: 'Credit Memo Created'
Saved Search Type: Transaction
Criteria:
- Type is Credit Memo
- Main Line is true
Results Columns:
- InvoiceNumber: Created From : Document Number
- ActivityName: Formula (Text) = 'Credit Memo Created'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 7: Customer Payment Received
Activity Name: 'Customer Payment Received'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is true
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Customer Payment Received'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 8: Payment Applied To Invoice
Activity Name: 'Payment Applied To Invoice'
Saved Search Type: Transaction
Criteria:
- Type is Customer Payment
- Main Line is false
Results Columns:
- InvoiceNumber: Applied to Transaction : Document Number
- ActivityName: Formula (Text) = 'Payment Applied To Invoice'
- EventTimestamp: Date Created
- User: Created By
- CustomerName: Name
-- Search 9: Invoice Paid In Full
Activity Name: 'Invoice Paid In Full'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value is Paid In Full
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Paid In Full'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Search 10: Invoice Voided
Activity Name: 'Invoice Voided'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- Status is Invoice : Voided
- System Notes : Field is Status
- System Notes : New Value is Voided
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Voided'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
-- Search 11: Invoice Closed
Activity Name: 'Invoice Closed'
Saved Search Type: Transaction
Criteria:
- Type is Invoice
- System Notes : Field is Status
- System Notes : New Value contains Closed
Results Columns:
- InvoiceNumber: Document Number
- ActivityName: Formula (Text) = 'Invoice Closed'
- EventTimestamp: System Notes : Date
- User: System Notes : Set by
- CustomerName: Name
- InvoiceTotalAmount: Amount (Gross)
-- Event to be Derived Post-Extraction: Payment Due Date Reached
/*
This event is not extracted directly. After combining all other CSVs, create a new row for each unique invoice.
Set ActivityName to 'Payment Due Date Reached'.
Set EventTimestamp to the DueDate value from the 'Invoice Created' event for that invoice.
Copy other attributes like InvoiceNumber, CustomerName, etc.
*/ ขั้นตอน
- ข้อกำหนดเบื้องต้น: เปิดใช้ SuiteAnalytics Connect: ตรวจสอบว่าได้ซื้อไลเซนส์และเปิดใช้โมดูล SuiteAnalytics Connect ใน NetSuite แล้ว โดยทั่วไปผู้ดูแลระบบ NetSuite จะตั้งค่านี้ที่ Setup > Company > Enable Features > Analytics.
- ดาวน์โหลดและตั้งค่า ODBC Driver: ไปที่แดชบอร์ดหน้าแรกของ NetSuite แล้วหา portlet 'Settings' คลิกลิงก์ 'Set Up SuiteAnalytics Connect' เพื่อดาวน์โหลด ODBC driver ที่เหมาะกับระบบปฏิบัติการ ทำตามคำแนะนำการติดตั้งจาก NetSuite และระบุ service host, port, Account ID, Role ID, อีเมล และรหัสผ่านเพื่อติดตั้งและตั้งค่า driver.
- เชื่อมต่อฐานข้อมูล: ใช้เครื่องมือ SQL client ที่รองรับการเชื่อมต่อ ODBC เช่น DBeaver, Tableau หรือ Power BI สร้างการเชื่อมต่อ ODBC ใหม่โดยใช้ driver ที่ตั้งค่าไว้ในขั้นตอนก่อนหน้า แล้วทดสอบการเชื่อมต่อเพื่อยืนยันว่าระบบตรวจสอบสิทธิ์และเข้าถึงฐานข้อมูล read-replica ของ NetSuite ได้.
- เตรียม SQL Query: คัดลอก SQL query ฉบับเต็มจากส่วน 'Query' ในเอกสารนี้ ซึ่งออกแบบมาเพื่อดึงกิจกรรมและแอตทริบิวต์ที่จำเป็นสำหรับกระบวนการวางบิล Order to Cash.
- กำหนดพารามิเตอร์ Query: ก่อนเรียกใช้ ให้ค้นหาค่าตัวอย่างใน query แล้วแทนที่
'YYYY-MM-DD'ด้วยวันเริ่มต้นและวันสิ้นสุดของช่วงที่ต้องการดึงข้อมูล นอกจากนี้ ให้แทนที่[Your Subsidiary ID]ด้วย ID ภายในของบริษัทย่อย NetSuite ที่ต้องการวิเคราะห์. - เรียกใช้ Query: เรียกใช้ query ที่แก้ไขแล้วใน SQL client ระยะเวลาประมวลผลขึ้นอยู่กับช่วงวันที่และปริมาณธุรกรรมในบัญชี NetSuite.
- ตรวจสอบผลลัพธ์: เมื่อ query ทำงานเสร็จ ระบบจะแสดงตารางข้อมูลแบบแบนที่แทนบันทึกเหตุการณ์ โดยแต่ละแถวตรงกับกิจกรรมหนึ่งรายการในวงจรการทำงานของใบแจ้งหนี้ ตรวจสอบความครบถ้วนและความถูกต้องของข้อมูล.
- ส่งออกบันทึกเหตุการณ์: ส่งออกผลลัพธ์ query จาก SQL client เป็นไฟล์ CSV และตรวจสอบว่าเข้ารหัส UTF-8 เพื่อป้องกันปัญหาอักขระ.
- เตรียมข้อมูลก่อนอัปโหลด: ก่อนอัปโหลดไปยังเครื่องมือ process mining ให้ตรวจสอบว่าหัวคอลัมน์ตรงกับชื่อแอตทริบิวต์ที่กำหนด เช่น InvoiceNumber, ActivityName และ EventTimestamp รวมถึงตรวจสอบให้รูปแบบวันที่และเวลาเหมือนกัน.
การกำหนดค่า
- ไลเซนส์ SuiteAnalytics Connect: ต้องมีไลเซนส์โมดูล SuiteAnalytics Connect ที่ยังใช้งานได้ จึงจะเข้าถึงฐานข้อมูล read-replica ของ NetSuite ได้ หากไม่มีไลเซนส์นี้ จะใช้ SQL เข้าถึงฐานข้อมูลโดยตรงไม่ได้.
- บทบาทและผู้ใช้เฉพาะ: แนะนำให้สร้างบทบาท NetSuite แยกต่างหาก พร้อมสิทธิ์ที่เหมาะสมสำหรับ SuiteAnalytics Connect บทบาทนี้ควรมีสิทธิ์อ่านระเบียนที่จำเป็นเท่านั้น เช่น Transactions, Customers และ System Notes และกำหนดผู้ใช้เฉพาะให้กับบทบาทนี้เพื่อให้การดึงข้อมูลปลอดภัยและตรวจสอบย้อนหลังได้.
- กรองช่วงวันที่: Query ที่ให้มามีส่วน
WHEREสำหรับวันที่สร้างใบแจ้งหนี้ (Transaction.TRANDATE) ในการดึงข้อมูลครั้งแรก แนะนำให้เริ่มจากช่วงสั้น เช่น ย้อนหลัง 3 ถึง 6 เดือน เพื่อควบคุมประสิทธิภาพและปริมาณข้อมูล ตัวอย่าง:AND T.TRANDATE BETWEEN '2023-01-01' AND '2023-06-30'. - กรองบริษัทย่อย: หากบัญชีมีบริษัทย่อยหลายแห่ง การกรองเฉพาะบริษัทย่อยที่ต้องการจะช่วยทั้งเรื่องประสิทธิภาพและความเกี่ยวข้องของข้อมูล Query มีค่าตัวอย่าง
WHERE T.SUBSIDIARY_ID = [Your Subsidiary ID]ที่ต้องกำหนดให้ถูกต้อง. - ความใหม่ของข้อมูล: ฐานข้อมูล SuiteAnalytics Connect เป็น read-replica โดยทั่วไปจะรีเฟรชข้อมูลหลายครั้งต่อชั่วโมง แต่ไม่ใช่ข้อมูลเรียลไทม์ จึงอาจมีช่วงหน่วงหลายชั่วโมงระหว่างเวลาที่เกิดธุรกรรมใน NetSuite กับเวลาที่ข้อมูลปรากฏในฐานข้อมูล Connect.
ตัวอย่างคำค้น sql
WITH Invoices AS (
SELECT
T.TRANSACTION_ID,
T.TRANID AS InvoiceNumber,
T.TRANDATE AS InvoiceDate,
T.DUEDATE AS DueDate,
T.FOREIGN_TOTAL AS InvoiceTotalAmount,
C.COMPANYNAME AS CustomerName,
BUILTIN.DF(C.LOCATION) AS Region,
T.CREATED_DATE AS InvoiceCreationDate,
CREATOR.FIRST_NAME || ' ' || CREATOR.LAST_NAME AS CreatorUser
FROM
TRANSACTIONS T
JOIN
CUSTOMERS C ON T.ENTITY_ID = C.CUSTOMER_ID
LEFT JOIN
EMPLOYEES CREATOR ON T.CREATED_BY_ID = CREATOR.EMPLOYEE_ID
WHERE
T.TRANSACTION_TYPE = 'Invoice'
AND T.TRANDATE BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD')
-- AND T.SUBSIDIARY_ID = [Your Subsidiary ID] -- Add your subsidiary filter if needed
)
-- 1. Invoice Created
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Created' AS "ActivityName",
I.InvoiceCreationDate AS "EventTimestamp",
I.InvoiceCreationDate AS "EventEndTime",
I.CreatorUser AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN I.CreatorUser LIKE '%System%' THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
UNION ALL
-- 2. Invoice Submitted for Approval & 3. Invoice Approved
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE WHEN SN.NEW_VALUE = 'Pending Approval' THEN 'Invoice Submitted for Approval' ELSE 'Invoice Approved' END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
SN.FIELD = 'TRANSACTION.APPROVALSTATUS' AND SN.NEW_VALUE IN ('Pending Approval', 'Approved')
UNION ALL
-- 4. Invoice Sent to Customer
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Invoice Sent to Customer' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' -- Indicates an outgoing message
UNION ALL
-- 5. Payment Due Date Reached
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Due Date Reached' AS "ActivityName",
I.DueDate AS "EventTimestamp",
I.DueDate AS "EventEndTime",
'System' AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
1 AS "IsAutomated"
FROM
Invoices I
WHERE
I.DueDate IS NOT NULL AND I.DueDate < SYSDATE
UNION ALL
-- 6. Payment Reminder Issued (based on Messages table, requires a specific subject line convention)
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Payment Reminder Issued' AS "ActivityName",
M.MESSAGE_DATE AS "EventTimestamp",
M.MESSAGE_DATE AS "EventEndTime",
MSG_AUTHOR.FIRST_NAME || ' ' || MSG_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN M.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
MESSAGES M ON I.TRANSACTION_ID = M.TRANSACTION_ID
LEFT JOIN
EMPLOYEES MSG_AUTHOR ON M.AUTHOR_ID = MSG_AUTHOR.EMPLOYEE_ID
WHERE
M.INCOMING = 'F' AND UPPER(M.SUBJECT) LIKE '%PAYMENT REMINDER%'
UNION ALL
-- 7. Credit Memo Created & Applied
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Credit Memo Created' AS "ActivityName",
CM.CREATED_DATE AS "EventTimestamp",
CM.CREATED_DATE AS "EventEndTime",
CM_CREATOR.FIRST_NAME || ' ' || CM_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS CM ON T_LINES.TRANSACTION_ID = CM.TRANSACTION_ID
LEFT JOIN
EMPLOYEES CM_CREATOR ON CM.CREATED_BY_ID = CM_CREATOR.EMPLOYEE_ID
WHERE
CM.TRANSACTION_TYPE = 'Credit Memo'
UNION ALL
-- 8. Customer Payment Received & 9. Payment Applied to Invoice
SELECT
I.InvoiceNumber AS "InvoiceNumber",
'Customer Payment Received' AS "ActivityName", -- Can also create a separate 'Payment Applied' event if needed
PAYMENT.CREATED_DATE AS "EventTimestamp",
PAYMENT.CREATED_DATE AS "EventEndTime",
PMT_CREATOR.FIRST_NAME || ' ' || PMT_CREATOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
0 AS "IsAutomated"
FROM
Invoices I
JOIN
TRANSACTION_LINES T_LINES ON I.TRANSACTION_ID = T_LINES.APPLIED_TO_TRANSACTION_ID
JOIN
TRANSACTIONS PAYMENT ON T_LINES.TRANSACTION_ID = PAYMENT.TRANSACTION_ID
LEFT JOIN
EMPLOYEES PMT_CREATOR ON PAYMENT.CREATED_BY_ID = PMT_CREATOR.EMPLOYEE_ID
WHERE
PAYMENT.TRANSACTION_TYPE = 'Customer Payment'
UNION ALL
-- 10. Invoice Paid In Full, 11. Invoice Voided, 12. Invoice Closed
SELECT
I.InvoiceNumber AS "InvoiceNumber",
CASE
WHEN SN.NEW_VALUE_ID = 'Invoice:B' THEN 'Invoice Paid In Full' -- 'B' is status 'Paid In Full'
WHEN SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Voided'
WHEN SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T' THEN 'Invoice Closed'
END AS "ActivityName",
SN.DATE_CREATED AS "EventTimestamp",
SN.DATE_CREATED AS "EventEndTime",
SN_AUTHOR.FIRST_NAME || ' ' || SN_AUTHOR.LAST_NAME AS "User",
'NetSuite' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
I.InvoiceDate AS "InvoiceDate",
I.DueDate AS "DueDate",
I.InvoiceTotalAmount AS "InvoiceTotalAmount",
I.CustomerName AS "CustomerName",
I.Region AS "Region",
CASE WHEN SN.AUTHOR_ID < 0 THEN 1 ELSE 0 END AS "IsAutomated"
FROM
Invoices I
JOIN
SYSTEM_NOTES SN ON I.TRANSACTION_ID = SN.TRANSACTION_ID
LEFT JOIN
EMPLOYEES SN_AUTHOR ON SN.AUTHOR_ID = SN_AUTHOR.EMPLOYEE_ID
WHERE
(SN.FIELD = 'TRANSACTION.STATUS' AND SN.NEW_VALUE_ID = 'Invoice:B')
OR (SN.FIELD = 'TRANSACTION.VOIDED' AND SN.NEW_VALUE = 'T')
OR (SN.FIELD = 'TRANSACTION.CLOSED' AND SN.NEW_VALUE = 'T'); พร้อมเริ่มต้นหรือยัง?
ใช้เทมเพลตนี้เริ่มต้นโครงการ process mining และค้นหาข้อมูลเชิงลึกเกี่ยวกับการวางบิลและออกใบแจ้งหนี้ เริ่มปรับปรุงกระบวนการ Order to Cash ของคุณได้วันนี้.
ปรับปรุงการวางบิลและออกใบแจ้งหนี้ใน NetSuite เพื่อให้กระแสเงินสดหมุนเวียนเร็วขึ้น
ลดระยะเวลารอบการวางบิลใน NetSuite ได้ 30% และเพิ่มสภาพคล่องให้ธุรกิจของคุณ.
ไม่ต้องใช้บัตรเครดิต ตั้งค่าเสร็จได้ในไม่กี่นาที.