The program RFUMSV00 supports Joint Venture Accounting (JVA) functionality. When JVA is active for a company code, the program displays the Joint Venture name and Equity Group in its output for the corresponding accounting document.
RFUMSV00 also provides a checkbox called “Post to Original Cost Object” on its selection screen. The cost object determination logic depends on the combination of this checkbox and the Recovery Indicator value:
| Post to original cost objects | Recovery Indicator | Result |
| X | Blank | Original cost objects |
| X | Value filled | Original cost objects |
| Blank | Blank | Original cost objects |
| Blank | Value filled | Alternative cost objects |
In short, the system fetches alternative cost objects only when the checkbox is left blank and a Recovery Indicator value is provided. In all other scenarios, original cost objects are used.
The Gap in Post Tax Payable (TPP)
While JVA support was extended to TPP through SAP Note 3643896 — enabling the Joint Venture name and Equity Group to appear in TPP output — a second gap remained. The “Post to Original Cost Object” checkbox, which is readily available on the RFUMSV00 selection screen, was not supported in TPP. Since TPP does not own the OData service, it was not feasible to expose this checkbox on the TPP user interface.
The Solution: BAdI SRF_TPP_JVA_ORIGL_COST_OBJ
To address the above mentioned gap, a new Business Add-In (BAdI) has been introduced: SRF_TPP_JVA_ORIGL_COST_OBJ.
This BAdI allows customers to supply a Recovery Indicator value through their own implementation. Since the checkbox cannot be surfaced on the TPP interface, the field “Post to Original Cost Object” defaults to blank within the BAdI framework. The system also checks whether JVA is active for a particular company code (and the document splitting should be active for that company code) using the TPP class CL_SRF_ACTVT_TAX_PAYABLE.
When a Recovery Indicator is supplied via the BAdI, the system follows the same determination logic as RFUMSV00 and fetches the alternative cost objects tied to that indicator. If no Recovery Indicator is provided, original cost objects continue to be used — ensuring TPP behaves consistently with RFUMSV00.
BAdI Technical Details
- BAdI Definition: SRF_TPP_JVA_ORIGL_COST_OBJ
- Enhancement Spot: ES_SRF_TPP_JVA_ORIGL_COST_OBJ
- BAdI Interface: IF_SRF_TPP_JVA_ORIGL_COST_OBJ
- Method: SPLIT_TAX_LINES
- Example Class: CL_SRF_TPP_JVA_COST_OBJ_EX
Filter Values:
- Reporting Entity — scope the implementation by entity
- Report Category — scope the implementation by report category
Parameters
Input parameters provided to the BAdI:
- DOCUMENT_HEADER — fetched from BKPF using the company code, accounting document, and fiscal year within the method GET_SPLITTED_INFO.
- TAXITEM_DATA — BSET data, retrieved based on the BKPF data in the same method.
Output parameter returned from the BAdI:
- SPLIT_TAX — the resulting split tax data from the BAdI implementation.
Default Values
The following parameters are pre-filled with default values unless explicitly changed by the customer:
- POSTING_DATE = current system date (sy-datum)
- POST_TO_ORIG_COST_OBJECT = ‘ ‘ (blank)
- VENTURE_RANGE = empty
- EQUITYGROUP_RANGE = empty
Additionally, the method cl_jva_enrich_tax_lines=>get_instance()→split carries these defaults:
- IV_USE_COUNTRY_CURR = ‘ ‘ (blank)
- IV_BATCH_INPUT = ‘X'
How to Implement This BAdI
- Create your own implementation of the BAdI SRF_TPP_JVA_ORIGL_COST_OBJ.
- Refer to the example class CL_SRF_TPP_JVA_COST_OBJ_EX — this provides a ready-made reference for your implementation.
- Copy the code from the example class method into your implementation.
4. Provide the value for the Recovery Indicator parameter (IV_SUBST_COST_OBJ_RI), which is passed to the method cl_jva_enrich_tax_lines=>get_instance()→split.
Note: How you determine the Recovery Indicator value is entirely flexible. You can use a configuration parameter, a hard-coded value, pull it from standard customizing, or derive it from any other source that fits your business needs.



