Updates for 2022: Historical Investment Calculator update to 15 indices through Dec. 2021
Compare different assets, for example, the S&P 500 with gold and housing, and optionally adjust for inflation.
Inflation Calculator U.S. and German historical inflation calculations plus future inflation. Investment Calculator inflation model updated.

Ultimate Financial CalculatorInvest or pay any amount, on any date, at any rate


The Ultimate Financial Calculator (UFC) is the most sophisticated, most flexible calculator on financial-calculators.com and I think on the entire internet.

See the tutorials for step-by-step instructions.

If you are someone who needs date accurate results with either regular or irregular cash flows (loans, payments, deposits, withdrawals, investments), this is the calculator you should study and use.


Please turn your device  
IdxNoSeriesDateAmount# PeriodsFrequencyEnd DateSeries OptionscmpFreqspecialSeriesTypeSpecialSeriesStruct


  Original Size  
New! Drag & drop your saved files here to load...
File save and open are new beta test features. If you happen to get a different calculated result, do not assume that this calculator is making an error. Most likely, the problem is with the new file load feature. Please check that all settings got loaded as expected.
(Also works with your C-Value! *.cv1 and TValue™ *.tv5 files.)

Calculator's Features

See these tutorials for step-by-step instructions.

Solve for any unknown

  • Payment or loan amount
  • Deposit or withdrawal
  • Yields: APR, APY or IRR
  • Balance as of a specific date
  • Date a specific balance is reached *
  • Present value (PV)
  • Future value (FV)
  • Balloon payment amount
  • Payment required to reach a specific balloon
  • Number of payments
  • Interest rates - nominal or effective *
  • Discounted values
  • Remaining balance
  • Deposit required

Any type of calculation method

  • Normal amortization or investment
  • Rule-of-78s
  • Canadian methods
  • US Rule — simple interest
  • Supports 360, 364, 365 and 366 day years
  • Exact day or periodic interest calculations

Scheduled (but adjustable) Payment Frequencies

  • Daily
  • Weekly
  • Bi-weekly
  • Twice monthly (Half-month)
  • Every 4 weeks
  • Monthly
  • Bi-monthly (every two months)
  • Quarterly
  • Every 4 months
  • Semi-annual
  • Annual

Flexible Reports & Schedules

  • Amortization & investment schedules
  • Schedules with details or totals only *
  • Custom headers and labels *
  • Change fonts, bcolors *
  • Select a fiscal year end
  • Reg. Z APR disclosure report *
  • Track or keep an "Open Balance"
  • New Track escrow payments and disbursements

Handles any type of cash flow

  • Normal
  • Interest only
  • Enter your own payment amount
  • Negative amortization
  • Skipped payments or deposits
  • Fixed principal + interest
  • Percent step amounts
  • Dollar step amounts
  • Balloon payments
  • Extra payments — principal only
  • Payments to interest
  • Cash flow amounts set to any random date

Compounding Frequencies

  • Exact Day / Simple
  • Daily compounding
  • Weekly
  • Bi-weekly
  • Twice Monthly (Half-month)
  • Every 4 Weeks
  • Monthly
  • Bi-monthly (every two months)
  • Quarterly
  • Every 4 Months
  • Semi-annual
  • Annual
  • Continuous
  • Change the frequency of compounding during a cash flow
  • No compounding option when rate changes

Calculators the Ultimate Financial Calculator Replaces

With this calculator's flexibility, it will meet the needs of anyone searching for:

  • loan repayment calculator
  • loan payoff calculator
  • mortgage payoff calculator
  • repayment calculator
  • student loan repayment calculator
  • home loan repayment calculator
  • car loan repayment calculator
  • debt payoff calculator
  • early mortgage payoff calculator
  • debt repayment calculator
  • individual or specialty TVM calculators

TValue is a trademmark of TimeValue Software.


158 Comments on “Ultimate Financial Calculator”

