**Public Function PrincipalPayment( _
ByVal vRate As Variant _
, ByVal vPer As Variant _
, ByVal vNPer As Variant _
, ByVal vPV As Variant _
, Optional ByVal vFV As Variant _
, Optional ByVal vType As Variant _
) As Variant**

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

**Example:** How much of your 5th monthly payment on a four-year, 7% annual percentage rate (APR), $20,000 loan represents a repayment of the principal? Approximately $370.79. PrincipalPayment(0.07 / 12, 5, 4 * 12, 20000) = -370.785167636147

See the PrincipalPaymentVerify Subroutine for more examples of this Function.

**See also:** InterestPayment Function
Payment Function
CumulativePrincipalPayment Function
InterestRate Function
NumberPeriods Function
PresentValue Function
FutureValue Function
PaymentType Function
PPmt Function (Visual Basic)
PPMT 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. Function will return Null if vRate is Null or cannot be interpreted as a number.

**vPer:** Number of the period whose principal payment amount is to be returned. Function will return Null if vNPer is Null, cannot be interpreted as a number, or is not between 1 (one) and vNPer.

**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. Function will return Null if vNPer is Null or cannot be interpreted as a number.

**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. Function will return Null if vPV is Null or cannot be interpreted as a number.

**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.

**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. Function returns Null if vType is not 0 (zero) nor 1 (one).

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

Entisoft Tools is a trademark of Entisoft.