Value Ids essentially act like typical programming variables for the Lease Accounting Engine and act as buckets for key information that are used to feed other critical processing in the LAE like Asset creation and capitalization, Accruals, and One Time Postings. Mastering how to fill these Value Ids from various sources using different methods is essential to getting the full value and power from the Lease Accounting Engine.
Value Ids are used in the following ways:
As components of creating, calculating, or deriving other value ids. – As you will find out, even deriving value ids takes value ids. They are the building block for everything in the Lease Accounting Engine. If you are familiar with programming, they act like variables throughout.
Passing values to Lease Classification routines – You utilize the same FI Substitution Engine to calculate and determine how leases are classified. Necessary values, e.g. PV of the Rents, are passed for calculations.
Creating Fixed Asset Master Records – The Lease Accounting Engine can automatically create Fixed Assets in Financial Accounting. All the attributes of the fixed asset are established through value ids.
Fixed Asset Postings – Values for capitalizations, retirements, are passed through the Lease Accounting Engine for further processing including determining the Fixed Asset’s transaction type to define the posting.
Accrual Engine – The Lease Accounting Engine heavily utilizes FI’s Accrual Engine (ACE) to calculate and process accruals. In addition to defined accrual methods (enabled through delivered and customer programmed function modules), you pass values to the Accrual Engine to both define the accrual and its calculations, but can also be the basis for account determination to derive the GL accounts that will be posted.
One Time Posting – Unlike the Accrual Engine, one time postings are just that. Individual accounting entries that are made once per leasing event. Value ids not only provide the amounts to be posted, but also the can assist in determining which GL accounts are posted.
Values can be established within a Value ID either directly from various source transactions or can be derived with different formulas and processing methods. The following are the standard mechanisms:
Value Transfer from Transactions and Master Data
- Transfer from CRM Contract – The CRM system will transfer all contract values in table LAE_CRM_ITEMS. There is a BADI defined in CRM (CRM_LAE_UPL_ADJUST0 that can be used to alter the values that are passed as well as to add new or missing fields. This is a very powerful feature.
- Transfer from Material Master Data – Reference and/or Physical Products can be defined in MM from the CRM Leasing system. If there are attributes from the Material Master that you might find useful, e.g. asset class characteristics, you can map fields from table MARA to value ids.
- Transfer from Customer Master Record – Depending on whether you utilize FI-CA or FI-AR for your AR and cash application system, you might have customers defined that represent your lessees. If so, and there are attributes that are needed for the Lease Accounting Engine, value ids can be populated from the KNA1 table.
- Transfer from Condition Types – CRM also transfers the values of flow categories and condition types from the CRM contract to the Lease Accounting Engine. For each condition type you can specify if the condition type and flow category represent a single value or a periodic payment. The periodic payment can be used to help define the billing plan to the Lease Accounting Engine for use in accruals, calculating effective interest rates on cash flows, etc.
Value Transfer using a “Determination Method”
- Calculate the Present Value from a Reference Value – You can specify various variables (also expressed through value ids) to perform a typical Present Value calculation, e.g. Base Value, Interest Rate, Start and End Dates, and whether to include the last day of the last payment. SAP’s methods for performing PV and Effective Interest Rate calculations is probably the most complicated of all calculations in LAE. SAP accommodates a very detail method counting on daily rate calculations. Depending on your needs, it may be difficult to match those calculations that Excel or a financial calculator like the HP12C can produce.
- Formula – You can calculate value ids based on simply mathematical formulas composed of other value ids, operators, and constants. You may also use simply IF..THEN logic to conditionally assign values to value ids.
- Fixed Value – Very simply, you can assign a constant to a value id.
- Calculate Date from Reference Date – Using function module LAGF_NEW_DATE_CALC, you can specify the reference values of a base date, a number of days to be added or subtracted, and the operator of + or – to complete the math.
- Calculate Days Between Two Dates – A function module will return the value between the two dates. These dates are also furnished via value ids.
- Assign a Value Id to a Value Determination Method – This may be one of the most powerful capabilities of the Lease Accounting Engine. Even if none of the other available value determination methods (function modules) that are delivered, you may also create your own Z” function modules. You can assign both SAP delivered and customer developed Z function modules. These function modules confirm to a standard import/export scheme and you should use one of the SAP delivered methods as a template. A brief blog is planned in the future to further explain this option.
Value Determination Using Basis Payment Schedule
The following determinations methods count on you to configure a Payment Schedule. This is typically equivalent to the CRM Billing Plan, but might also include items like the payment for the leased equipment and the equipment’s residual value. You can define different basis payment schedules to suit the other downstream calculations. For example, a payment schedule might be defined to assist with the 90% test for lease classification. A different payment schedule might exclude certain IDC components if you need a different interest rate to amortize unearned income for capital leases.
Defining the payment schedule also means working with the dates that are extracted from the contract. Considering that SAP does use daily methods for calculating interest, making sure you are specific with what day a particular cash flow occurs can mean the difference in the result.
Interest Rate – Given a defined stream of cash flows, a function module LAGF_IR_OF_PAYMENTS_GET is called to calculate an effective interest rate. The values can be affected by configuring both an Interest Rate basis method and calculation method. The Interest Rate method is used todefine the days calculation basis, e.g. 360/360. The Effective Interest Calculation Method can be set citing various industry standard methods for calculating interest rates, e.g. AIBDS.
- Sum of Periodic Payments – Given a defined stream of cash flows, the system will add up the values and return the total of those flows.
- Present Value of Stream of Cash Flows – Given a defined stream of cash flows and effective interest rate, a function module LAGF_PV_OF_PAYMENTS_GET is called to calculate the present value for that stream.
Value Determination using Subtitution
FI-LAE shares the power of FI Substitutions to set values for value ids. This can be a very confusing area of configuration. While not documented, it is important that you include the name of the value id that you are substituting as one of the prerequisite formulas. Otherwise, subsequent substution and substitution steps could override previously subsituted values.
With substitution, you can also program and utilize User Exits. A blog exists that describes the basic steps for leveraging the user exit capability.
Are you Ready to Master Value IDs?
You can’t get the SAP Leasing Solution to operate without an effective implementation of the Lease Accounting Engine. And you can’t be successful at that without mastering how Value Ids are established and used.
In addition to the configurable options, you can further extend the power of the engine through customer defined value determination methods and user exits in substitutions.
Regardless of how you do it, you need to get good at it. Hopefully, this will provide enough to get you started and know that there are many other blogs that will be spun from this topic.