Mẫu dữ liệu xử lý hóa đơn trong quy trình mua hàng đến thanh toán
Mẫu dữ liệu xử lý hóa đơn trong quy trình mua hàng đến thanh toán
- Các thuộc tính nên thu thập
- Các hoạt động chính cần theo dõi
- Hướng dẫn trích xuất dữ liệu từ SAP ECC
Các thuộc tính xử lý hóa đơn trong quy trình mua hàng đến thanh toán
| Tên | Mô tả | ||
|---|---|---|---|
| Hoạt động Activity | Tên của một bước nghiệp vụ hoặc sự kiện cụ thể xảy ra trong vòng đời xử lý hóa đơn. | ||
| Mô tả Thuộc tính Hoạt động thể hiện một giai đoạn hoặc hành động riêng biệt trong quy trình xử lý hóa đơn. Các hoạt động này được xác định từ nhiều sự kiện hệ thống, chẳng hạn như tạo chứng từ, thay đổi trạng thái, phê duyệt hoặc thao tác của người dùng được ghi trong nhật ký thay đổi SAP. Phân tích hoạt động là trọng tâm của process mining. Việc này giúp trực quan hóa sơ đồ quy trình, xác định điểm nghẽn (ví dụ: chờ lâu sau bước 'Gửi hóa đơn để phê duyệt'), vòng lặp làm lại (ví dụ: lặp lại các bước 'Đặt lệnh chặn thanh toán' và 'Gỡ lệnh chặn thanh toán') và trường hợp không tuân thủ. Trình tự và tần suất hoạt động cho thấy luồng quy trình thực tế đang diễn ra. Vì sao điều này quan trọng Thuộc tính này xác định các bước trên sơ đồ quy trình, giúp trực quan hóa luồng quy trình, phát hiện điểm nghẽn và xác định công việc phải làm lại. Lấy dữ liệu ở đâu Thuộc tính này thường được xác định từ nhiều nguồn, gồm mã giao dịch (SY-TCODE), trường trạng thái trong các bảng như RBKP (ví dụ: RBSTAT) và sự kiện thay đổi trong bảng CDHDR, CDPOS. Ví dụ Tạm giữ hóa đơnGửi hóa đơn để phê duyệtHóa đơn được phê duyệtGhi sổ hóa đơnTất toán hóa đơn | |||
| Số hóa đơn InvoiceNumber | Mã định danh duy nhất của chứng từ hóa đơn nhà cung cấp. | ||
| Mô tả Số hóa đơn là mã định danh duy nhất của từng trường hợp xử lý hóa đơn. Mỗi số tương ứng với một hóa đơn nhận từ nhà cung cấp, giúp theo dõi mọi hoạt động liên quan, từ ghi nhận dữ liệu đến thanh toán cuối cùng, trong cùng một quy trình. Trong phân tích process mining, thuộc tính này là nền tảng để dựng lại toàn bộ vòng đời của từng hóa đơn. Thuộc tính giúp kết nối các sự kiện riêng lẻ được ghi trong SAP, như tạm giữ, ghi sổ, chặn thanh toán và tất toán, thành một chuỗi theo trình tự thời gian. Nhờ đó, bạn thấy rõ cách xử lý từng hóa đơn, thời gian xử lý và những điểm khác biệt so với quy trình chuẩn. Vì sao điều này quan trọng Đây là khóa chính liên kết mọi sự kiện của một hóa đơn, làm nền tảng thiết yếu cho việc phân tích quy trình và khám phá các biến thể. Lấy dữ liệu ở đâu Thông thường, đây là số chứng từ trong bảng SAP RBKP, trường BELNR, thường được ghép với mã công ty (BUKRS) và năm tài chính (GJAHR) để đảm bảo tính duy nhất. Ví dụ 510004567851000456795100045680 | |||
| Thời gian sự kiện EventTime | Dấu thời gian chính xác, gồm ngày và giờ, khi một hoạt động diễn ra. | ||
| Mô tả Thời gian sự kiện ghi lại chính xác thời điểm một hoạt động nghiệp vụ được thực hiện và lưu vào hệ thống nguồn. Dấu thời gian này tạo trật tự thời gian cho quy trình, sắp xếp các hoạt động của từng hóa đơn thành một chuỗi rõ ràng. Trong phân tích, Thời gian sự kiện rất cần thiết để tính mọi chỉ số dựa trên thời lượng, chẳng hạn như thời gian chu kỳ, thời gian chờ và thời gian xử lý giữa các hoạt động. Thuộc tính này cung cấp dữ liệu cho các bảng điều khiển như 'Tổng thời gian xử lý hóa đơn' và 'Thời gian xử lý lệnh chặn thanh toán', giúp đo khoảng thời gian giữa hai mốc bất kỳ trong quy trình. Dấu thời gian chính xác rất quan trọng để xác định chậm trễ và điểm nghẽn về hiệu quả. Vì sao điều này quan trọng Dấu thời gian này rất cần thiết để sắp xếp sự kiện chính xác và tính các chỉ số hiệu quả như thời gian chu kỳ và thời gian tại điểm nghẽn. Lấy dữ liệu ở đâu Thông thường, giá trị này được tạo bằng cách kết hợp ngày thay đổi (UDATE) và giờ thay đổi (UTIME) từ bảng phần đầu chứng từ thay đổi CDHDR. Với một số sự kiện tạo cụ thể, giá trị có thể là ngày và giờ tạo trong các bảng như RBKP (ERNAM, ERZET). Ví dụ 2023-03-15T10:30:00Z2023-03-16T14:05:21Z2023-03-28T09:00:00Z | |||
| Lý do chặn thanh toán PaymentBlockReason | Mã cho biết lý do hóa đơn bị chặn thanh toán. | ||
| Mô tả Khi hóa đơn có sai lệch hoặc cần được kiểm tra thêm, hệ thống sẽ chặn thanh toán. Mã Lý do chặn thanh toán cho biết nguyên nhân, chẳng hạn như chênh lệch số lượng, chênh lệch giá hoặc chặn thủ công. Thuộc tính này rất cần thiết cho bảng điều khiển 'Thời gian xử lý chặn thanh toán'. Phân tích tần suất và thời gian chặn theo từng lý do giúp tìm ra nguyên nhân gốc rễ gây chậm thanh toán. Ví dụ, nếu 'Sai lệch giá' thường dẫn đến thời gian chặn kéo dài, có thể dữ liệu chủ hoặc quy trình đặt hàng đang có vấn đề cần xử lý. Vì sao điều này quan trọng Thuộc tính này cho biết nguyên nhân thanh toán hóa đơn bị chậm, giúp tìm hiểu lý do chặn thanh toán và ưu tiên các hoạt động cải tiến quy trình. Lấy dữ liệu ở đâu Bạn có thể tìm lý do chặn thanh toán ở cấp dòng trong bảng RSEG (trường SPGRS) hoặc trong bảng chứng từ kế toán BSEG (trường ZLSPR). Ví dụ RIM | |||
| Mã nhà cung cấp VendorNumber | Mã định danh duy nhất của nhà cung cấp đã gửi hóa đơn. | ||
| Mô tả Mã nhà cung cấp là khóa dữ liệu chính dùng để xác định nhà cung cấp. Mã này liên kết giao dịch hóa đơn với một đối tác kinh doanh cụ thể, cho phép phân tích theo đặc điểm của nhà cung cấp. Phân tích quy trình theo Mã nhà cung cấp có thể cho thấy những thông tin quan trọng về quan hệ và hiệu quả của nhà cung cấp. Ví dụ, bạn có thể xác định nhà cung cấp nào thường gửi hóa đơn có vấn đề dẫn đến lệnh chặn thanh toán hoặc sai lệch, cũng như hóa đơn của nhà cung cấp nào được xử lý hiệu quả nhất. Thông tin này hữu ích cho việc quản lý nhà cung cấp và các hoạt động tìm nguồn cung ứng chiến lược. Vì sao điều này quan trọng Thuộc tính này cho phép phân tích theo từng nhà cung cấp, giúp xác định xu hướng, vấn đề hoặc điểm hiệu quả gắn với nhà cung cấp cụ thể. Lấy dữ liệu ở đâu Đây là trường 'Invoicing Party' (LIFNR) trong bảng phần đầu chứng từ hóa đơn RBKP. Ví dụ 100345100876200112 | |||
| Ngày đến hạn thanh toán PaymentDueDate | Ngày cuối cùng cần thanh toán hóa đơn cho nhà cung cấp theo điều khoản thanh toán. | ||
| Mô tả Ngày đến hạn thanh toán được tính dựa trên ngày cơ sở của hóa đơn và điều khoản thanh toán đã thỏa thuận. Đây là hạn chót thanh toán để tránh trả trễ, bị phạt hoặc ảnh hưởng đến quan hệ với nhà cung cấp. Thuộc tính này rất quan trọng đối với các KPI về hiệu suất và tuân thủ, như 'Tỷ lệ thanh toán đúng hạn' và 'Cơ hội chiết khấu tiền mặt bị bỏ lỡ'. Bằng cách so sánh ngày thanh toán thực tế (Ngày thanh toán bù trừ) với ngày đến hạn, phân tích có thể xác định khoản thanh toán đúng hạn, sớm hay trễ. Đây cũng là dữ liệu nền tảng cho bảng điều khiển Tuân thủ điều khoản thanh toán. Vì sao điều này quan trọng Đây là mốc chuẩn để đo lường hiệu quả thanh toán đúng hạn và tìm cơ hội hưởng chiết khấu khi thanh toán sớm. Lấy dữ liệu ở đâu Ngày này thường được tính toán. Ngày cơ sở thanh toán (ZFBDT) nằm trong bảng BSEG. Logic tính ngày đến hạn còn phụ thuộc vào điều khoản thanh toán (BSEG-ZTERM). Ví dụ 2023-04-192023-05-052023-05-11 | |||
| Ngày hạch toán PostingDate | Ngày hóa đơn được hạch toán chính thức vào sổ kế toán. | ||
| Mô tả Ngày hạch toán là mốc quan trọng trong quy trình kế toán. Ngày này xác định kỳ tài chính ghi nhận chi phí hóa đơn trong sổ cái. Nhân viên công nợ phải trả thường chọn ngày này khi xử lý hóa đơn. Trong phân tích quy trình, hoạt động 'Hạch toán hóa đơn' được đánh dấu bằng ngày này và là một cột mốc quan trọng. Khoảng thời gian từ lúc nhận hóa đơn đến ngày hạch toán là một phần đáng kể trong tổng thời gian xử lý. Ngày này cũng rất cần thiết cho báo cáo tài chính và phân tích thông lượng, chẳng hạn như theo dõi số hóa đơn được hạch toán mỗi tuần hoặc mỗi tháng. Vì sao điều này quan trọng Ngày này đánh dấu một cột mốc quan trọng của quy trình, xác định kỳ tài chính của giao dịch và là dữ liệu chính để tính thời gian xử lý. Lấy dữ liệu ở đâu Đây là trường 'Posting Date' (BUDAT) trong bảng tiêu đề chứng từ hóa đơn RBKP. Ví dụ 2023-03-202023-04-052023-04-11 | |||
| Ngày thanh toán bù trừ ClearingDate | Ngày thanh toán được thực hiện và hóa đơn được tất toán khỏi khoản phải trả. | ||
| Mô tả Ngày thanh toán bù trừ đánh dấu bước cuối trong vòng đời hóa đơn: thanh toán. Đây là ngày khoản mục hóa đơn chưa thanh toán được tất toán bằng chứng từ thanh toán trong hệ thống. Ngày này thể hiện thời điểm thanh toán thực tế. Thuộc tính này là mốc kết thúc để tính nhiều KPI quan trọng, bao gồm 'Thời gian xử lý hóa đơn trung bình' và 'Tỷ lệ thanh toán đúng hạn'. Bạn có thể so sánh ngày này với ngày đến hạn thanh toán để đo lường hiệu quả thanh toán. Khi phân tích chiết khấu tiền mặt, hãy so sánh ngày này với thời hạn chiết khấu để biết khoản thanh toán có được thực hiện kịp lúc hay không. Vì sao điều này quan trọng Ngày này đánh dấu quy trình hoàn tất và là cơ sở để tính tổng thời gian xử lý, tỷ lệ thanh toán đúng hạn và khoản chiết khấu tiền mặt thực nhận. Lấy dữ liệu ở đâu Với các khoản mục đã tất toán, đây là trường 'Clearing Date' (AUGDT) trong bảng khoản mục nhà cung cấp đã tất toán BSAK. Ví dụ 2023-04-152023-05-022023-05-20 | |||
| Số đơn đặt hàng PurchaseOrderNumber | Mã định danh của đơn đặt hàng (PO) dùng để đối chiếu hóa đơn. | ||
| Mô tả Số đơn đặt hàng liên kết hóa đơn với chứng từ mua hàng ban đầu. Đây là thông tin nền tảng để đối chiếu ba bên (PO, nhận hàng, hóa đơn) và phân tích hiệu quả xử lý hóa đơn có PO. Thuộc tính này rất quan trọng với các bảng điều khiển như 'Tỷ lệ sai lệch đối chiếu hóa đơn với PO'. Thuộc tính cho phép chia quy trình thành hóa đơn có PO và không có PO, vốn thường có luồng xử lý và độ phức tạp rất khác nhau. Phân tích vấn đề liên quan đến từng PO có thể giúp tìm ra vấn đề từ các bước trước trong quy trình mua hàng. Vì sao điều này quan trọng Thuộc tính này liên kết hóa đơn với quy trình mua hàng, cho phép phân tích hóa đơn có và không có PO, đồng thời xác định sai lệch khi đối chiếu. Lấy dữ liệu ở đâu Thông tin này thường nằm ở cấp khoản mục. 'Số đơn đặt hàng' (EBELN) nằm trong bảng khoản mục hóa đơn RSEG. Có thể cần tổng hợp dữ liệu lên cấp phần đầu chứng từ. Ví dụ 450001756345000175644500017565 | |||
| Số tiền hóa đơn InvoiceAmount | Tổng số tiền gộp của hóa đơn theo đơn vị tiền tệ ban đầu của chứng từ. | ||
| Mô tả Số tiền hóa đơn là tổng giá trị hóa đơn do nhà cung cấp gửi. Đây là chỉ số tài chính quan trọng của từng trường hợp hóa đơn. Trong process mining, thuộc tính này rất cần thiết để phân tích theo giá trị. Bạn có thể lọc và chia nhóm quy trình theo số tiền hóa đơn, vì giá trị thường liên quan đến độ phức tạp và yêu cầu phê duyệt. Ví dụ, hóa đơn giá trị cao có thể đi theo quy trình phê duyệt khác, nghiêm ngặt hơn. Thuộc tính này cũng được dùng để phân tích tuân thủ, chẳng hạn kiểm tra xem hóa đơn giá trị cao có bỏ qua bước phê duyệt bắt buộc hay không. Vì sao điều này quan trọng Thuộc tính này cho phép phân tích theo giá trị, giúp ưu tiên hóa đơn giá trị cao và hiểu số tiền hóa đơn ảnh hưởng thế nào đến luồng quy trình và việc tuân thủ. Lấy dữ liệu ở đâu Đây là trường 'Gross invoice amount' (RMWWR) trong bảng phần đầu chứng từ hóa đơn RBKP. Ví dụ 1500.7512500.00850.20 | |||
| Tên người dùng UserName | Mã người dùng SAP của người thực hiện hoạt động. | ||
| Mô tả Thuộc tính Tên người dùng xác định cá nhân cụ thể chịu trách nhiệm thực hiện một hoạt động trong quy trình. Đây thường là tên người dùng SAP được ghi cùng giao dịch hoặc sự kiện thay đổi. Thuộc tính này rất quan trọng để phân tích hiệu quả ở cấp cá nhân hoặc nhóm. Thuộc tính giúp trả lời những câu hỏi như 'Ai phê duyệt nhanh nhất?' hoặc 'Người dùng nào tạo ra nhiều việc phải làm lại nhất?'. Bạn có thể dùng thuộc tính trong bảng điều khiển để phân tích phân bổ khối lượng công việc, xác định nhu cầu đào tạo và hiểu sự khác biệt về hiệu quả giữa các nhân viên. Vì sao điều này quan trọng Thuộc tính này cho phép phân tích hiệu quả và khối lượng công việc theo từng cá nhân hoặc nhóm, giúp xác định người làm tốt, cơ hội đào tạo và tình trạng phân bổ tài nguyên chưa hợp lý. Lấy dữ liệu ở đâu Đây là trường 'Changed By' (USERNAME) trong bảng phần đầu chứng từ thay đổi CDHDR. Với sự kiện tạo, giá trị có thể lấy từ trường 'Entered by' (ERNAM) trong các bảng như RBKP. Ví dụ JSMITHBWILSONCHEN | |||
| Điều khoản thanh toán PaymentTerms | Mã xác định điều khoản thanh toán đã thỏa thuận với nhà cung cấp, chẳng hạn thời hạn chiết khấu và ngày đến hạn. | ||
| Mô tả Điều khoản thanh toán quy định thời điểm phải thanh toán hóa đơn và khoản chiết khấu tiền mặt có thể nhận được nếu thanh toán sớm. Ví dụ: 'Thanh toán trong 30 ngày' hoặc 'Chiết khấu 2% nếu thanh toán trong 10 ngày, nếu không thì thanh toán đủ trong 30 ngày'. Thuộc tính này là dữ liệu nền tảng cho bảng điều khiển 'Cơ hội chiết khấu tiền mặt bị bỏ lỡ' và KPI 'Tỷ lệ nhận chiết khấu tiền mặt'. Phân tích kết hợp điều khoản thanh toán với ngày hạch toán và ngày thanh toán để xác định có được hưởng chiết khấu hay không và khoản chiết khấu có được nhận hay không. Đây cũng là dữ liệu quan trọng cho bảng điều khiển Tuân thủ điều khoản thanh toán. Vì sao điều này quan trọng Thuộc tính này rất cần thiết để phân tích tỷ lệ nhận chiết khấu tiền mặt và hiểu tác động tài chính của việc quy trình bị chậm trễ. Lấy dữ liệu ở đâu Đây là trường 'Terms of Payment Key' (ZTERM) trong bảng tiêu đề chứng từ hóa đơn RBKP. Ví dụ Z0010001NT30 | |||
| Đơn vị tiền tệ Currency | Mã đơn vị tiền tệ của số tiền hóa đơn. | ||
| Mô tả Thuộc tính Currency cho biết đơn vị tiền tệ của số tiền trên hóa đơn, chẳng hạn USD, EUR hoặc JPY. Thuộc tính này cung cấp bối cảnh cần thiết để hiểu Invoice Amount. Nhờ đó, bạn có thể diễn giải và tổng hợp dữ liệu tài chính chính xác, nhất là tại các doanh nghiệp toàn cầu sử dụng nhiều loại tiền tệ. Bạn có thể lọc phân tích theo tiền tệ để so sánh hiệu quả xử lý hoặc các vấn đề giữa những khu vực dùng tiền tệ khác nhau. Để tổng hợp tài chính có ý nghĩa, có thể cần quy đổi các khoản tiền về cùng một đơn vị tiền tệ báo cáo. Vì sao điều này quan trọng Thuộc tính này cung cấp bối cảnh cần thiết để diễn giải chính xác các khoản tiền, đồng thời cho phép lọc và phân tích theo tiền tệ. Lấy dữ liệu ở đâu Đây là trường 'Currency Key' (WAERS) trong bảng tiêu đề chứng từ hóa đơn RBKP. Ví dụ USDEURGBP | |||
| Hệ thống nguồn SourceSystem | Xác định hệ thống nguồn cụ thể mà dữ liệu được trích xuất từ đó. | ||
| Mô tả Thuộc tính Hệ thống nguồn cho biết nguồn gốc của dữ liệu sự kiện, chẳng hạn như tên một phiên bản SAP ECC cụ thể. Thuộc tính này đặc biệt quan trọng khi có nhiều hệ thống ERP hoặc khi dữ liệu được kết hợp từ nhiều nguồn. Trong phân tích, thuộc tính này giúp phân biệt quy trình và hiệu quả giữa các hệ thống, khu vực hoặc đơn vị kinh doanh có thể đang chạy trên những phiên bản riêng. Thuộc tính cũng giúp làm rõ nguồn gốc dữ liệu và cho phép lọc, phân tích theo từng hệ thống. Vì sao điều này quan trọng Thuộc tính này cung cấp bối cảnh quan trọng trong môi trường có nhiều hệ thống, giúp tách riêng dữ liệu phù hợp và phân tích hiệu quả theo từng hệ thống. Lấy dữ liệu ở đâu Đây thường là giá trị cố định được thêm trong quá trình trích xuất dữ liệu, thể hiện mã hệ thống SAP (TADIR-SRCSYSTEM) hoặc mã định danh được gán thủ công cho phiên bản SAP cụ thể. Ví dụ SAPECC_PROD_EUECC_US_FINSAP_ERP_6_EHP8 | |||
| Lần cập nhật dữ liệu gần nhất LastDataUpdate | Dấu thời gian cho biết lần gần nhất dữ liệu quy trình được làm mới từ hệ thống nguồn. | ||
| Mô tả Thuộc tính này ghi lại ngày và giờ của lần trích xuất hoặc cập nhật dữ liệu gần nhất. Thuộc tính áp dụng cho toàn bộ tập dữ liệu, không phải từng sự kiện riêng lẻ, giúp bạn biết dữ liệu mới đến đâu. Đây là siêu dữ liệu quan trọng đối với người dùng bảng điều khiển và chuyên viên phân tích. Thuộc tính giúp họ hiểu khoảng thời gian mà dữ liệu phân tích bao phủ và đảm bảo quyết định dựa trên thông tin hiện hành. Thông tin này thường được hiển thị nổi bật trên bảng điều khiển để người dùng biết dữ liệu được cập nhật khi nào. Vì sao điều này quan trọng Thuộc tính này cho người dùng biết dữ liệu mới đến đâu, giúp đảm bảo việc phân tích và ra quyết định dựa trên thông tin cập nhật. Lấy dữ liệu ở đâu Công cụ trích xuất dữ liệu hoặc ETL tạo giá trị này và thêm vào tập dữ liệu khi làm mới dữ liệu. Ví dụ 2024-05-20T08:00:00Z2024-05-21T08:00:00Z2024-05-22T08:00:00Z | |||
| Loại chứng từ DocumentType | Mã phân loại chứng từ kế toán, chẳng hạn hóa đơn nhà cung cấp hoặc giấy báo có. | ||
| Mô tả Loại chứng từ dùng để phân loại các giao dịch kinh doanh trong SAP. Khi xử lý hóa đơn, các loại thường gặp gồm 'RE' cho hóa đơn thông thường và 'KG' cho giấy báo có của nhà cung cấp. Loại chứng từ kiểm soát một số khía cạnh của việc hạch toán, chẳng hạn như dải số được sử dụng. Trong phân tích, thuộc tính này giúp lọc quy trình theo loại giao dịch cụ thể. Ví dụ, quy trình xử lý giấy báo có có thể khác đáng kể so với quy trình xử lý hóa đơn thông thường. Tách riêng các luồng này theo Loại chứng từ giúp bạn có cái nhìn chính xác và hữu ích hơn về quy trình. Vì sao điều này quan trọng Thuộc tính này giúp tách riêng và phân tích các giao dịch kinh doanh khác nhau, chẳng hạn hóa đơn và giấy báo có, vốn được xử lý theo các quy trình khác nhau. Lấy dữ liệu ở đâu Đây là trường 'Document Type' (BLART) trong bảng tiêu đề chứng từ hóa đơn RBKP. Ví dụ REKRKG | |||
| Lý do từ chối RejectionReason | Mã hoặc nội dung giải thích lý do hóa đơn bị từ chối trong quy trình phê duyệt. | ||
| Mô tả Khi người phê duyệt từ chối hóa đơn, họ nên nêu rõ lý do. Lý do có thể là mã chuẩn hóa hoặc nhận xét dạng văn bản, chẳng hạn 'Sai số đơn đặt hàng', 'Hóa đơn trùng' hoặc 'Sai số tiền'. Dữ liệu này rất quan trọng đối với bảng điều khiển 'Lý do và xu hướng từ chối hóa đơn'. Phân tích tần suất của từng lý do giúp doanh nghiệp nhận diện vấn đề thường gặp và đưa ra biện pháp khắc phục. Ví dụ, nếu 'Sai số đơn đặt hàng' là lý do phổ biến, có thể cần trao đổi rõ hơn với nhà cung cấp hoặc đào tạo nhân viên nhập liệu. Phân tích này giúp giảm công việc phải làm lại trong quy trình. Vì sao điều này quan trọng Thuộc tính này cho biết nguyên nhân gốc rễ khiến hóa đơn bị từ chối, giúp bạn cải tiến quy trình có trọng tâm, giảm việc phải làm lại và tăng tỷ lệ xử lý đúng ngay từ lần đầu. Lấy dữ liệu ở đâu Thông tin này thường không được lưu trong một trường chuẩn duy nhất. Bạn có thể tìm thấy thông tin trong nhật ký workflow container, trường văn bản dài gắn với chứng từ hoặc các trường riêng trong giải pháp workflow tùy chỉnh. Ví dụ HÓA_ĐƠN_TRÙNGSAI_SỐ_TIỀNKHÔNG_KHỚP_ĐƠN_ĐẶT_HÀNG | |||
| Mã công ty CompanyCode | Mã định danh pháp nhân hoặc công ty xử lý hóa đơn. | ||
| Mô tả Mã công ty là đơn vị tổ chức cơ bản trong SAP Financials, đại diện cho một pháp nhân độc lập. Mọi giao dịch tài chính, bao gồm hóa đơn, đều được hạch toán vào một mã công ty cụ thể. Thuộc tính này cho phép phân tích quy trình theo từng pháp nhân. Đây là dữ liệu quan trọng để so sánh hiệu suất, mức độ tuân thủ và hiệu quả quy trình giữa các công ty trong cùng tập đoàn. Bạn có thể lọc bảng điều khiển theo Mã công ty để xem KPI xử lý hóa đơn của từng công ty. Vì sao điều này quan trọng Thuộc tính này giúp so sánh quy trình và đối chiếu hiệu suất giữa các pháp nhân trong một tổ chức. Lấy dữ liệu ở đâu Đây là trường 'Company Code' (BUKRS) trong bảng tiêu đề chứng từ hóa đơn RBKP. Ví dụ 10002000US01 | |||
| Mất chiết khấu tiền mặt IsCashDiscountLost | Cờ được tính toán để cho biết có bỏ lỡ khoản chiết khấu tiền mặt đủ điều kiện hay không. | ||
| Mô tả Đây là thuộc tính dạng đúng/sai, được tính dựa trên điều khoản thanh toán và ngày thanh toán thực tế. Cờ có giá trị đúng nếu 'Điều khoản thanh toán' cho phép chiết khấu khi thanh toán sớm nhưng 'Ngày thanh toán bù trừ' rơi sau khi hết thời hạn chiết khấu. Thuộc tính này đo lường trực tiếp tổn thất tài chính do quy trình kém hiệu quả. Thuộc tính này là dữ liệu nền tảng cho bảng điều khiển 'Cơ hội chiết khấu tiền mặt bị bỏ lỡ'. Bạn có thể dễ dàng định lượng tác động tài chính của việc xử lý chậm trễ. Khi lọc các trường hợp có cờ đúng, chuyên viên phân tích có thể tìm hiểu các biến thể quy trình và điểm nghẽn thường khiến doanh nghiệp bỏ lỡ chiết khấu, từ đó xây dựng cơ sở rõ ràng để cải tiến quy trình. Vì sao điều này quan trọng Thuộc tính này định lượng trực tiếp tổn thất tài chính do quy trình chậm trễ, giúp làm rõ lợi ích của việc tối ưu hóa quy trình xử lý hóa đơn. Lấy dữ liệu ở đâu Thuộc tính này không có sẵn trong SAP. Thuộc tính được tính trong quá trình chuyển đổi dữ liệu bằng cách diễn giải 'PaymentTerms' và so sánh 'ClearingDate' với ngày đến hạn chiết khấu. Ví dụ truefalse | |||
| Quá hạn IsOverdue | Cờ được tính toán để cho biết hóa đơn có được thanh toán sau ngày đến hạn hay không. | ||
| Mô tả Đây là thuộc tính dạng đúng/sai, được tính bằng cách so sánh 'Ngày thanh toán bù trừ' (ngày thanh toán thực tế) với 'Ngày đến hạn thanh toán'. Nếu ngày thanh toán bù trừ sau ngày đến hạn, cờ có giá trị đúng; nếu không, cờ có giá trị sai. Thuộc tính này đo lường trực tiếp hiệu quả thanh toán đúng hạn của từng hóa đơn. Thuộc tính này giúp đơn giản hóa việc phân tích và trực quan hóa trên bảng điều khiển. Bạn có thể dễ dàng lọc và tổng hợp dữ liệu để tính KPI 'Tỷ lệ thanh toán đúng hạn'. Người dùng cũng có thể nhanh chóng phân nhóm quy trình để so sánh luồng xử lý hóa đơn quá hạn với hóa đơn được thanh toán đúng hạn, từ đó tìm ra những cách xử lý thường dẫn đến thanh toán trễ. Vì sao điều này quan trọng Thuộc tính này giúp phân tích hiệu quả thanh toán đúng hạn và dễ dàng so sánh quy trình xử lý hóa đơn đúng hạn với hóa đơn trễ hạn. Lấy dữ liệu ở đâu Thuộc tính này không có sẵn trong SAP. Thuộc tính được tính trong quá trình chuyển đổi dữ liệu bằng công thức: ClearingDate > PaymentDueDate. Ví dụ truefalse | |||
| Tài khoản sổ cái GeneralLedgerAccount | Số tài khoản sổ cái dùng để hạch toán chi phí hoặc khoản phải trả của hóa đơn. | ||
| Mô tả Tài khoản sổ cái (G/L) là tài khoản đích trong hệ thống tài khoản, nơi ghi nhận ảnh hưởng tài chính của hóa đơn. Đây là dữ liệu quan trọng cho báo cáo tài chính và quản lý chi phí. Trong process mining, phân tích tài khoản sổ cái bổ sung góc nhìn tài chính cho luồng quy trình. Bảng điều khiển 'Phân tích việc sử dụng tài khoản sổ cái' có thể cho thấy xu hướng chi tiêu, phát hiện hóa đơn hạch toán sai tài khoản và kiểm tra xem chi phí có được phân bổ đúng cho phòng ban hoặc dự án hay không. Nhờ đó, bạn có thể liên kết việc thực hiện quy trình với tác động tài chính. Vì sao điều này quan trọng Thuộc tính này bổ sung góc nhìn tài chính cho quy trình, giúp phân tích việc phân bổ chi phí, xu hướng chi tiêu và các trường hợp hóa đơn có thể bị hạch toán sai. Lấy dữ liệu ở đâu Thông tin này nằm ở cấp dòng. 'Số tài khoản sổ cái' (HKONT) có trong bảng dòng hóa đơn RSEG đối với hóa đơn theo đơn đặt hàng hoặc BSEG đối với hóa đơn FI trực tiếp. Ví dụ 630000655100741000 | |||
| Thời gian kết thúc EndTime | Dấu thời gian cho biết thời điểm một hoạt động hoàn tất. Với sự kiện diễn ra tức thời, giá trị này trùng với Thời gian bắt đầu. | ||
| Mô tả Thuộc tính Thời gian kết thúc đánh dấu thời điểm một hoạt động cụ thể hoàn tất. Trong SAP, nhiều sự kiện chỉ được ghi nhận tại một thời điểm nên Thời gian kết thúc sẽ trùng với Thời gian bắt đầu. Tuy nhiên, với hoạt động có thời lượng đo được, chẳng hạn như bước phê duyệt đang được xử lý, thuộc tính này có thể ghi nhận thời điểm công việc kết thúc. Trong phân tích quy trình, Thời gian kết thúc riêng biệt giúp đo thời gian xử lý hoạt động, tách khỏi thời gian chờ trước đó. Nhờ vậy, bạn phân biệt được thời gian thực hiện một hoạt động với thời gian một trường hợp phải chờ hoạt động bắt đầu, từ đó hiểu rõ hơn hiệu quả sử dụng tài nguyên. Vì sao điều này quan trọng Thuộc tính này giúp tính thời gian xử lý hoạt động, phân biệt với thời gian chờ giữa các hoạt động và hỗ trợ phân tích điểm nghẽn chính xác hơn. Lấy dữ liệu ở đâu Giá trị này thường trùng với Thời gian bắt đầu, được xác định từ CDHDR-UDATE và CDHDR-UTIME. Trong một số trường hợp, giá trị có thể lấy từ nhật ký workflow ghi rõ thời điểm bắt đầu và kết thúc tác vụ. Ví dụ 2023-03-15T10:35:10Z2023-03-16T14:10:00Z2023-03-28T09:02:45Z | |||
Các hoạt động xử lý hóa đơn trong quy trình mua hàng đến thanh toán
| Hoạt động | Mô tả | ||
|---|---|---|---|
| Đảo ngược hóa đơn | Đánh dấu việc hủy một chứng từ hóa đơn đã ghi sổ. Hệ thống tạo chứng từ đảo ngược để triệt tiêu ảnh hưởng tài chính của hóa đơn ban đầu. | ||
| Vì sao điều này quan trọng Hoạt động này cho thấy một trường hợp ngoại lệ đáng kể và một nhánh làm lại. Phân tích tần suất và lý do đảo ngược có thể giúp phát hiện vấn đề mang tính hệ thống trong khâu kiểm tra và ghi sổ hóa đơn. Lấy dữ liệu ở đâu Đây là sự kiện được ghi nhận rõ ràng trong bảng phần đầu chứng từ BKPF. Phần đầu của chứng từ bị đảo ngược chứa số chứng từ đảo ngược (STBLG) và năm tài chính (STJAH). Thu thập Tìm các chứng từ có trường BKPF-STBLG đã được điền. Dấu thời gian sự kiện là ngày ghi sổ của chứng từ đảo ngược. Loại sự kiện explicit | |||
| Đặt lệnh chặn thanh toán | Hoạt động này xảy ra khi một khoản mục hóa đơn bị chặn thanh toán. Lệnh chặn có thể được đặt tự động do sai lệch khi đối chiếu ba bên hoặc được đặt thủ công vì nhiều lý do. | ||
| Vì sao điều này quan trọng Sự kiện này rất quan trọng để đo thời gian xử lý lệnh chặn thanh toán và xác định nguyên nhân gốc rễ của chậm trễ thanh toán. Sự kiện giúp phát hiện vấn đề về giá, số lượng hoặc phê duyệt bắt buộc. Lấy dữ liệu ở đâu Đây là sự kiện được ghi nhận rõ ràng trong nhật ký chứng từ thay đổi (bảng CDHDR và CDPOS) của bảng BSEG, trường ZLSPR (mã lệnh chặn thanh toán). Thu thập Dấu thời gian từ chứng từ thay đổi (CDHDR), tại thời điểm giá trị BSEG-ZLSPR chuyển từ trống sang có giá trị. Loại sự kiện explicit | |||
| Ghi nhận dữ liệu hóa đơn | Đánh dấu thời điểm tạo chứng từ hóa đơn ban đầu trong SAP, dưới dạng chứng từ tạm giữ hoặc đã ghi sổ hoàn chỉnh. Đây thường là sự kiện đầu tiên được ghi nhận trong hệ thống ở vòng đời hóa đơn và là thời điểm bắt đầu quy trình. | ||
| Vì sao điều này quan trọng Đây là hoạt động chính để đo tổng thời gian xử lý hóa đơn từ đầu đến cuối. Phân tích khoảng thời gian kể từ mốc này giúp xác định chậm trễ trong khâu nhập dữ liệu ban đầu và tạo chứng từ. Lấy dữ liệu ở đâu Dấu thời gian tạo được ghi trong bảng SAP BKPF, các trường CPUDT (ngày nhập chứng từ kế toán) và CPUTM (thời gian nhập). Thu thập Dùng dấu thời gian tạo chứng từ trong phần đầu bảng BKPF (CPUDT). Loại sự kiện explicit | |||
| Ghi sổ hóa đơn | Đây là sự kiện tài chính quan trọng, khi hóa đơn được ghi nhận chính thức vào sổ cái và tạo ra một khoản phải trả. Chứng từ chuyển từ trạng thái tạm thời (tạm giữ) sang bút toán kế toán chính thức. | ||
| Vì sao điều này quan trọng Ghi sổ là một mốc quan trọng xác nhận hóa đơn hợp lệ. Đây là điều kiện cần để thanh toán và là chỉ số quan trọng về năng suất xử lý. Lấy dữ liệu ở đâu Đây là sự kiện được ghi nhận rõ ràng trong bảng phần đầu chứng từ BKPF. Dấu thời gian là ngày ghi sổ, BKPF-BUDAT. Chứng từ sẽ không còn ở trạng thái 'tạm giữ'. Thu thập Dùng ngày ghi sổ (BKPF-BUDAT) cho các chứng từ không ở trạng thái tạm giữ (BKPF-BSTAT để trống hoặc ' '). Loại sự kiện explicit | |||
| Tất toán hóa đơn | Hoạt động này đánh dấu bước cuối trong vòng đời hóa đơn được xử lý thành công. Khoản phải trả chưa thanh toán được tất toán bằng chứng từ thanh toán, nghĩa là khoản thanh toán đã được thực hiện. | ||
| Vì sao điều này quan trọng Đây là sự kiện kết thúc chính, rất quan trọng để tính tổng thời gian xử lý từ đầu đến cuối. Sự kiện xác nhận quy trình đã hoàn tất thành công và được dùng để đo hiệu quả thanh toán đúng hạn. Lấy dữ liệu ở đâu Đây là sự kiện được ghi nhận rõ ràng trong bảng khoản mục hóa đơn BSEG. Ngày tất toán được lưu trong trường AUGDT, còn số chứng từ tất toán được lưu trong AUGBL. Thu thập Dùng ngày tất toán (BSEG-AUGDT) từ khoản mục của chứng từ hóa đơn. Loại sự kiện explicit | |||
| Gỡ lệnh chặn thanh toán | Đánh dấu thời điểm gỡ lệnh chặn thanh toán khỏi một khoản mục hóa đơn, cho phép khoản mục này chuyển sang đợt thanh toán. Điều đó có nghĩa là vấn đề đã được xác định trước đó đã được xử lý. | ||
| Vì sao điều này quan trọng Hoạt động này kết thúc việc đo thời gian bị chặn. Phân tích khoảng thời gian từ lúc đặt đến lúc gỡ lệnh chặn cho thấy hiệu quả xử lý vấn đề. Lấy dữ liệu ở đâu Sự kiện này được theo dõi qua nhật ký chứng từ thay đổi (bảng CDHDR và CDPOS) của bảng BSEG, trường ZLSPR (mã lệnh chặn thanh toán), khi lệnh chặn được gỡ. Thu thập Dấu thời gian từ chứng từ thay đổi (CDHDR), tại thời điểm giá trị BSEG-ZLSPR chuyển từ có giá trị sang trống. Loại sự kiện explicit | |||
| Gửi hóa đơn để phê duyệt | Đánh dấu thời điểm hóa đơn được gửi vào quy trình phê duyệt chính thức. Cách ghi nhận sự kiện này phụ thuộc nhiều vào cách triển khai SAP Workflow hoặc hệ thống bên thứ ba cụ thể. | ||
| Vì sao điều này quan trọng Hoạt động này bắt đầu tính KPI thời gian phê duyệt hóa đơn. Đây là mốc cần thiết để xác định chậm trễ trong chuỗi phê duyệt và phân tích hiệu quả của người phê duyệt. Lấy dữ liệu ở đâu Sự kiện này thường được lấy từ các bảng SAP Business Workflow (ví dụ: SWW_WI2OBJ, SWWLOG) bằng cách xác định thời điểm bắt đầu một tác vụ phê duyệt cụ thể. Với quy trình đơn giản hơn, có thể suy ra sự kiện từ thay đổi trạng thái trong trường tùy chỉnh. Thu thập Cần phân tích nhật ký SAP Workflow hoặc các trường trạng thái tùy chỉnh liên kết với chứng từ hóa đơn. Loại sự kiện inferred | |||
| Hóa đơn bị từ chối | Cho biết hóa đơn bị từ chối trong quá trình phê duyệt. Hóa đơn thường cần được chỉnh sửa rồi gửi lại, tạo thành một vòng lặp làm lại. | ||
| Vì sao điều này quan trọng Theo dõi các trường hợp bị từ chối rất quan trọng để xác định nguyên nhân thường gặp, chẳng hạn như dữ liệu sai hoặc vi phạm chính sách. Việc này giúp đo lường khối lượng làm lại và tìm ra điểm cần cải tiến quy trình hoặc hướng dẫn nhà cung cấp. Lấy dữ liệu ở đâu Sự kiện này thường xuất hiện trong nhật ký SAP Business Workflow dưới dạng bước từ chối. Bạn cũng có thể suy ra sự kiện từ một số thay đổi trạng thái hoặc ghi chú được thêm vào chứng từ hóa đơn. Thu thập Dấu thời gian của bước từ chối trong nhật ký workflow hoặc thời điểm trạng thái chứng từ chuyển sang bị từ chối. Loại sự kiện inferred | |||
| Hóa đơn được phê duyệt | Cho biết hóa đơn đã được người có thẩm quyền chính thức phê duyệt, đủ điều kiện chuyển sang bước ghi sổ và thanh toán. Đây thường là bước cuối của quy trình làm việc. | ||
| Vì sao điều này quan trọng Mốc này kết thúc thời gian đo chu kỳ phê duyệt. Khi hóa đơn được thông qua, quy trình có thể tiếp tục để thanh toán đúng hạn. Mốc này cũng giúp phân tích khối lượng công việc giữa những người phê duyệt. Lấy dữ liệu ở đâu Sự kiện này thường được lấy từ các bảng SAP Business Workflow bằng cách xác định thời điểm hoàn tất tác vụ phê duyệt. Ngoài ra, có thể suy ra sự kiện từ việc gỡ lệnh chặn thanh toán liên quan đến phê duyệt. Thu thập Dấu thời gian hoàn tất bước phê duyệt trong nhật ký workflow hoặc thời điểm gỡ một lệnh chặn thanh toán cụ thể. Loại sự kiện inferred | |||
| Hóa đơn quá hạn | Sự kiện được tính toán khi ngày hiện tại đã qua ngày đến hạn thanh toán ròng của hóa đơn nhưng hóa đơn vẫn chưa được thanh toán. Ngày đến hạn được xác định dựa trên điều khoản thanh toán và ngày cơ sở. | ||
| Vì sao điều này quan trọng Hoạt động này rất cần thiết để theo dõi KPI tỷ lệ thanh toán đúng hạn. Hoạt động giúp cảnh báo sớm hóa đơn có nguy cơ thanh toán trễ, vốn có thể ảnh hưởng đến quan hệ với nhà cung cấp và phát sinh tiền phạt. Lấy dữ liệu ở đâu Sự kiện này được tính bằng cách so sánh ngày hiện tại với ngày đến hạn thanh toán ròng. Ngày đến hạn được xác định từ ngày cơ sở (BSEG-ZFBDT) và điều khoản thanh toán (BSEG-ZTERM). Thu thập Sự kiện được kích hoạt khi Loại sự kiện calculated | |||
| Tạm giữ hóa đơn | Cho biết hóa đơn đã được nhập vào SAP nhưng chưa ghi sổ vào sổ cái. Đây là trạng thái tạm thời để rà soát, chỉnh sửa hoặc phê duyệt trước khi ghi nhận tài chính. | ||
| Vì sao điều này quan trọng Theo dõi thời điểm tạm giữ hóa đơn và thời gian hóa đơn ở trạng thái này giúp phát hiện điểm nghẽn trong khâu kiểm tra, phê duyệt trước khi ghi sổ. Việc này cũng tách riêng thời gian nhập dữ liệu khỏi thời gian xử lý tài chính. Lấy dữ liệu ở đâu Trạng thái này được suy ra từ trường BSTAT trong bảng BKPF. Giá trị 'V' (chứng từ tạm giữ) hoặc 'W' (chứng từ tạm giữ, chờ duyệt thay đổi) cho biết chứng từ đang ở trạng thái tạm giữ. Thu thập Tìm các chứng từ có trường trạng thái BKPF-BSTAT là 'V'. Dấu thời gian sự kiện là ngày tạo BKPF-CPUDT. Loại sự kiện inferred | |||
Hướng dẫn trích xuất dữ liệu
Các bước
- Tạo chương trình ABAP: Dùng giao dịch
SE38hoặcSE80để tạo chương trình thực thi mới, chẳng hạnZ_PM_INVOICE_EXTRACT. Đặt tiêu đề phù hợp và chọn loại 'Executable Program'. - Định nghĩa màn hình chọn: Trong chương trình, tạo màn hình chọn để người dùng lọc dữ liệu. Các tham số chính gồm Mã công ty (
BUKRS), Năm tài chính (GJAHR), phạm vi Ngày hạch toán (BUDAT) và đường dẫn tệp đầu ra trên máy chủ ứng dụng. - Khai báo cấu trúc dữ liệu: Định nghĩa cấu trúc bảng nội bộ để lưu nhật ký sự kiện cuối cùng. Cấu trúc này phải có đủ các thuộc tính bắt buộc và được đề xuất:
InvoiceNumber,Activity,EventTime,UserName,VendorNumber,PurchaseOrderNumber,InvoiceAmount,PostingDate,PaymentDueDate,PaymentBlockReasonvàClearingDate. - Triển khai logic chọn dữ liệu: Viết logic ABAP chính để chọn dữ liệu hóa đơn. Cách làm này gồm nhiều lượt chọn dữ liệu, sau đó kết hợp vào bảng nhật ký sự kiện cuối cùng.
- Trước tiên, chọn dữ liệu tiêu đề và dòng từ các bảng hóa đơn chính
BKPF,BSEG,RBKPvàRSEGtheo tiêu chí trên màn hình chọn. - Với mỗi hóa đơn, tạo các sự kiện cơ bản như 'Invoice Data Captured' (dựa trên dấu thời gian tạo) và 'Invoice Posted' (dựa trên dấu thời gian hạch toán).
- Truy vấn các bảng chứng từ thay đổi
CDHDRvàCDPOSđể tìm thay đổi liên quan đến chặn thanh toán (trườngZLSPRtrongBSEG). Với mỗi thay đổi phù hợp, tạo sự kiện 'Payment Block Set' và 'Payment Block Released'. - Xác định sự kiện 'Invoice Cleared' bằng cách kiểm tra chứng từ thanh toán bù trừ (
AUGBL) và ngày thanh toán bù trừ (AUGDT) trong bảngBSEG. - Xác định sự kiện 'Invoice Reversed' bằng cách kiểm tra chứng từ đảo (
STBLG) trong tiêu đềBKPF. - Tạo logic tùy chỉnh để ghi nhận các sự kiện workflow ('Invoice Sent For Approval', 'Approved', 'Rejected'). Phần này phụ thuộc nhiều vào từng khách hàng, cần điều chỉnh mã theo bảng hoặc trường trạng thái của workflow bạn đang dùng.
- Trước tiên, chọn dữ liệu tiêu đề và dòng từ các bảng hóa đơn chính
- Tạo sự kiện được tính toán: Trong logic chương trình, tính sự kiện
Invoice Becomes Overdue. Sự kiện này được xác định bằng cách so sánh ngày đến hạn thanh toán hóa đơn (PaymentDueDate) với ngày hiện tại cho tất cả hóa đơn chưa thanh toán. Nếu ngày đến hạn đã qua, hãy tạo sự kiện vớiEventTimebằng ngày đến hạn. - Điền dữ liệu vào bảng nhật ký sự kiện: Khi thu thập dữ liệu cho từng hóa đơn từ các nguồn khác nhau, hãy định dạng dữ liệu và thêm hàng mới vào bảng nhật ký sự kiện nội bộ cuối cùng, mỗi hàng tương ứng với một hoạt động.
- Xuất dữ liệu ra tệp: Dùng các câu lệnh
OPEN DATASET,TRANSFERvàCLOSE DATASETđể ghi nội dung bảng nội bộ cuối cùng vào tệp phẳng trên đường dẫn máy chủ ứng dụng SAP được chỉ định trên màn hình chọn. Dùng dấu phân cách nhất quán, chẳng hạn dấu chấm phẩy hoặc tab, để tạo tệp CSV. - Lên lịch trích xuất: Để trích xuất dữ liệu định kỳ, tạo biến thể cho chương trình với tiêu chí chọn mong muốn và lên lịch chạy dưới dạng tác vụ nền bằng giao dịch
SM36. - Lấy tệp đầu ra: Dùng giao dịch
AL11để truy cập thư mục trên máy chủ ứng dụng SAP và tìm tệp đã tạo. Dùng giao dịchCG3Yđể tải tệp từ máy chủ ứng dụng về máy tính. - Chuẩn bị tải lên: Trước khi tải lên công cụ process mining, mở tệp CSV để kiểm tra tiêu đề, định dạng dữ liệu (đặc biệt là dấu thời gian) và dấu phân cách. Đảm bảo tệp được lưu với mã hóa UTF-8.
Cấu hình
- Tiêu chí chọn dữ liệu: Báo cáo ABAP nên có màn hình chọn đầy đủ. Các bộ lọc quan trọng nhất gồm:
Company Code (BUKRS): Giới hạn trích xuất vào các pháp nhân cụ thể.Posting Date (BUDAT): Xác định khoảng thời gian trích xuất. Nên chia dữ liệu thành các đợt vừa phải, chẳng hạn mỗi đợt từ 3 đến 6 tháng.Document Type (BLART): Chỉ lấy các loại chứng từ hóa đơn liên quan, chẳng hạn 'RE' cho hóa đơn logistics và 'KR' cho hóa đơn nhà cung cấp.
- Đường dẫn tệp đầu ra: Đây là tham số bắt buộc để chỉ định đường dẫn đầy đủ và tên tệp trên application server của SAP. Người chạy báo cáo cần có quyền ghi vào thư mục này.
- Lưu ý về hiệu suất: Với tập dữ liệu lớn, nên chạy báo cáo dưới dạng background job vào giờ thấp điểm để tránh làm giảm hiệu suất hệ thống. Logic nên chỉ chọn các trường cần thiết từ bảng và tận dụng chỉ mục cơ sở dữ liệu SAP tiêu chuẩn khi có thể.
- Điều kiện tiên quyết và quyền truy cập: Người dùng hoặc tài khoản dịch vụ chạy quy trình trích xuất cần có:
- Quyền chạy báo cáo ABAP (thuộc
S_PROGRAM). - Quyền đọc các bảng tài chính và logistics, gồm
BKPF,BSEG,RBKP,RSEG,CDHDRvàCDPOS. - Quyền ghi tệp vào thư mục application server đã chỉ định (
S_DATASET). - Quyền truy cập các transaction
SE38,SM36,AL11vàCG3Yđể phát triển, lên lịch và lấy tệp.
- Quyền chạy báo cáo ABAP (thuộc
Truy vấn mẫu abap
REPORT Z_PM_INVOICE_EXTRACT.
*&---------------------------------------------------------------------*
*& Tables for Selection Screen
*&---------------------------------------------------------------------*
TABLES: BKPF, RBKP.
*&---------------------------------------------------------------------*
*& Data Declarations
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_event_log,
InvoiceNumber TYPE belnr_v,
Activity TYPE string,
EventTime TYPE timestamp,
UserName TYPE uname,
VendorNumber TYPE lifnr,
PurchaseOrderNumber TYPE ebeln,
InvoiceAmount TYPE wrbtr,
PostingDate TYPE budat,
PaymentDueDate TYPE faedt,
PaymentBlockReason TYPE rstgr,
ClearingDate TYPE augdt,
END OF ty_event_log.
DATA: gt_event_log TYPE TABLE OF ty_event_log,
gs_event_log TYPE ty_event_log.
DATA: lt_bkpf TYPE TABLE OF bkpf,
ls_bkpf TYPE bkpf,
lt_bseg TYPE TABLE OF bseg,
ls_bseg TYPE bseg.
DATA: lt_rbkp TYPE TABLE OF rbkp,
ls_rbkp TYPE rbkp.
*&---------------------------------------------------------------------*
*& Selection Screen
*&---------------------------------------------------------------------*
SELECT-OPTIONS: s_bukrs FOR bkpf-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_budat FOR bkpf-budat.
PARAMETERS: p_fpath TYPE string OBLIGATORY DEFAULT '/usr/sap/tmp/invoice_events.csv'.
*&---------------------------------------------------------------------*
*& Start of Program Logic
*&---------------------------------------------------------------------*
START-OF-SELECTION.
" Select FI Invoices (e.g., Doc Type KR)
SELECT * FROM bkpf INTO TABLE lt_bkpf
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND blart = 'KR'.
" Select MM Invoices
SELECT * FROM rbkp INTO TABLE lt_rbkp
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat.
* --- Process FI Invoices ---
LOOP AT lt_bkpf INTO ls_bkpf.
CLEAR gs_event_log.
gs_event_log-InvoiceNumber = ls_bkpf-belnr.
gs_event_log-PostingDate = ls_bkpf-budat.
SELECT SINGLE * FROM bseg INTO ls_bseg
WHERE bukrs = ls_bkpf-bukrs
AND belnr = ls_bkpf-belnr
AND gjahr = ls_bkpf-gjahr
AND koart = 'K'. " Vendor Line Item
IF sy-subrc = 0.
gs_event_log-VendorNumber = ls_bseg-lifnr.
gs_event_log-InvoiceAmount = ls_bseg-wrbtr.
gs_event_log-ClearingDate = ls_bseg-augdt.
" Calculate Due Date
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
i_bseg = ls_bseg
IMPORTING
e_faedt = gs_event_log-PaymentDueDate.
ENDIF.
" Activity: Invoice Data Captured
gs_event_log-Activity = 'Invoice Data Captured'.
CONVERT DATE ls_bkpf-cpudt TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Parked (if BSTAT = 'V')
IF ls_bkpf-bstat = 'V'.
gs_event_log-Activity = 'Invoice Parked'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Posted
gs_event_log-Activity = 'Invoice Posted'.
CONVERT DATE ls_bkpf-budat TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Cleared
IF ls_bseg-augbl IS NOT INITIAL.
gs_event_log-Activity = 'Invoice Cleared'.
CONVERT DATE ls_bseg-augdt INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bseg-usnam_cl.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Becomes Overdue
IF gs_event_log-PaymentDueDate IS NOT INITIAL AND gs_event_log-PaymentDueDate < sy-datum AND ls_bseg-augbl IS INITIAL.
gs_event_log-Activity = 'Invoice Becomes Overdue'.
CONVERT DATE gs_event_log-PaymentDueDate INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = 'SYSTEM'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Reversed
IF ls_bkpf-stblg IS NOT INITIAL.
DATA: ls_rev_bkpf TYPE bkpf.
SELECT SINGLE budat, usnam FROM bkpf INTO ls_rev_bkpf
WHERE belnr = ls_bkpf-stblg AND bukrs = ls_bkpf-bukrs AND gjahr = ls_bkpf-gjahr.
IF sy-subrc = 0.
gs_event_log-Activity = 'Invoice Reversed'.
CONVERT DATE ls_rev_bkpf-budat INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_rev_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
ENDIF.
ENDIF.
ENDLOOP.
* --- NOTE: The logic for MM invoices (from lt_rbkp) would be similar, joining RBKP with RSEG.
* --- NOTE: The logic for Payment Blocks and Workflow events requires reading change documents (CDHDR/CDPOS)
* --- or custom workflow tables. Below is a conceptual example for payment blocks.
* --- Conceptual Example for 'Payment Block Set' / 'Released' using Change Docs
* DATA: lt_cdhdr TYPE TABLE OF cdhdr, ls_cdhdr TYPE cdhdr,
* lt_cdpos TYPE TABLE OF cdpos, ls_cdpos TYPE cdpos.
* SELECT * FROM cdhdr INTO TABLE lt_cdhdr
* WHERE objectclas = 'BELEG' AND objectid IN (SELECT belnr FROM bkpf WHERE ...).
* LOOP AT lt_cdhdr.
* SELECT * FROM cdpos INTO TABLE lt_cdpos
* WHERE changenr = ls_cdhdr-changenr AND tabname = 'BSEG' AND fname = 'ZLSPR'.
* LOOP AT lt_cdpos.
* "... logic to create 'Payment Block Set' (if VALUE_NEW is not blank)
* "... or 'Payment Block Released' (if VALUE_NEW is blank) events.
* ENDLOOP.
* ENDLOOP.
* --- Conceptual Example for Workflow events ('Sent For Approval', 'Approved', 'Rejected')
* --- This part MUST be customized based on your specific workflow implementation (e.g., OpenText VIM, SAP WF).
* --- You would query the relevant workflow tables or status change tables here.
*&---------------------------------------------------------------------*
*& Write to File
*&---------------------------------------------------------------------*
END-OF-SELECTION.
DATA: lv_string TYPE string,
lv_header TYPE string.
" Create Header
lv_header = 'InvoiceNumber;Activity;EventTime;UserName;VendorNumber;PurchaseOrderNumber;InvoiceAmount;PostingDate;PaymentDueDate;PaymentBlockReason;ClearingDate'.
OPEN DATASET p_fpath FOR OUTPUT IN TEXT MODE ENCODING UTF-8.
IF sy-subrc = 0.
TRANSFER lv_header TO p_fpath.
LOOP AT gt_event_log INTO gs_event_log.
CONCATENATE gs_event_log-InvoiceNumber
gs_event_log-Activity
gs_event_log-EventTime
gs_event_log-UserName
gs_event_log-VendorNumber
gs_event_log-PurchaseOrderNumber
gs_event_log-InvoiceAmount
gs_event_log-PostingDate
gs_event_log-PaymentDueDate
gs_event_log-PaymentBlockReason
gs_event_log-ClearingDate
INTO lv_string SEPARATED BY ';'.
TRANSFER lv_string TO p_fpath.
ENDLOOP.
CLOSE DATASET p_fpath.
ELSE.
MESSAGE 'Error opening file.' TYPE 'E'.
ENDIF. Sẵn sàng bắt đầu?
Làm theo mẫu này để tìm ra thông tin hữu ích và cải tiến đáng kể quy trình xử lý hóa đơn trong quy trình mua hàng đến thanh toán. Hãy bắt đầu trích xuất dữ liệu ngay hôm nay để cải thiện hoạt động vận hành.
Cải thiện quy trình xử lý hóa đơn mua hàng đến thanh toán ngay hôm nay
Xác định điểm kém hiệu quả và rút ngắn 30% thời gian xử lý hóa đơn.
Không cần thẻ tín dụng. Thiết lập chỉ trong vài phút.