[SAP SD] Lỗi DO không ghi nhận giá vốn dù đã xác nhận POD (POD status = C)

📌 Tình huống thực tế

Trong hệ thống SAP SD, trường hợp DO không ghi nhận giá vốn (COGS) POD đã được xác nhận (POD status = C). Đây lỗi nghiêm trọng ảnh hưởng trực tiếp đến việc phản ánh chi phí trong chứng từ tài chính (FI document).

Giao dịch ghi nhận COGS bình thường và  bị lỗi
Hình 1: Giao dịch ghi nhận COGS bình thường và  bị lỗi


✅Trường LIPS-SITKZ gì? Mục đích ý nghĩa giá trị

LIPS-SITKZ trường "Special Stock Indicator for Valuated Stock in Transit", xuất hiện trong bảng LIPSbảng lưu chi tiết item của Delivery Order. 

Quy định giai đoạn hệ thống sẽ ghi nhận giá vốn tùy theo việc quy trình sử dụng VLPOD hay không.

Giá trị phổ biến của SITKZ trong quy trình SD:

Giá trịÝ nghĩaThời điểm ghi nhận COGS
BlankKhông sử dụng VLPODTại bước PGI (Post Goods Issue)
3Sử dụng quy trình VLPODTại bước POD Confirm


LIPS-SITKZ được sinh ra khi nào?

  • Trường LIPS-SITKZ được hệ thống sinh ra khi tạo DO (Delivery Order).

  • Đây không phải trường nhập tay, hệ thống lấy lên từ cấu hình sẵn trong schedule line category.

  • Bảng LIPS = bảng lưu các item trong Delivery, còn cấu hình SITKZ lấy từ schedule line category qua Tcode: VOV6.


✅ Đây master data hay transaction data?

  • LIPS-SITKZ transaction data, xuất hiện từng item của chứng từ DO.

  • Tuy nhiên, giá trị của phụ thuộc vào cấu hình master (schedule line category) → được hệ thống tự động gán khi tạo DO.


✅ Phân tích nguyên nhân lỗi

Nguyên nhân ban đầu:

  • Trường SITKZ bị để trống (blank)hệ thống hiểu không cần đợi POD để ghi nhận giá vốn → không ghi nhận được tại bước POD.

Nguyên nhân gốc rễ:

  • SO item không giáhệ thống tự động gán DO block (selling price = 0).

  • SO item chưa được confirm.

  • Do đó, nếu theo logic chuẩn hệ thống, thì không cho phép tạo DO trong các trường hợp trên.

Tuy nhiên, trong thực tế:

  • Các chương trình customize (Z program)  dùng function module tiêu chuẩn của SAP nhưng bỏ qua logic kiểm tra → DO vẫn được tạo điều kiện chưa hợp lệ → SITKZ không được set đúng.


✅ Cách xử tạm thời (workaround)

Người dùng thực hiện các bước sau:

  1. Cancel Billing

  2. Cancel POD

  3. Chạy chương trình ZZCORR_SITKZ1 (Áp dụng SAP Note bên dưới) để cập nhật LIPS-SITKZ từ blank → 3

  4. Create Billing lại

  5. Confirm POD

  6. Kiểm tra chứng từ FI đã ghi nhận đúng giá vốn (COGS)

Chương trình ZZCORR_SITKZ1
Hình 2: Chương trình ZZCORR_SITKZ1


✅ Giải pháp lâu dài (long-term fix)

Cần ra soát lại và cải thiện chương trình customize tạo DO tích hợp thêm logic:

  • Không cho tạo DO nếu:

    • SO item bị set DO block do thiếu giá

    • SO item chưa được confirm

    • Delivery date ≠ 31.12.9999 (một số hệ thống dùng ngày này để xác định chưa giao)


✅ SAP Notes liên quan

  • SAP Note 2215170SITKZ not filled properly for order-related deliveries

  • SAP Note 2078538Incorrect indicator for issuing valuated stock in transit (SITKZ) with order reference


🎯 Kết luận

Để hệ thống ghi nhận đúng giá vốn trong quy trình sử dụng POD, việc kiểm soát logic tạo DO hiểu đúng về trường LIPS-SITKZ cực kỳ quan trọng. Hãy đảm bảo rằng các chương trình tùy chỉnh không phá vỡ logic chuẩn của SAP.

Bạn đã gặp lỗi tương tự? Hãy chia sẻ thêm để cùng trao đổi cải thiện hệ thống SAP của mình nhé!


Post a Comment

0 Comments