This document describes various transaction types for a user exit used to customize XML output for tax reporting. Transaction types include filling material types, setting transaction descriptions, mapping invoice types, fetching customer/vendor details, setting debit/credit amounts, and identifying financial invoices. The user exit allows customizing fields like product type, description, invoice type, amounts, conditions, payment mechanisms, materials, exchange rates and more based on customer-specific mappings and logic.
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 ratings0% found this document useful (0 votes)
785 views19 pages
SAFT-PT User Exits
This document describes various transaction types for a user exit used to customize XML output for tax reporting. Transaction types include filling material types, setting transaction descriptions, mapping invoice types, fetching customer/vendor details, setting debit/credit amounts, and identifying financial invoices. The user exit allows customizing fields like product type, description, invoice type, amounts, conditions, payment mechanisms, materials, exchange rates and more based on customer-specific mappings and logic.
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/ 19
Transaction Type 1: To fill Material Type
Description: Fill Reference material type.
Scenario/Usage: To identify Product Type (of the materials from the complete product data) IMPORT PARAMETERS: WA_MASTER (Allows MATNR, MAKTL, MAKTX, and EAN11 to be available to identify the corresponding PRODUCT_TYPE) EXPORT PARAMERTERS: WA_MASTER-MTREF Report would send complete product data (matnr, matkl, maktx, ean11 in the work area wa_master); exit should then fetch mtref from customer specific coding and fill up the user exits export parameter product_type in the user exit. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 2: To set description of Transactions in Fi Section of XML file. Scenario: Used to set the description of transactions.
Import Parameters: wa_master Export Parameters: tdgl_desc Pass the description of transaction in the parameter tdgl_desc. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 3: To map the correct Invoice Type of Billing Documents. Scenario: Invoice Type mapping The customer has some set of document types specifically for the invoice, but this is not same as ones described by the DGCI Authorities and hence needs to be map customer specific invoice type values to Tax Authority Specific Values XML field: InvoiceType
Solution: User Exit Option provided to map customer specific Invoice Types to the Tax Authorities specified Types. Use Transaction Type = 3 to map the customer specific values to Tax Authorities specified values
CALL FUNCTION 'PT_USER_EXIT_DART' EXPORTING wa_master = wa_master transaction_type = 3 IMPORTING invoice_type = tdglsedc. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 4: To fetch the customer details for the master section. Description: Reading customer specific name ( 1 to 4 ). Import Parameter: WA_MASTER Parameters available: ALL CUSTOMER MASTER INFORMATION Export Parameter: WA_MASTER_CP Scenario /Usage: Allows to retrieve customer details , if has to deviate from generic fetch Customer specific values can be retrieved and populated to the new work area: WA_MASTER_CP, which has exactly the same structure definition as WA_MASTER. If WA_MASTER_CP is populated, these values will be considered for customer data population for the XML creation.
-------------------------------------------------------------------------------------------------------------------------------- Transaction Type 5: To fetch the vendor details for the master section. Description: Reading customer specific name ( 1 to 4 ). Import Parameter: WA_MASTER Parameters available: ALL Vendor MASTER INFORMATION Export Parameter: WA_MASTER_CP Scenario /Usage: Allows to retrieve vendor details , if has to deviate from the generic fetch Vendor specific values can be retrieved and populated to the new work area: WA_MASTER_CP, which has exactly the same structure definition as WA_MASTER. If WA_MASTER_CP is populated, these values will be considered for vendor master names population for the XML creation -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 6: To set the customer specific debit/credit amounts. Report will pass document details in the work area wa_master, exit should then copy this data into one more work area of the exit - wa_master_cp and then fill up the fields sd_dr_amount/ sd_cr_amount of wa_master_cp based on customer specific VBTYP. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 10: To set the customer specific Condition Type and Settlement Amount. Refer note : 1300586 for more details on this. If customers use kntyp as E but a different kschl which is part of condition record for the document, it would be sufficient to pass kschl into the user exits export parameter product_type. If customers dont use kntyp as E then exit has to pass the line settelemnt amount in the user exits export parameter wrk_amount. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 20: To Identify FI invoice. To identify FI invoices other than using SD00 and document types Wa_master has the information based on current line item being processed and also the document header. CALL FUNCTION 'PT_USER_EXIT_DART' EXPORTING wa_master = wa_master transaction_type = '20' wa_fi_hd = wa_fi_hd IMPORTING invoice_type = tdglsedc. Pass Y to invoice_type value from the user exit, if the document is a manual FI invoice to be considered for the XML creation -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 21: Journal Description. Report will pass document details in the work area wa_master and also the header in wa_fi_hd, exit should then send the description. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 22: To set the Numbering Seies of SD documents. Report will pass document details in the work area wa_master, exit should then send the Numbering series to the user exits export parameter tdgl_desc so that this can be concatenated to invoice number filed of the XML file.
Transaction Type 25: To set the Payment Payment Mechanism Report fill up this field with values TB or CH based on zlsch(Payment Method) from VBRK values T and C. For user specific types, exit will be called and based on billing document details from the work area wa_master, customer specific PaymentMechanism has to be filled in the user exits export parameter tdgl_desc. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 27: For Material Master Data Creation(FI invoices) The materials have to be identified explicitly in the cases where it is not a part of the standard MARA tables SAFTPT_FIMD(G/L account based material identification) And PTSAFT_MATPRE (SAFT PT: prefix for material numbers) of company code Combinations. The materials are provided in each line item of Accounting document(TEXT) as shown Below VF3WC8HZC9E043129 is the product description, but a product code associated with this cannot be identified from any of the 3 options mentioned above Pre-Requisites Pre-requisites before the user exit can be made use of Product Code 1. Customers should have mechanism to relate the product description to a product code via creating & maintaining customer specific tables 2. Customer needs to maintain code for retrieving data based on the data maintained in the customer specific table and for the transaction type = 27 in the user exit Function module parameters available for material identification INPUT/ IMPORTING PARAMETERS TO FUNCTION MODULE WA_MASTER TRANSACTION_TYPE = 27 OUTPUT / exporting (tables) parameters from function module Materials identified to be part of XML file to be filled in an internal table with type SAFTPT_PRODS Need to pass to report the following values MATNR (Material Number) MTREF (Reference material type) CNAME1(Material Group Description) MAKTX(Material Description (Short Text)) EAN11(International Article Number (EAN/UPC),if available
Transaction Type 28: Product Code is empty always for manual FI invoices Description: Product code and description are derived based on line item description when sales invoices are generated from FI module directly. The user exit is required to include the materials derived from line item description, when the materials used in the manual invoice cannot be identified by contract type or by the G/L accounts to which it is being posted to. Line item descriptions provided in the accounting document is taken as the product description. Scenario: Each FI invoice will have the product description mentioned in the line item description .From this, its not possible to identify a product code to be made available in XML file -How to use the user exit in SourceDocuments sections Pre-requisites 1. Customers should a. Maintain the product code/product description data in customer specific tables (or) b. Have logic to identify product code from line item descriptions 2. Use the transaction type = 28 to retrieve or maintain logic for product code /product description in case of SourceDocuments section(FISD_RE) Function module parameters available for material identification Importing parameters/ inputs to function module Wa_master ( provides all information including the line item number which is being currently processed WA_MASTER-POSNR) Document header based on which the line items have to be retrieved and corresponding descriptions identified OUTPUT / exporting (tables) parameters from function module PROD_CODE => PRODUCT CODE PROD_DESCRIPTION => PRODUCT DESCRIPTION
-------------------------------------------------------------------------------------------------------------------------------- Transaction Type 31: To set the Exchange rate for Billing Documents Scenario: If exchange rate in FI document differs from SD invoice, then populate the user exit to pass the exchangerate. Import Parameters: wa_master Export Parameters: tdgl_desc. --------------------------------------------------------------------------------------------------------------------------------
Transaction Type 34: To set the Exemption Reason. Description: Populate the exemption reason as per the customer logic that suites the business process. XML Field number: IMPORT PARAMETERS: WA_MASTER, WA_FI_HD EXPORT Parameter: WA_MASTER Scenario /Usage: If tax exemption reason is mainatained in SAFT_PT_TAX_DATA, Then this will have the priority1. If its not present then the user exit can be made use of to populate theex emption reason as per the customer logic that suites the business process. --------------------------------------------------------------------------------------------------------------------------------
Transaction Type 35: Invalid Line Items to be ignored from SD document. Purpose of User Exit: Only valid line items are reported, especially when sub item are present for a main invoice line item which will bear more details of the main line item. When these lines items need to be ignored, the user exit can be used. When the main line item has to avoided and all sub items are to be reported in SAF-T, in cases where the sub items bear information relevant for reporting and main line item is just a dummy/summary of information this can be used
IMPORT PARAMETRS: a. INVOICE NUMBER: WA_MASTER-VBELN b. INVOICE LINE ITEM NUMBER: WA_MASTER-POSNR c. INVOICE TYPE: WA_MASTER-FKART
EXPORT PARAMETERS: TDGLSEDC AS SPACE OR CLEARED as TDGLSEDC should be X for all valid line items , which will be the default value. When the line item has to be excluded, then this value has to be cleared and exported back to the report Invoked at subroutines : create_bidata_items ,Calculate_totals -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 40: To set the indicator for Cash Sales (SD) scenario. Scenario: In case of onetime accounting document (Cash Sales) that are not posted to customer account, customer master data was missing in xml file. Import Parameters: I_BUKRS I_YEAR IT_DATE Export Parameters: EV_GL_STRING Need to set 'X' in TDGL_DESC". Usage: You can pass the parameter IT_DATE to filter the data for cash sale Scenario within selection date range. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 43: To set the indicator for Negative Invoices Scenario: If Negative invoices are posted in a system, then they needs to be identified to calculate the total debit and credit amount properly. Import Parameters: wa_master2 Export Parameters: Tdgl_desc Usage: Identify the invoice as a negative invoice and set the value of parameter tdgl_desc as NEG_INV. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 44: To set the invoice status. Scenario: To map the Invoice Status to the Customer defined Invoice types. Import Parameters: wa_master wa_bi_hd wa_fi_hd Export Parameters: Tdgl_desc Usage: Use the import parameters to pass the required value of invoice type in the field tdgl_desc. --------------------------------------------------------------------------------------------------------------------------------
Transaction Type 47: To Read Ship to address
Scenario /Usage : Usual documents have the same ship-to address and sold-to address, but there are some specific ones where we have different addresses. The invoice is sent according to the sold-to party information, but the materials are delivered at the ship-to address.
Usage: Report will pass document details in the work area wa_master, exit should then send the description in the user exits export parameter tdgl_desc -------------------------------------------------------------------------------------------------------------------------------- Transaction 53 -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 54: To set the correct Address Details. Scenario: Inconsistent address details were reported in source documents <SHIPTO> section of the SAFT XML file when customer address detail gets changed over a period of time. Though, this change information is available in the change tables CDHDR and CDPOS, it is too costly for us to consider this in the standard report, considering the fact that many customers will not have this case.
Input Parameters: wa_master wa_bi_hd
Expected values from the exit: Parameter tdglsedc = 'X' wa_master_export-st_ort01 for city wa_master_export-st_stras for address detail wa_master_export-st_land1 for country wa_master_export-st_pstlz for postal code
Transaction Type 55: To fill the description of journal and transactions. Scenario /Usage Here we will retrieve the descriptions of Journal and Transactions from BKPF (Account document header) table and PTDART_ITEMS structure while fetching FI data. If these descriptions are initial then we select from T003T (Document type text) table. Import Parameter: WA_MASTER, WA_FI_HD Export Parameter: WA_MASTER-JR_DESC, WA_MASTER-GL_DESC. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 56: Scenario: 1. When a plant has more than one storage location; then Ship from address details populated in SD section is inconsistent. We only read address information of plant. So if customers have multiple storage locations for a plant and if they want that information to be reported, then this exit has to be implemented and the values should be populated in the below parameters. Input Parameters: wa_master wa_bi_hd
Expected values from the exit: Parameter tdglsedc = 'SL' wa_master_export-sf_ort01 for city wa_master_export-sf_stras for address detail wa_master_export-sf_land1 for country wa_master_export-sf_pstlz for postal code
2. In source document section of the file for the tag <CustomerID>, by default SHIP-TO Party will be reported. Few customers wanted Payer ID to be reported instead. In such case this exit has to be implemented.
Input Parameters: wa_master wa_bi_hd
Expected values from the exit: Parameter tdglsedc = 'SL' Parameter KUNRG for populating Payer ID in XML file. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 59: Description: Fill other value than in field invoice number apart from VBELN. Import Parameters: WA_MASTER, WA_BI_HD Export Parameters: GV_BILLING_NO Scenario /Usage This is used when user wants to fill other value than in field invoice number apart from VBELN. --------------------------------------------------------------------------------------------------------------------------------
Transaction Type 60: To populate the tax information if 3 rd party tax engine is used. Scenario: To populate Tax Information in source document section of the file when customers are using an external (3 rd party) tax engine such as SABRIX to calculate taxes. [For SD Invoices] Input Parameters: wa_master wa_bi_hd
Expected values from the exit:
Parameter tdglsedc = 'X' "wa_master_export-md_tax_percntg" for tax percentage "wa_master_export-md_tax_type" for tax type "wa_master_export-md_taxcountryregion" for tax country region "wa_master_export-md_tax_code" for tax code "wa_master_export-md_tax_desc1" for tax code description "wa_master_export-md_tax_exp_date" for tax expiration date "wa_master_export-md_tax_amount" for tax amount "wa_master_export-md_tax_exempt_reason" for tax exemption reason
Transaction Type 61: To populate the tax information if 3 rd party tax engine is used for manual FI invoices. Scenario: To populate Tax Information in source document section of the file when customers are using an external (3 rd party) tax engine such as SABRIX to calculate taxes. [For Manual FI Invoices] Input Parameters: wa_master wa_bi_hd
Expected values from the exit: Parameter tdglsedc = 'X' "wa_master_export-md_tax_percntg" for tax percentage "wa_master_export-md_tax_type" for tax type "wa_master_export-md_taxcountryregion" for tax country region "wa_master_export-md_tax_code" for tax code "wa_master_export-md_tax_desc1" for tax code description "wa_master_export-md_tax_exp_date" for tax expiration date "wa_master_export-md_tax_amount" for tax amount "wa_master_export-md_tax_exempt_reason" for tax exemption reason -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 65: To fill the billing details Import Parameters: WA_MASTER, WA_FI_POS Export Parameters: BILL_DOC_TYPE, TDGLSEDC, WA_MASTER-GLSGTXT, GV_BILLING_NO Scenario /Usage This will Import PTDART_ITEMS structure and data from BSEG and Exports the Billing document type, Document Header Text, and Billing document number.
Transaction Type 77: To identify archived documents. Scenario:
Duplication of Invoices in the SAFT XML file if the underlying accounting documents of invoices are archived. So this exit has been provided for customers to identify such accounting documents that are archived, thereby avoiding the invoices being duplicated in SAFT XML file.
Expected values from the exit: Parameter e_archive = 'X'
-------------------------------------------------------------------------------------------------------------------------------- Transaction Type 79: To change Tax Point Date Import Parameters: wa_master wa_bi_hd Export Parameter: GL_DATE Usage: If you want to display different Tax Pointing Date, then pass the value to the parameter GL_DATE. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 80: To identify Internal Billing Documents Import Parameters: wa_master wa_bi_hd Export Parameters: EV_EXL_BILL_DOC Scenario: Internal documents should not be considered in calculation of total amounts. Identify the documents as internal documents using the parameters and set the value of parameter EV_EXL_BILL_DOC as X. Transaction 81: Exchange Rate for Self Billing. Scenario: Override the exchange rate maintained in an invoice with a new exchange rate I/P Parameters: WA_BI_HD WA_MASTERS: RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available O/P of User exit Pass the exchange rate to be considered to tdglsedc, else the exchange rate maintained in the invoice header is considered -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 82: Invoice Type for Self Billing Documents Scenario: To set the invoice type to any of the FT,NC, ND etc Input Parameters: Wa_master => lifnr, invoice date, invoice period, company code, Expected output: Set the invoice type and pass to TDGLSEDC value. If the above parameter is not set, the values will be set as per the default values. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 83: To set customer address for Self-Billing Documents Scenario: Set customer address same as company address- by default is plant address Input Parameters: wa_master-bukrs wa_master-kunnr
Export Parameters: tdglsedc Usage: Set the parameter value as X to set company address. -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 84: Scenario: To identify the discount amount related to the invoice Input Parameters: WA_BI_HD WA_MASTERS RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available Line number of invoice being processed Expected O/P The discount amount linked to the line item -------------------------------------------------------------------------------------------------------------------------------- Transaction Type 85: To identify valid Self Billing document Scenario: To identify if a document is a valid invoice to be considered as valid for reporting in addition to the check of the document type maintained in the customization table Input Parameters: WA_BI_HD WA_MASTERS: RBKP-BELNR /RBKP-GJAHR / RBKP-LIFNR and RBKP-BUKRS are available Expected from User exit for further processing If the invoice has to be discarded, pass X to tdglsedc --------------------------------------------------------------------------------------------------------------------------------
Transaction Type 86: To set Product Type of Self- Billing Documents Scenario: To set the Product type to S,P,O Input Parameter: Wa_master Expected output: Product type to have one of the values. If no value is passed, then pass the value mapped in the report. ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 87: To set the Payment Mechanism for Self Billing Documents Scenario: To set the payment mechanism for all payment methods other than C, T. Input Parameter: Wa_master-belnr , wa_master-bukrs, Wa_master-gjahr, Wa_master-lifnr , Wa_master-lsch Export Parameter: Tdglsedc -> pass the payment mechanism as one from CH, NU, CD,TR,TB based on RBKP-ZLSCH which is mapped to WA_MASTER-LSCH ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 88: To Set the Line Description from PO text Scenario: Set the Line Description from PO text Input Parameter: Wa_master-belnr = rseg-belnr Wa_master-bukrs Wa_master-gjahr Wa_master-glbuzei Wa_master-gllifnr Wa_master-werks ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 90: Business Scenario: When billing document are generated in external system but are present in ERP system and needs to be reported for SAFT reporting customers needs to use these user exit. Customer need to set value 'X' in parameter "EV_EXT_SYS" for the documents generated from external billing system so that they should not be considered for TotalDebit and TotalCredit. For Invoice Status the value expected for these kind of document is "F". ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 91: Customer need to set value 'X' in parameter "EV_EXT_SYS" for the documents generated from external billing system and also need to pass value for InvoiceNo,InvoiceStatus,Hash,HashControl if values need to be considered from user exit. ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 92: To populate currency not supported by DGCI. Import Parameters: wa_master2 Export Parameters: tdgl_desc In cases where currency used in document is not supported by DGCI customers need to populate thi s user exit so that currency tag can be avoided.
Transaction Type 94: Scenario: To change settlement date in source document. Input Parameter: wa_master wa_bi_hd Export Parameter: wa_master_export Usage: For changing Settlement Date in Source Documents section, can be used where customer's need to set value in parameter wa_master_export-SD_SETL_DATE. ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 95: Scenario: To identify external FI document and populate others details as well. Input Parameter: wa_master wa_fi_hd Export Parameter: ev_ext_sys ev_gv_hash ev_hashcontrol ev_invoice_status ev_invoice_no Usage : Customer need to set the value X in parameter EV_EXT_SYS For the document generated from the external FI system and also need to pass the value for invoice no, Invoice status, Hash , Hash control if value need to consider from user exit. For invoice status expected for this kind of document is F. If no values are passed from the user exit, Report will pass the value as for other documents. ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 96: Scenario: To exclude external FI documents not to be considered on totals. Input Parameter: wa_master wa_fi_hd Export Parameter: EV_EXT_SYS Usage: Customer need to set value 'X' in parameter "EV_EXT_SYS" for the Documents generated from external FI system so that they should not be considered for Total Debit and Total Credit. ------------------------------------------------------------------------------------------------------------------------------- Transaction Type 99: Scenario: To change source billing value in source document of XML file. Input Parameter: wa_master wa_bi_hd Export Parameter: EV_SourceBilling Usage: For new field Source Billing added in Source Documents section default value 'P' will be populated. In case customer's want to change Source Billing value user exit with transaction type = '99' can be used where customer's need to set value in parameter "EV_SourceBilling".
Transaction Type 100: Scenario: To change the value of EV_EAC_CODE on source document. Input Parameter: wa_master wa_bi_hd Export Parameter: EV_EAC_CODE Usage: For changing EACcode in Source Documents section, this user exit can be used where customer's need to set value in parameter "EV_EAC_CODE". -------------------------------------------------------------------------------------------------------------------------------