**Public Function CumulativePrincipalPayment( _
ByVal vRate As Variant _
, ByVal vNPer As Variant _
, ByVal vPV As Variant _
, ByVal vStartPeriod As Variant _
, ByVal vEndPeriod As Variant _
, Optional ByVal vType As Variant _
, Optional ByVal vFV As Variant _
) As Variant**

**Calculate the cumulative principal payment for an annuity based on fixed, periodic payments and a fixed interest rate. **

**Example:** How much of the payments made in the second year of a thirty-year, 7% annual percentage rate (APR), $200,000 loan represents a repayment of the principal? Approximately $2,178.49. CumulativePrincipalPayment(0.07 / 12, 30 * 12, 200000, 13, 24) = -2178.48560797864

**Example:** How much would you have to pay to completely repay your thirty-year, 7% annual percentage rate (APR), $200,000 home loan after making 15 years worth of payments on the loan? Approximately $148,037.73. 200000 + CumulativePrincipalPayment(0.07 / 12, 30 * 12, 200000, 1, 15 * 12) = 148037.732402037

**See also:** CumulativeInterestPayment Function
PrincipalPayment Function
Payment Function
InterestRate Function
NumberPeriods Function
PresentValue Function
PaymentType Function
FutureValue Function
CUMPRINC Function (Microsoft Excel)

**Summary:** An annuity is a series of fixed payments (all payments are the same amount) made over time. An annuity can be a loan (such as a car loan or a mortgage loan) or an investment (such as a savings account or a certificate of deposit).

**vRate:** Interest rate per period, expressed as a decimal number. The vRate and vNPer arguments must be expressed in corresponding units. If vRate is a monthly interest rate, then the number of periods (vNPer) must be expressed in months. For a mortgage loan at 6% annual percentage rate (APR) with monthly payments, vRate would be 0.06 / 12 or 0.005. Must be greater than zero (>0), otherwise this function will return Null.

**vNPer:** Number of periods. The vRate and vNPer arguments must be expressed in corresponding units. If vRate is a monthly interest rate, then the number of periods (vNPer) must be expressed in months. For a 30-year mortgage loan with monthly payments, vNPer would be 30 * 12 or 360. vNPer is truncated to an integer number, and the result must be greater than or equal to one (>=1), otherwise this function will return Null.

**vPV:** Present value (lump sum) of the series of future payments. Cash paid out is represented by negative numbers and cash received by positive numbers. Must be greater than zero (>0), otherwise this function will return Null.

**vStartPeriod:** Starting (first) period for which the cumulative principal payment is to be calculated. vStartPeriod is truncated to an integer number, and the result must be greater than or equal to one (>=1) and less than or equal to vEndPeriod, otherwise this function will return Null.

**vEndPeriod:** Ending (last) period for which the cumulative principal payment is to be calculated. vEndPeriod is truncated to an integer number, and the result must be greater than or equal to one (>=1) and less than or equal to vNPer, otherwise this function will return Null.

**vType:** Optional argument that specifies when payments are due. Set to 0 (zero) if payments are due at the end of the period, and set to 1 (one) if payments are due at the beginning of the period. vType defaults to 0 (zero), meaning that payments are due at the end of the period, if it is missing or Null or cannot be interpreted as a number. vType must be either 0 (zero) or 1 (one), otherwise this function will return Null.

**vFV:** Optional future value (cash balance) left after the final payment. Cash paid out is represented by negative numbers and cash received by positive numbers. The future value of a loan will usually be 0 (zero). vFV defaults to 0 (zero) if it is missing or Null or cannot be interpreted as a number.

**v2.0 Addition:** This function is new to this version of Entisoft Tools. Copyright 1996-1999 Entisoft

Entisoft Tools is a trademark of Entisoft.