Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
alex_zhu2
Advisor
Advisor
0 Kudos
There is an expected final repayment. There is a purchase or investment which has payment amount different to the final repayment, the difference between the investment and the final repayment is a premium (+) or discount(-).

Amortization means that this premium/discount is accrued until the final repayment.

The reasoning is same as with interest accrual/deferral – for every accounting period you post corresponding portion of premium/discount to profit/loss.

There is a future cash flow, you calculate an effective interest rate using this cash flow and investment value, you discount the future cash flow using the effective interest rate.

This is the new investment value at current key date.

It is like any other valuation but:

We calculate ourselves the new (SAC/LAC) value. We don’t read a stored value like a market price but we calculate it

  • IF_AMORTIZATION_CALCULATOR_CAL

    • Main method IF_AMORTIZATION_CALCULATOR_CAL~CALCULATE_VALUE

    • LAC calculation CL_LAC_CALCULATOR_CAL

    • SAC calculation CL_SAC_CALCULATOR_GEN_CAL and subclasses






SAC Amortization – main steps


  • Get last amortization, which serves as basis for calculation


im_p_last_amort->get_last_amortization

  • Get the cash flow


get_flows

  • Calculate effective interest rate


calculate_internal_rate

  • Calculate new SAC Value


calculate_present_value
LAC Amortization

  • Get last amortization, which serves as basis for calculation


im_p_last_amort->get_last_amortization

  • Get amortization end date – end of period for the acrual


me->calculation_service->get_amortization_end_date

  • Get repayment amount


assessable_position->get_total_repayment_amt

  • Get the number of days between last amort date ,key date and final repayment date

  • Calculate the amort amount:


ex_amort_amt = l_old_amort_amt + ( l_repayment_amt - l_old_amort_amt )
* l_days_to_keydate
/ l_days_to_amort_end_date.

Amortization as DBT(Derived Business transaction)

Calculated at business transaction which are amortization relevant:

  • Changes quantity – nominal changes, purchases, sales, repayments, transfers etc.

  • Changes purchase value – position relevant charges


The calculation is exclusive:

  • At the beginning of the day when the business transaction happens

    • Nominal/units and amortized purchase value before the original business transaction



  • Then the translation and other dbts are calculated

  • The last amort info is “updated”