Configuration Billing
Transcript of Configuration Billing
ContentsSAP CRM Billing Settings....................................................................................................................................................1
Configure application....................................................................................................................................................2
Services.........................................................................................................................................................................3
Define Billing Relevance of Item Categories..................................................................................................................6
Generation of Billing Due List........................................................................................................................................8
Billing Plan Settings.........................................................................................................................................................12
Taxation Settings:............................................................................................................................................................24
Settings under Basic Functions -- Taxes.......................................................................................................................24
Sequence of Possible Taxes for Each Country....................................................................................................25
Tax Classification Transferred from ERP System................................................................................................25
Use.............................................................................................................................................................................25
TTE Configuration Prerequisites............................................................................................................................29
SAP CRM Billing Settings
Configure application
Services
This section contains information on the services used by CRM Billing:
Pricing
Partner Processing
Text Processing
Action Processing
You make Customizing settings for the first three of these services in the section entitled Customer Relationship Management -> Basic Functions. You can define the settings for actions in CRM Billing directly in this section.
Define Settings for Pricing
Here, you can find information on the pricing service for billing in SAP CRM. This service is used to determine and calculate prices, taxes, surcharges, discounts, and other pricing conditions for individual items or for ranges of items.
Pricing can occur both in the pricing and the billing components of SAP CRM. Items might, for example, need to be re-priced in billing if particular pricing conditions are not to be determined until billing takes place.
Requirements
You have set up pricing in Customizing for Customer Relationship Management under Basic Functions -> Pricing -> Define Settings for Pricing. To ensure that you can make full use of the pricing service in SAP CRM billing, you need to have completed the following activities:
In the field catalog, specify which fields can be used for creating condition tables.
You use condition tables to define combinations of allowed fields for which condition records (condition master data) can be created in the system.
You use access sequences to define search strategies that enable the system to search for condition records in the condition tables.
You use condition types to define the effect of a condition in a business transaction (whether it is a price, a surcharge/discount or tax, for example).
In the pricing procedure, you define which condition types are valid within a specific business transaction, the sequence in which they are calculated, whether and how subtotals are calculated, and other control information.
You use a condition exclusion to define rules stipulating how a selection should be made if several condition records are determined during pricing.
You use copy types to specify system responses when pricing document data is copied from one business transaction to another. You only need to define the copy types relevant to Billing in this activity - you do not need to assign them here.
Activities
Settings for Pricing in CRM Billing
In order to make full use of the pricing service in SAP CRM billing, complete the following activities in Customizing for Customer Relationship Management under Billing:
In the activity Define Billing Item Categories, select a pricing procedure to be used for generating pricing documents in the billing due list.
In the same activity, select a predefined pricing type and copying type to be used for transferring pricing conditions to the billing due list and to billing documents.
In the activity Define Billing Types, select a pricing procedure to be used in billing documents.
The pricing procedures used for generating the pricing documents of billing due list items and billing documents must at least contain the condition types that are to be transferred from business transactions to billing.
Enhancing the Pricing Interface
In SAP CRM billing, you can only use billing due list item fields and billing document fields that might need to be re-priced during input processing. This excludes data that is relevant to tax determination - the system determines this on the basis of the following information:
Ship-to or sold-to party
Destination country (and region)
Product
Sales organization and distribution channel
If you want to add fields from SAP CRM and/or create customer-specific fields and use them for pricing in SAP CRM billing, you need to complete the following activities:
1. Add the fields to the field catalog in Customizing for Customer Relationship Management under Basic Functions -> Define Settings for Pricing -> Maintain Field Catalog.2. Include the new fields for the billing due list item, billing document header, or billing document item in the Billing Engine Navigator (transaction BEFN).3. Define appropriate mapping information for the pricing service in the Billing Engine Navigator.
If these settings do not suffice or if you require additional functions, you can use the following Business Add-Ins (BAdIs) to define customer-specific enhancements:
BAdI: Pricing: Mapping for Billing Due List
BAdI: Pricing: Mapping for Billing Document
You can find these BAdIs in Customizing for Customer Relationship Management under Billing -> System Enhancements -> Business Add-Ins.
Further notes
SAP CRM billing uses the same Customizing and condition master data for billing as the relevant business transactions do.
During input processing, the system transfers pricing conditions item by item to a new pricing document, taking into account the pricing type and copying type that are defined for the billing item category. Only pricing conditions that exist both in the pricing procedure of the business transaction and in the pricing procedure of the item category are accepted.
If the entire quantity of the business transaction (an order item, for example) cannot be invoiced, but only a partial quantity (as might be the case for a partial delivery), the system makes a quantity-based adjustment to the pricing conditions during input processing. You can use the copying type to specify how this should be achieved.
When the billing process is triggered, the pricing conditions of the billing due list items are copied to the pricing document of the billing documents. The system does this using the pricing type and copying type that you defined in the billing item category.
If you do not specify a pricing procedure for a billing item category or a billing type, pricing conditions are not processed at all.
Define Billing Relevance of Item CategoriesYou determine the billing scenario for each item category that requires billing
Generation of Billing Due ListPrerequisites:
Define Billing Types
Define Billing Item categories
Item Category Determination
Billing Plan Settings
Define Billing Plan Types
Define Customer Billing Plan Procedure
Assign Billing Plan type to Business transaction
Business Add-Ins
FUNCTION zcrm_unlink_bill_plan_ck.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" REFERENCE(I_MODE) TYPE CRMT_MODE*" CHANGING*" REFERENCE(C_REF_POSSIBLE) TYPE BOOLEAN*"----------------------------------------------------------------------*-include INCLUDE crm_direct.
*-Data DATA: l_header_guid TYPE crmt_object_guid, lt_guid_tab TYPE crmt_object_guid_tab, lt_orderadm_i TYPE crmt_orderadm_i_wrkt, lt_billing_items TYPE crmt_billplan_billing_it_tab, ls_billplan_wrk TYPE crmt_billplan_com, l_header_invoiced TYPE boolean.
*-Field symbols FIELD-SYMBOLS: <fs_orderadm_i> TYPE crmt_orderadm_i_wrk.
*-mkae sure this is on the create only CHECK i_mode = gc_mode-create.
*-get the header guid
CALL FUNCTION 'CRM_INTLAY_GET_HEADER_GUID' IMPORTING ev_header_guid = l_header_guid.
*-pass the header INSERT l_header_guid INTO TABLE lt_guid_tab.
*-read the items CALL FUNCTION 'CRM_ORDER_READ' EXPORTING it_header_guid = lt_guid_tab IMPORTING et_orderadm_i = lt_orderadm_i EXCEPTIONS document_not_found = 1 error_occurred = 2 document_locked = 3 no_change_authority = 4 no_display_authority = 5 no_change_allowed = 6 OTHERS = 7.
*-items found IF sy-subrc = 0.
*---go over the items LOOP AT lt_orderadm_i ASSIGNING <fs_orderadm_i> WHERE itm_usage NE gc_item_usage-billing_request.
*-----get the billing plans CALL FUNCTION 'CRM_BILLPLAN_READ_SUBITEMS_SI' EXPORTING iv_guid = <fs_orderadm_i>-guid CHANGING ct_billing_items = lt_billing_items EXCEPTIONS error_occurred = 1 OTHERS = 2.
*-----look for inoviced billing plans READ TABLE lt_billing_items WITH KEY invoiced = true TRANSPORTING NO FIELDS.
IF sy-subrc = 0.*-------something has been invoiced l_header_invoiced = true. EXIT. ENDIF. ENDLOOP.
*---if something has been invoiced IF l_header_invoiced = true. CLEAR c_ref_possible. ENDIF.
ENDIF.
ENDFUNCTION.
-----------------------------------------------------------------------------------------
FUNCTION zcrm_unlink_collect_change.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" REFERENCE(IS_BILLPLAN_BADI) TYPE CRMT_BILLPLAN_BADI*"----------------------------------------------------------------------
*-include INCLUDE crm_direct.
*-DATA DATA: ls_input_fields TYPE crmt_input_field, ls_billplan TYPE crmt_billplan_com, ls_orderadm_i TYPE crmt_orderadm_i_com.*_______________________________________________________** input fields **_______________________________________________________**-pass the fields CALL FUNCTION 'CRM_BILLPLAN_CREA_INPUT_FIELDS' EXPORTING iv_structure_name = gc_2000_billplan_ui IMPORTING es_input_fields = ls_input_fields.
*-fill logical key CALL FUNCTION 'CRM_BILLPLAN_FIND_LOGICAL_KEY' EXPORTING iv_guid = is_billplan_badi-guid iv_handle = is_billplan_badi-handle iv_object = gc_logical_object-billplan IMPORTING ev_logical_key = ls_input_fields-logical_key.
*-pass the object name ls_input_fields-objectname = gc_object_name-billplan.*-pass the ref guid ls_input_fields-ref_guid = is_billplan_badi-ref_guid.*-pass the ref kind ls_input_fields-ref_kind = is_billplan_badi-ref_kind.
*_______________________________________________________** billplan dta **_______________________________________________________* MOVE-CORRESPONDING is_billplan_badi TO ls_billplan. CLEAR ls_billplan-ref_to_header.
*_______________________________________________________** Pass changes to globals *
*_______________________________________________________*
INSERT ls_input_fields INTO TABLE gt_input_fields. INSERT ls_billplan INTO TABLE gt_billplan.
ENDFUNCTION.
Taxation Settings:
Also check
Settings under Basic Functions -- Taxes
Sequence of Possible Taxes for Each Country
Defines the sequence in which the system accesses tax condition records when more than one tax applies in a particular country.
Tax Classification Transferred from ERP System
Use
In CRM, this tax classification (in conjunction with a country and optionally a region) is assigned to a tax group.
Taxes >> Basic Settings >> Tax Jurisdictions >> Using SAP Software > Technical Settings > Define Indicator
Assign Function Module to Indicator
Taxes >> Basic Settings >> Tax Jurisdictions >> Using Non-SAP Software >> Assign RFC destination to Country
Logical destination for the UPDATE of an external tax system
When this destination is maintained, all transactional RFC (tRFC) calls which update the external tax system (function modules RFC_UPDATE_TAXES_DOC and RFC_FORCE_TAXES_DOC) will be send via this destination. The RFC calls for tax calculation (function module RFC_CALCULATE_TAXES_DOC) in the external system are still sent via the destination that is defined in the 'TTXD-RFCDEST' field.
If this destination is not maintained, all calls in the external tax system are sent via the destination that is defined in the 'TTXD-RFCDEST' field.
Indicator: Redetermine wrong Jurisdiction Codes
If an external tax system is used, that system determines a tax jurisdiction code or checks its validity during address data maintenance for an American or for a Canadian address (customer, vendor, plant and so on).
If this customizing flag is NOT set:
o If the tax jurisdiction code field is empty, the R/3 System will attempt to determine a tax jurisdiction code.
o If the tax jurisdiction code field contains a value, the R/3 System checks this tax jurisdiction code against the respective address.
o If this tax jurisdiction code is invalid, an error message is output.
If this customizing flag is set:
o If the tax jurisdiction code field is empty, the R/3 System will attempt to determine a tax jurisdiction code.
o If the tax jurisdiction code field contains a value, the R/3 System checks this tax jurisdiction code against the respective address.
o If this check fails, the tax jurisdiction code for the respective address will be determined
Transactions -- Partner Determination -- Set up Determination of VAT Registration number
Transactions -- Integration with TTE -- Assign Item Object types to TTE Business Processes
IMG -- Cross Application Components -- Transaction Tax Engine –
TTE Configuration Prerequisites
Use
In addition to the activities in the Implementation Guide (IMG) for the Transaction Tax Engine (TTE), check that the following requirements have been met:
IPC Administrator settings for the TTE are complete. All required RFC destinations are maintained in the IPC.
CRM Billing and/or SRM (for invoice verification scenarios) is implemented.
Tax configuration is complete in the IMG for CRM: Basic Functions -> Taxes including the following activities for master data replication:
Define Tax Type/Tax Group for ProductDefine Assignment of Product Tax Data from R/3 to CRM
Check Customizing of Data Transfer
Trigger call to TTE
Condition Types 0TTE and 1TTE that call the TTE have been defined in the IMG for CRM : Basic Functions -> Pricing -> Define Settings for Pricing -> Pricing ProcedureThe condition types must have the following attributes:
- Mandatory
- Statistical
- Calculation Formula 11000 is assigned
For CRM 3.x customers who want to continue to use CRM3.x tax event determination, execute
Enable/Disable TTE 3.x Tax DeterminationAssign Tax Role
Define Tax Event Determination
Define EU Tax Determination
R/3 Tax Replication* to CRM is complete:
Step In R/3 sytem, choose
Replicate R/3 tax categories to CRM tax types Transaction PITC
Replicate R/3 BP tax classification to CRM BP tax groups Transaction PITC
Replicate R/3 BP tax categories and tax classification to CRM Transaction PITM
Check BP assignment settings prior to Customizing download Report CRM_TAX_CUST_VALIDATE_BP
The Customizing load object DNL_CUST_TAX has been initiated to ensure that changes to master date in R/3 are automatically replicated in CRM by a delta download.*
In the SAP menu, choose Architecture and Technology -> Middleware -> Data Exchange -> Initial Load -> Start
To transfer tax results to R/3, complete the following activity in the IMG for CRM: Basic Functions -> Billing -> Intergration -> Transferring Billing Documents to Accounting*
*Applicable for scenarios using an R/3 backend system.
UN/EDIFACT 5153 Tax Type Name Code
EDI tax type codes are required for exchanging standardized messages with non-SAP systems
Tax Type ID
A tax type ID is a two-digit numerical code that is assigned to a tax type.
Tax type IDs must be unique within a tax category. The combination of tax category and tax type ID uniquely identifies a tax type. This combined ID is used to define on a technical level how the system finds condition records for tax rates and exemptions.
Procedure
Enter consecutive numbers 1, 2, 3, 4, for each defined tax type. The tax type IDs defined in this table must be unique within a tax category.
Examples
The system uses standard condition technique and provides a field catalog that consists of parameters that are relevant for tax rate and exemption finding. This field catalog has a set of product tax group fields "PRTXGRP_mmnn," where mm is the tax category code and nn the tax type ID.
Tax type "VAT" for VAT taxes is by default assigned tax category "Sales tax" (internal code "01") and tax type ID "01". As a consequence, parameter "PRTXGRP_0101" represents the product tax group for tax category "01" (sales tax) and tax type id "01" (tax type "VAT"). Similarly, "PRTXGRP_0102" is related to tax type ID "02".
Dependencies
If the tax type IDs are not unique, the system cannot process conditions and pricing properly
Condition Type for Tax Rates
This condition type is used by the system to store and retrieve tax rates for a particular tax type.
Specifically, this condition type applies to taxes that are calculated as a percentage of a base amount (as opposed to quantity-based excise taxes).
Condition Type for Non-deductibility
For incoming VAT-like taxes the tax amount may have to be split into a deductible and a non-deductible part. To this end a condition type for non-deductibility can be assigned. This condition type finds the rate of non-deductibility. As a result, the system returns both the deductible and non-deductible part of the tax amount.
Notes
Deductibility is only evaluated for incoming taxes.
The default condition type for non-deductibility is 3001. The access sequence for this condition type includes a table where a default rate can be maintained (usually 0 %, if by default a transaction is fully deductible).
Condition Type for Quantity Based Tax
This condition type is used by the system to store and retrieve tax rates for a particular tax type.
Specifically, this condition type applies to quantity based taxes (excise taxes).
Condition Type for Exemptions
This condition type is used by the system to store and retrieve exemption records for a particular tax type.
Exemption Type
Freedom from tax obligation. General exemption and specific exemptions are exemption types.
Legal Text ID
The legal text ID is used in Brazil and refers to the tax law for ICMS and IPI tax. This text is stored in the Nota Fiscal and every transaction that leads to an ICMS or IPI calculation requires a tax law.
Legal Language
A legal language can optionally be assigned to a legal text ID.
If such a language has been assigned, the legal text can only be maintained in this language. For technical reasons you must logon in the legal language in order to maintain the legal text. TTE always returns the legal text in the assigned legal language, irrespective of the logon language.
If no legal language has been assigned, legal texts can be maintained in any logon language. TTE returns the legal text in the logon language, or returns a warning if there is no version of the legal text available for the logon language.
Tax Event
A tax event characterizes a business transaction from a taxation point of view.
The system determines the tax event based on the tax-relevant attributes of the business transaction and the participating partners and products.
The tax event determines which taxes are due (tax types) and how the taxes are calculated (tax calculation procedure). Tax events can also serve as a key for maintaining tax rates, e.g. to assign a zero tax rate to exports.
A tax event has the following attributes:
Non-Taxable Indicator
Direction Indicator
Examples
A typical set of tax events for a member state of the EU may look like this:
Tax Event Non-taxable Direction Indicator Description
10 x Outgoing Not taxable
20 x Outgoing Distance selling - not taxable in country of origin
100 Outgoing Output Tax - Domestic supply
101 Outgoing Output Tax - Export to non-EU country
111 Outgoing Output Tax - Intracommunity supply
112 Outgoing Output Tax - Services within the EU
113 Outgoing Output Tax - Subcontracting within the EU
120 Outgoing Output Tax - Distance selling, taxable at destination
200 Incoming Input Tax - Domestic acquisition
201 Incoming Input Tax - Import from non-EU country
211 Incoming Input Tax - Intracommunity acquisition
Dependencies
The determination of tax events is defined by decision trees:
IMG Activity: Define Tax Event Determination
Non-Taxable Indicator
Indicates that a transaction is not taxable meaning that the TTE does not determine nor calculate tax, nor is any tax data returned.
It is important to distinguish a non-taxable transaction from a zero-rated transaction. In the latter tax is formally due, but at a rate of zero. In this case, the system completes the tax determination and calculation steps, and returns a complete set of tax data, including tax types, tax rates, tax amounts and any other tax elements. The system has to be configured correctly so that non-taxable transactions and zero-rated transactions are clearly defined.
Direction Indicator
Indicates if the transaction is:
Outgoing
Incoming
Internal
Examples
Sales transaction
Company A supplies a product to company B.
In this case:
Company A has the business partner role Ship From
Company B has the business partner role Ship To
If company A initiates the tax calculation, the direction indicator is "Outgoing" as it is supplying a product.
If company B initiates the tax calculation, the direction indicator is "Incoming" as it is acquiring the product.
Tax Calculation Procedure
Defines the permitted condition types and access sequence of calculation steps per transaction. These steps are condition types which either find a condition record, such as a tax rate, or a condition type such as tax base value.
Procedure
Enter a valid tax calculation procedure.
To view the valid tax calculation procedures, choose Maintain Tax Calculation Procedure
(Cross-Application Components -> Transaction Tax Engine -> Condition Technique -> Maintain Tax Calculation Procedure)
Product Usage Indicator
The catergorization of a product's use for taxation purposes.
Example
In some countries, petrol purchased for powering a private vehicle is subject to different taxation rates than petrol used for powering factory machines (production).
Product Usage Indicator
0 - Resale
1 - Production
2 - Consumption