0% found this document useful (0 votes)
142 views5 pages

Invoice SPlit Functionality in SAP SD ZUKRI 1736651710

Uploaded by

komal ganjale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views5 pages

Invoice SPlit Functionality in SAP SD ZUKRI 1736651710

Uploaded by

komal ganjale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Created By: Vidya Sagar Jagati

Date: 29-Dec-2024
LinkedIn Profile: www.linkedin.com/in/vidya-sagar-jagati

Standard Invoice Split Criteria


SAP's standard invoice split functionality is primarily based on the copying control
between sales documents and billing documents. It ensures that certain characteristics
in the source documents (e.g., sales orders, deliveries) are consistent in a billing
document. If these characteristics differ, SAP triggers an invoice split to create multiple
billing documents.

Key standard split criteria include:

1. Header Partner Functions: Different sold-to parties, bill-to parties, or payer


information.
2. Payment Terms: Variations in payment terms across documents.
3. Billing Dates: Discrepancies in billing dates.
4. Currency: If the currency differs across source documents.
5. Reference Data: Different reference documents like sales orders or deliveries.

How Does the System Identify the Split?


The split criteria are technically determined using the VBRK-ZUKRI field. This is a key
field in the billing document header (VBRK table) and is generated dynamically during
invoice creation based on the underlying split logic.

- ZUKRI (Invoice Split Criteria) acts as a unique identifier.

- SAP uses standard data transfer routines in the copying control configuration (e.g.,
VTFL for delivery to billing or VTFA for order to billing) to populate ZUKRI.

- If ZUKRI values differ between items, an invoice split is triggered.

Where Is the Split Logic Stored?


The invoice split logic is embedded in the data transfer routine assigned to the relevant
copying control at the header level. For example:

- Go to Transaction Code VTFL (Delivery to Billing Document copying control).

- Review or configure the Header Data Transfer Routine. The standard routine typically
used is 003, which calculates ZUKRI based on standard criteria.

T-code: VTFL
Created By: Vidya Sagar Jagati
Date: 29-Dec-2024
LinkedIn Profile: www.linkedin.com/in/vidya-sagar-jagati

The configuration is stored in tables like:

• - TVCPF (Copying Control for Billing Documents).


• - VBRK (Billing Document Header).
Created By: Vidya Sagar Jagati
Date: 29-Dec-2024
LinkedIn Profile: www.linkedin.com/in/vidya-sagar-jagati
Understanding Data Transfer Routine for ZUKRI in SAP
The data transfer routine in SAP is a part of the copying control functionality used
during document creation, such as creating a billing document from a sales order or
delivery. It governs how data is transferred from the source document to the target
document and includes the logic for determining fields like ZUKRI (Invoice Split
Criteria).

What is a Data Transfer Routine?


- It is an ABAP program logic executed during the creation of a target document.
- For billing documents, these routines are part of the copying control configuration
(e.g., in transactions VTFL for delivery to billing or VTFA for sales order to billing).
- The routine defines how data is mapped, modified, or evaluated from source
document fields (e.g., VBAK, VBAP, LIKP, LIPS) into the billing document fields (e.g.,
VBRK, VBRP).

Where is ZUKRI Logic Implemented?


1. Location in Configuration:
- Transaction VTFL (Delivery to Billing) or VTFA (Order to Billing):
- Navigate to the copying control configuration.
- Select the header-level data transfer routine (e.g., Routine 003 is often used as
standard).

2. Program/Function Module:
- Each routine corresponds to a form routine written in ABAP.
- It is located in the SAP development environment under the program associated with
copying control.

Structure of a Data Transfer Routine


A typical data transfer routine for header data (e.g., routine 003) might look like this:

FORM DATEN_KOPIEREN_003 USING FAKTOR.


DATA: BEGIN OF ZUK,
VTWEG LIKE VBAK-VTWEG, "Distribution Channel
SPART LIKE VBAK-SPART, "Division
VGBEL LIKE VBRP-VGBEL, "Preceding Document
END OF ZUK.

CLEAR ZUK. " Initialize the ZUK structure


ZUK-VTWEG = VBAK-VTWEG. " Assign Distribution Channel
ZUK-SPART = VBAK-SPART. " Assign Division
ZUK-VGBEL = VBRP-VGBEL. " Assign Preceding Document
Created By: Vidya Sagar Jagati
Date: 29-Dec-2024
LinkedIn Profile: www.linkedin.com/in/vidya-sagar-jagati
VBRK-ZUKRI = ZUK. " Populate ZUKRI in Billing Header
ENDFORM.

Purpose of ZUKRI in Data Transfer Routine


The logic within the routine ensures:
- Consistency in Invoice Creation: Data that affects invoice splitting is explicitly
evaluated and stored in ZUKRI.
- Seamless Splitting Logic: If ZUKRI differs between items, SAP creates separate
invoices; otherwise, the items are grouped in one invoice.
- Customization Possibility: You can modify or enhance the routine to incorporate
additional criteria.

Enhancing the Data Transfer Routine


If your business requires custom invoice split logic, you can enhance or create a new
routine.

Steps to Enhance or Create a Routine:


1. Access VOFM (Transaction VOFM):
- Go to VOFM > Data Transfer > Billing Header to create or modify routines.

2. Write Custom Logic:


- Copy a standard routine (e.g., 003) and adapt it.
- Add additional fields or concatenate new criteria to the ZUK structure.

Example:
FORM DATEN_KOPIEREN_ZXXX USING FAKTOR.
DATA: BEGIN OF ZUK,
VTWEG LIKE VBAK-VTWEG,
SPART LIKE VBAK-SPART,
VGBEL LIKE VBRP-VGBEL,
ZMATGRP LIKE VBRP-MATKL, " Custom Material Group Field
END OF ZUK.

CLEAR ZUK.
ZUK-VTWEG = VBAK-VTWEG.
ZUK-SPART = VBAK-SPART.
ZUK-VGBEL = VBRP-VGBEL.
ZUK-ZMATGRP = VBRP-MATKL. " Custom Field Logic

VBRK-ZUKRI = ZUK.
ENDFORM.
Created By: Vidya Sagar Jagati
Date: 29-Dec-2024
LinkedIn Profile: www.linkedin.com/in/vidya-sagar-jagati
Debugging and Analysis
To analyze ZUKRI logic during invoice creation:
- Use transaction VF01.
- Set a breakpoint in the routine (e.g., in Include RV60C003 or your custom routine).
- Check the values of ZUK and VBRK-ZUKRI at runtime to ensure correctness.

You might also like