Join the conversation. Tell me what you think.
  • Elizabeth Adams says:

    Hello, Karl… The “Ultimate Financial Calculator”…this is the one you developed, yes? I’m interested in your work… can you tell me if there’s a fee involved to use it and, if so, can you provide a link? Thank you… Elizabeth

    • Hi, yes, I developed UFC. There is no charge presently for using the online calculator. The equivalent calculator for Windows is C-Value! and that costs $50.00 for a license. Unless you have a specific reason for needing C-Value! (such as its export to Excel feature and its ability to change fonts for reports), I would recommend the free online Ultimate Financial Calculator.

  • Karl,
    I’m trying to correctly calculate the loan balance where the borrower makes payments days or sometimes 1-3 months late. The interest is compounded monthly (I selected monthly in the compounding setting). I entered the loan details and then entered each payment using the exact date the payment was received. The schedule shows a balance due. Is the interest being compounded monthly when payments are missed for 1-3 months?
    Alternatively, should I enter the loan and enter each payment on the date it’s due (1st of the month) with a $0 amount, then enter the actual payment as an Xpmt on the actual date received? Would it yield a different balance due? I have an xml file I can send if it would be helpful.
    Great site, Karl. Thanks, Zach

    • Hi Zach, yes, the interest is being compounded monthly since that’s the frequency you’ve selected. I would enter the payments on the dates they are received. No need to enter the missed payments as a 0 unless you want to show the balance after the missed payments.

  • Hello Karl,
    Great website!
    I am wondering why at the bottom of my schedule I can have zero in my Interest Balance and $75,000 in my Principal Balance, but the (overall) Balance is $74,951.19? Shouldn’t that last column equal to the sum of the previous two? I notice that the difference of $48.81 is equal to the sum of two earlier loan/fee amounts that were applied as a negative principal paid for the amount of interest charged for those particular periods. Curious what is happening here. Thanks very much!

    • Thank you. I’m glad that you find the site useful.

      I’m not sure that I’m following you however. Can you email me a PDF copy of your schedule? The email address is on the contact page. You can use your browser to print to PDF by selecting PDF as the destination printer. Why I don’t follow you is, depending on your inputs and option selections, this calculator creates, automatically, different report layouts.

  • Eric Livingston says:


    Is there a way to purchase the online calculator? I could really use it for our CRM. It isn’t WordPress or Windows. Great work!


    • Thank you! Please contact me via email to discuss this. The email address is on the contact page, which is linked to from the bottom of every page on this site.

  • Christina bonnett says:

    Just needing a calculator

  • Problems with ultimate financial calculator.
    1. Borrower made an extra payment about a week after that month’s payment, making for 13 payments that year. I added that & it seems to have worked fine with default rounding (zero balance at end).
    2. Having difficulty arriving at total loan payoff at a certain date.
    If I follow tutorial I get the extra payment repeated over remaining loan term.
    I got an error message “unable to add periods”.
    If I change rounding to none, the extra payment “repeats” over the remaining term.
    I’m not understanding the tutorial very well.
    Also wish you had a Mac version. Thanks

    • Thanks for trying my calculator, Ken.

      A few pointers and questions.

      The extra payment won’t repeat (or shouldn’t) if in the "# Periods" column, in the extra payment row, you’ve entered a "1."

      The concept is you can enter in each row the number of payments that repeat and for which the payment was paid precisely on the date due. So, if the payments are due on the first, and you received 18 payments paid on the first, enter 18 in the "# Periods" column. Then if you received 1 extra payment, the next row should have that extra payment (for any amount on any date).

      Not sure which tutorial you are referring to, but since you are tracking loan payments, I suggest that you take a look at this tutorial. After looking at it, if something is not clear, please ask again and please refer to the step that’s giving you a problem.

      Also, I would start again entering the loan payments with the rounding set to "Open Balance."

      • Tutorial you mention/link is what I’m reading/using. Scenario:
        Make/calculate loan w/amortization schedule.
        Borrower makes an extra payment some days after the regular payment for that period. <- How do I update the existing schedule for that?
        Later on… Borrower wants to pay it off on some date, how to enter that?
        Also, if I load the schedule with the extra payment in that year (13 payments that year), then expand & collapse it, it replicates that extra payment, in this case 21 times. I wonder if it thinks that payment will be added every remaining year.

        • You say, “Make/calculate loan with an amortization schedule.” This sounds to me as if you have a schedule of the projected payments – payments that are due over the entire term of the loan. Is that the case? And if so that one good?

          If so, great.

          Now it seems you want to track actual payments. Forget the first schedule. Start again. But enter the payments as they are made for an ACTUAL schedule, NOT a projected schedule.

          Enter the payments up to the extra payment you mentioned. Then enter the extra payment. Then continue in the next row with the regular payments until the borrower wants to pay the loan off.

          In the final row, enter the date the borrower wants to pay the loan off and enter “Unknown” for the amount. Enter “1” for the “# Periods.” Then calculate. The calculated amount will be the balance due as of the date entered.

          I asked you to tell me what step in the tutorial gave you a problem. Also, did you have “1” for “# Periods” in the extra payment row?

        • Let’s assume for simplicity that all regular payments are paid on the date they are due. Also, assume there is one extra payment. And you want to know the pay-off amount the borrower has to pay to pay off the loan early.

          This will take 5 rows in the calculator.

            The loan amount row.
            The regular payments before the extra payment.
            The extra payment row with the date paid, the amount paid and 1 for “# periods”
            Then a row with the regular payments that will be paid before the proposed pay-off date
            Finally, the 5th row will contain the pay-off date, “Unknown” for the amount and 1 for “# Periods”

          Are you approaching the calculation this way?

      • Yes, a “1” in that extra payment, 13 payments in that year instead of 12. If I expand & then collapse that schedule, somehow it makes 21 of those extra payments, I’m guessing for the remainder of the loan term.
        What’s the difference between the ultimate financial calculator & the loan payoff calculator? They both look & work the same to me; wonder if they can save/use the same xml files they generate.
        Thanks for your help.

        • The two calculators are the same.

          Do you want to send me your XML file, and I’ll take a look? The email address is on the contact page. Link at the bottom of the page.

        • Thank you for sending the XML file. That helps. I see a few things that are “off,” but I am unsure if fixing just these items will give you the schedule you need. There may be other things I’m not aware of yet.

          1. There is no extra payment entered, as you said. If row 5 on 11/22 is supposed to be the extra payment, then under the “Series” dropdown, select “Xtra Pmt.” But also, why is the amount $0?
          2. Secondly, there are overlapping dates between the rows. Row 3 has an end date of 1/11/2020, while row 4 starts on 7/5/2018. This is not ideal. Rows should be in date sequence, and they should not overlap this way (overlap means an end date coming after the start date in the next row.)

          Is suggest starting simple. Briefly, forget about your loan details and step through some of the tutorials so that you grasp this calculator’s concepts. I also suggest trying the 5-row example, as I mentioned in the prior reply.

          • 1. The extra payment somehow got replicated 20 times; should be ONE extra payment, 6 days after the regular one. Until I figure out some reason for that “replication” I’m considering it a bug. It happens anytime I expand/collapse the schedule (also another version of the schedule that doesn’t attempt the payoff). Row 5 is effort to make a payoff on that date (11/24) & it doesn’t “look right” in the schedule.
            2. I don’t know why the dates overlap. I entered the ONE extra payment as above. That year had 13 payments & the extra one happened 6 days after the regular payment. As to whether it applies to both principal & interest or principal only, I’m inclined to apply it to interest too, since there’s a time difference, but I’m open to ideas.

          • Let’s address one thing at a time. For now, we won’t worry about calculating the early pay-off amount. Also, forget about Expand and Collapse for right now. You don’t need those features (at this point).

            You keep saying “extra payment,” but as I said, looking at what you sent me, you haven’t indicated that any of the payments are extra payments. Other than the first loan row, the only row that has a “1” in the “# periods” column is row 5. That row has a $0 amount. Why? And it’s not marked as “Xtra Pmt” (in the Series column).

            If you had intended for another row to be a single extra payment, the rows have values other than “1” in the “# Periods” column.

            The reason why the dates overlap is because of date math. For example, row 3 represents a series of 21 monthly payments starting on 5/11/2018. The last of the 21 payments ends on 1/11/2020. But row 4 starts a new series on 7/5/2018 of 53 payments before the series in row 3 has even been completed. What you are telling the calculator to do, is to create overlapping series. Is that what you want?

            3	Payment	05/11/2018	$333.26	21	Monthly	01/11/2020	Cash Flow Options
            4	Payment	07/05/2018	$333.26	53	Monthly	11/05/2022	Cash Flow Options
            5	Payment	11/24/2022	$0.00	1			        Cash Flow Options
            6	Payment	01/05/2023	$333.26	282	Monthly	06/05/2046	Cash Flow Options
          • I understand now that you are saying row 5 is an attempt to calculate a pay-off amount and not an attempt to make an extra payment. What row is the single extra payment? That row needs to have “1” in the “# Periods” column, and it needs “Xtra Pmt” set under “Series”.

          • I think maybe this is what you want?

            No	Series	Date	Amount	# Periods	Frequency	End Date	Series Options
            1	Loan	 09/05/2016	$69,804.09	1			Loan Options
            2	Payment	 10/05/2016	$333.26	22	Monthly	07/05/2018	Cash Flow Options
            3	Xtra Pmt 07/11/2018	$333.26	1			
            4	Payment	 08/05/2018	$333.26	52	Monthly	11/05/2022	Cash Flow Options
            5	Payment	 11/24/2022	Unknown	1			        Cash Flow Options

            Row 5 is the unknown payoff amount as of Nov 24, 2022.

            The payoff amount ALWAYS has to be the last row of the calculation. Makes sense, right?

Comments, suggestions & questions welcomed...

* Required