To get an overview on values of leasing contracts in SAP Contract and Lease Management SAP provides already a pretty good standard reporting out-of-the-box that is based on the values of the valuation cash flow.
However, since liabilities are part of the general ledger and consequently capital and reserves, both the reporting from SAP Contract and Lease Management and that from the general ledger should match. Focusing on liability reporting the current solution is based on the SAP Special Purpose Ledger functionality (see also 2624449 - Configuration of Special Purpose Ledger as preliminary work for closing processes from RE-...) and it is a perfect solution to get the correct grouping and foreign currency valuation reflected in the general ledger.
However, just ensureing capital reserves having the expected amounts, there is no information available regarding value changes, since the Statement of Liability is soley part of reporting
Let's be more specific on this point. In a nutshell the idea is to have the correct totals in general ledger accounting and see the details about any kind of value changes in SAP Lease Management.
In general this isn't an issue since both values are identical. However, things are becoming different when retroactive changes are applied in SAP Contract and Lease Mangement and a valuation is performend in a period that has been already reported.
Now we have the situation that in SAP Lease Mangement reporting values have been changed for already closed periods and in general ledger accounting changes are respected in the current period. Consequently, there is no longer a proper reporting on the liabilities and their changes when it comes to period end reporting.
Assume we have a contract where the monthly rate has increased by 1,000 EUR as of 1-MAR. Month-end processes for march are already performed. According to the lessor the accounting will have to change the condition effective as of 1-MAR and consequently a new time slice for the valuation will have to be created to reflect the increase effective as of 1-MAR.
In financial accounting documents will be created somewhere in April since no document must be created for March.
Accordingly in financial accounting the value change will be reflected for April. However, in SAP Lease Management reporting due to the retroactive change the relevant month is March.
Obviously, there is a certain discrepancy between the reporting that is coming from SAP Contract and Lease Management and that from financial accounting.
How to overcome this situation?
Since the basis for all financial reporting is the totals at the general ledger account level and resulting from financial documents, the approach, I describe here, tries to improve the situation. The goal is to have all information available for a proper liability reporting using just general ledger accounting.
Building the basis
The first thing that is to do is to transfer the information of value changes to totals in general ledger reporting.
Actually this can be done in two different ways:
We could use different accounts for e.g. increase, decrease, amortization...
We could use financial transaction types for e.g. increase, decrease, amortization.
Let's have a closer look at both solutions:
ad 1. Different accounts would definitely give us the ability to report value changes in e.g. capital and reserves. When reporting totals, everything is fine as long as it is there is no carry forward and no change of fiscal year. Let's assume that we have a special account for increases. Since for balance sheet accounts are carried forward to the same account, we now have an increase in the new fiscal year that relates to the previous year. What's more, the totals in the balance sheet accounts are never cleared. In other words, even for contracts that have already been terminated, it is likely that values will be reported on certain liability accounts.
ad 2. Transaction types are well known from asset accounting and are often used for provisions or accruals. However, talking of liabilities in leasing, this technique can also be used to pass on the information of e.g. an increase to the general ledger. The beauty of using transaction types is that we can define and assign carry forward types.
Example: Transaction Type "Acquisition"
Let's take a closer look at this example from Asset Accounting. Acquisitions would be posted with transaction type 120 to the corresponding G/L account. Performing a carry forward, the totals will simply transferred to the new fiscal year on the same G/L account, but the transaction type is changed to 100.
Example: Transaction Type "Opening Balance"
Due to the issues with the carry forward I will only focus on the approach #2.
3. A certain set of transaction types is required according to your reporting needs, e.g.:
Example: Liability Transaction Types
4. In standard no transaction type is transferred when documents are posted in SAP Lease Management. Actually, there are a couple of ways to implement such a solution.
One option would be to use an FI substitution.
A more elegant solution, however, is to use a BAdI implementation for BAdI definition BADI_REEX_FI_BAPI and use method IF_EX_REEX_FI_BAPI~BAPIDOC_MODIFY.
Example: BAdI implementation to lookup RMVCT
The determination in the example above is isolated in private method _GET_RMVCT having the RE flow type as an import parameter and the Consolidation Transaction Type as return parameter.
Either way for the chosen function to be effective a mapping is required. In general it should be sufficient to use the SAP RE flow type and map the relevant flow types to one of the above defined transaction types.
5. Last but not least the according general ledger accounts must have the field "Transaction Type" ready for input. Since we always want to know what the reason for a value change on a liability account was it is a good idea to have an according Field Status Group and assign this to the according general ledger accounts. Actually the same field status group may also be used for e.g. provision accounts.
Customizing: Field Status Group
G/L account: Field Status Group
Now that everything is set to have the Consolidation Transaction Type available in both line item and totals and we have a way to transfer the according data when documents are created. We still have to think of how to derive the according information from the RE documents.
Though SAP Contract and Lease Management does not know of the Consolidation Transaction Type we have to think of how account determination is performed. When just looking at valuation postings the basis that is also recorded in RE documents is the SAP RE Flow Type. And actually this is the very object we are going to utilize here to differentiate value changes.
To give you an impression on how an according mapping between flow type and Consolidation Transaction Type may look like, here a short example:
Consolidation Transaction Type
Now everything is in place for being able to have qualified information available in G/L reporting and since all information is derived automatically there is no change to your existing processes.
Implement a proper reporting
Since starting with the SAP New General Ledger this field is available in standard reports on totals of general ledger accounts no additional action is required for reporting totals in general ledger accounting. If you are still on SAP ECC 6.0 and haven't activated the New General Ledger yet, in standard the table GLT3 and the defined special ledger table are the only source for an according reporting of general ledger totals.
Frankly speaking there is no out-of-the box reporting available to get a fancy statement of liability, whereas a totals can be reported using both dimensions - the general ledger account and the transaction type.
A non-integrated solution would be to use a report that has the columns "General Ledger Account", "Transaction type" and "Amount in local currency" and build a pivot table on the extract.
A more sophisticated approach is to use the according totals table and develop a report, e.g. in SAP ERP using Report Writer or on SAP S/4HANA using a CDS View.
I have to admit that the presented solution is not plain and simple customizing. Actually a couple of complex activities are required. On the other side daily activities are not touched once change is applied.
Using the Consolidation Transaction Type allows us to have more qualified information in general ledger account available regarding value changes from SAP Contract and Lease Management. The outcome depends on the SAP system you are running SAP Contract and Lease Management on.
At the end all liabilities related to a specific contract are recorded on a single general ledger account that balances to zero once the contract is concluded. In between all relevant values flows can be identified using a second dimension, i.e. the transaction type.
As an outlook the presented BADI may also be used to have a more detailed reporting when implementing IFRS16 using SAP Contract and Lease Mangement without fixed asset accounting.