The bal( Command

Command Summary

Calculates the remaining balance after n payments in an amortization schedule.

Command Syntax


Menu Location

On the TI-83, press:

  1. 2nd FINANCE to access the finance menu.
  2. 9 to select bal(, or use arrows and ENTER.

On the TI-83+ or higher, press:

  1. APPS to access the applications menu.
  2. 1 or ENTER to select Finance…
  3. 9 to select bal(, or use arrows and ENTER.

Calculator Compatibility


Token Size

2 bytes

The bal( command calculates the remaining balance after n payments in an amortization schedule. It has only one required argument: n, the payment number. However, it also uses the values of the finance variables PV, PMT, and I% in its calculations.

The optional argument, roundvalue, is the number of digits to which the calculator will round all internal calculations. Since this rounding affects further steps, this isn't the same as using round( to round the result of bal( to the same number of digits.

Usually, you will know the values of N, PV, and I%, but not PMT. This means you'll have to use the finance solver to solve for PMT before calculating bal(); virtually always, FV will equal 0.

Sample Problem

Imagine that you have taken out a 30-year fixed-rate mortgage. The loan amount is $100000, and the annual interest rate (APR) is 8%. Payments will be made monthly. After 15 years, what amount is still left to pay?

We know the values of N, I%, and PV, though we still need to convert them to monthly values (since payments are made monthly). N is 30*12, and I% is 8/12. PV is just 100000.

Now, we use the finance solver to solve for PMT. Since you intend to pay out the entire loan, FV is 0. Using either the interactive TVM solver, or the tvm_Pmt command, we get a value of about -$733.76 for PMT.

We are ready to use bal(. We are interested in the payment made after 15 years; this is the 15*12=180th payment. bal(180) gives us the result $76781.55 — as you can see, most of the loan amount is still left to pay after 15 years.


The calculator uses a recursive formula to calculate bal():

\begin{align} \operatorname{bal}(0)=\operatorname{PV} \end{align}
\begin{align} \operatorname{bal}(m)=\left(1-\frac{I\%}{100}\right)\operatorname{bal}(m-1)+\operatorname{PMT} \end{align}

In the case that roundvalue is given as an argument, the rounding is done at each step of the recurrence (which virtually forces us to use this formula). Otherwise, if no rounding is done (and assuming I% is not 0), we can solve the recurrence relation to get:

\begin{align} \operatorname{bal}(m)=\frac{1-\left(1-\frac{I\%}{100}\right)^m}{\frac{I\%}{100}}\operatorname{PMT}+\left(1-\frac{I\%}{100}\right)^m\operatorname{PV} \end{align}

Error Conditions

  • ERR:DOMAIN is thrown if the payment number is negative or a decimal.

Related Commands


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License.