Financial Management Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
arsalantaufiq
Explorer
0 Likes
682

Objective:

The purpose of this custom made utility development is to automate the process of updating vendor tax statuses and corresponding withholding tax types and codes within the Business Partner (BP) master data. The update will be driven by predefined criteria maintained in a custom table and a periodic tax-status file received from external tax authorities or regulatory bodies.

The custom build utility will read tax identification numbers (such as national ID, business registration number, or equivalent) from the input file, compare them with vendor master records, determine the required changes, and automatically update the relevant tax-related fields in the system.

This is my practical exposure to deliver this utility being work as functional side to fulfill user requirements based on country specific governance and compliance.  

Process Overview

Below are the following steps will be taken to update Tax Status and Withholding Tax Codes in Business Partner master data:

  1. Pre-Requisites

Before using the utility, Following must be ensured:

  1. Business Partner must already be created.
  2. Tax payer registration number must be maintained in the BP Tax Data section.
  3. Let’s Assume we have 3 different tax authorities and with

FBR (National Tax Authority) - Filer / Non-Filer Status must be updated in Tax Data → Tax Type field. (3 different fields you can identify for use this purpose).

Example:

    • Z1 -> Filer
    • Z2 -> Non-Filer
  1. SRB (Provincial Tax Authority) Active / Non-Active Status must be updated in Tax Data → Industry Main Type field:

Example:

    • S1 -> Active
    • S2 -> Non-Active
  1. PRA (Provincial Tax Authority) Active / Non-Active Status must be updated in Tax Data → Tax Declaration Type field:

Example:

    • P1 -> Active
    • P2 -> Non-Active
  1. Withholding Tax Types and Codes must already be maintained under Company Code Data in BP.
  2. Download the tax status files from FBR, SRB, and PRA, merge all NTN/CNIC values into one Notepad (.txt) file — one row per NTN/CNIC.
  1. Custom Table – Withholding Tax Combinations

A custom table will be created to store WHT combination rules for each tax authority i.e. (FBR IT, SRB ST, PRA ST). This table will define:

  • Which WHT Type and Code must be assigned when a vendor has status
    Z1 → Z2, Z2 → Z1, S1 → S2, S2 → S1, P1 → P2, P2 → P1, etc.
  • All fields in the table will use standard SAP fields with search help enabled.

Table Structure (Example):

Tax Type

WHT Type

WHT Code

New Tax Type

New WHT Type

New WHT Code

Z1

N2

WD

Z2

N2

WE

Z2

N2

WE

Z1

N2

WD

S1

WO

WK

S2

I7

W6

S2

I7

W6

S1

WO

WK

P1

IT

W2

P2

IT

W8

P2

IT

W8

P1

IT

W2

Above structure will be used for all combinations.

  1. Program Utility – Custom Made WRICEF

Selection Screen:

Program will require the following selection criteria:

  1. Upload Notepad File (txt) containing NTN/CNIC list
  2. Select Tax Type Category for update:
    • Income Tax WHT (Z1 ↔ Z2, Z2 ↔ Z1)
    • Sales Tax WHT (S1 ↔ S2, S2 ↔ S1)
    • PRA Sales Tax WHT (P1 ↔ P2, P2 ↔ P1)

Execute to process data.

  1. System Processing Logic

Upon execution, the system will:

  1. Read all NTN/CNIC entries from the uploaded file.
  2. Compare with existing vendor master data.
  3. Determine whether status changes are required based on rules from the WHT Combinations Custom Table.
  4. Display the results in ALV format if any update is required.

ALV Output Columns:

The following fields must be displayed:

  • Vendor Code
  • Vendor Name
  • CNIC
  • NTN
  • Filer / Non-Filer Status
  • Industry Code
  • Industry Type
  • Current Status (derived on run time using uploading file):
    • Case 1: Taxpayer registration number does not exist in ATL
    • Case 2: Taxpayer registration number exists in ATL
  • Existing Status
  • Existing Status Description
  • New Status
  • New Status Description
  • Existing WHT Type
  • Existing WHT Type Description
  • Existing WHT Code
  • Existing WHT Code Description
  • New WHT Type
  • New WHT Type Description
  • New WHT Code
  • New WHT Code Description

 

  1. Update Logic

After verification:

  • User will click “Update” button.
  • System will update all relevant fields in the vendor Master (BP):
    • Tax Type (Filer / Non-Filer, Active / Non Active)
    • Withholding Tax Types
    • Withholding Tax Codes

The update must follow the rules defined in the custom table.