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.
  • Hi Karl,

    This calculator works great, thank you! One issue I am running into is when I add an extra payment (of type “Xtra Pmt”), save the file, and then open the file again, that extra payment is now shown as regular payment (of type “Payment”).

    • Well, that’s not good. Thanks for letting me know Max. I should be able to get this fixed within the next couple of weeks. I’m nearly finished with a site update, and I’ll take this issue up right after that.

    • Hi Max, just want to let you know that I’ve fixed the file save/load issue you reported with the calculator. You’ll need to adjust and resave any files you’ve created to see the fix.

  • When I change the initial interest rate in “invest”, the IRR is not changing. Is it because it is not calculating the “cost of money” ?

    • That shouldn’t be the reason, but I don’t have enough data to go on. Something else is probably changing. Please save your two calculations and email me the files and I’ll take a look.

  • Would any of your calculators help me with calculating late payments and interest on a personal auto loan to my Granddaughter? It was financed, and I got tired of her non payment so I paid off the loan myself. Now she can pay me, along with interest that would have gone to the bank. I tried to find an amortization schedule that I could manually input dates of payments she has made, with no luck.

  • What a great tool. Thanks for sharing. I do need some help modeling the loan and payment schedule I’m following. I’ve worked through the tutorials but my situation is a little more blended and I can’t quite get it right.

    Using some hypothetical numbers:
    – I am borrowing $180k on July 1, 2019.
    – Terms are 6% calculated quarterly (end of quarter) over 4 years (1 interest only payment plus 16 principle/interest payments) to completely retire the loan.
    – Payments are due on the first day of the second month following the end of the quarter (meaning Q1 payment due on April 1).
    – The first quarter (Q3 2019) will be the interest only payment to float the loan until scheduled payments start. That interest only payment will be due on Nov 1, 2019.
    – Q4 2019 payment will be the first of 16 full principle plus interest payments due on Feb 1, 2020.
    – Additionally, I would like to make an extra irregular payment for two during the term.

    How would I set this up with the UFC?

    • You’re welcome.

      Is the interest rate a quarterly rate? Or is 6% an annual rate? The calculator assumes that all rates are annual. So if 6% is a quarterly rate, you’ll need to convert it.

      What part are you having problems with? Did you see how to make the first payment interest only? The second row will be for a single payment. Click on cash flow options and select interest only. After that, the 3rd row will be for the 16 principal/interest payments.

      I see the twist though. You want to delay the first interest-only payment. Interest accrues through Sept. 31 and the payment is due on Nov. 1. I doubt if any calculator will do this. Why? Because what lender is going to lend money for free? That sounds as if that’s the arrangement. You want the interest calculated on the $180,000 balance through Sept 30, and not collect the payment until Nov.1. That means the lender is not charging anything for the use of the money from Oct 1 to Nov 1.

      To get accurate numbers you’ll have to set the first interest-only payment due on Oct 1, and then the 2 parties will need to agree that means Nov. 1, etc.

      • The 6% is an annual rate calculated quarterly.

        The loan does not have any interest free periods. It has a 31 day payment window. It would be like having your mortgage payment due on the 1st but late after the 10th. Interest does not stop on the principle after the 1st, it assumes payment and continues to accrue on the remaining principle.


        • Alright, there’s no issue with the interest rate. You enter that as 6%.

          One more question, and since this is only an illustration, I’m going to simply your example.

          – The first quarter (Q3 2019) will be the interest only payment to float the loan until scheduled payments start. That interest only payment will be due on Nov 1, 2019.
          – Q4 2019 payment will be the first of 16 full principle plus interest payments due on Feb 1, 2020.

          Rather than 16 P&I payments, change it to 4. This gives us a payment due schedule as follows:

               Loan date: July 1, 2019, $180,000
               Interest Payment: Nov. 1, 2019 for interest accrued quarter 3, July 1 - through Sept. 30.
               P&I Payment: Feb. 1, 2020 with interest accrued quarter 4, Oct 1 - through Dec. 31.
               P&I Payment: May 1, 2020 with interest accrued quarter 1, Jan 1 - through Mar. 31.
               P&I Payment: Aug. 1, 2020 with interest accrued quarter 2, Apr 1 - through Jun. 30.
               P&I Payment: Nov. 1, 2020 with interest accrued quarter 3, Jul 1 - through Sep. 31.

          Is this the payment pattern you need? If so, then in that case, either the final period is for interest through Oct. 31, 2020 (thus a 4 month "quarter") or the last 30 days is interest free for the outstanding principal.

    • You could enter a rate-change row on Oct. 1 and set the interest rate to 0%. And then add as the 3rd row an interest-only payment row on Nov. 1. That would give you an accurate payment amount. Then your 16 quarterly payments would start in the 4th row with a P&I payment due on Feb. 1st.

  • Karl! The savior!

    Thanks for creating this. This is fantastic. How can I get the plug in for this?

    Also, can I change the ‘interest rate’ to say ‘Investment return’?

    • I don’t think I would go that far, but in any event, thank you for the compliment.

      This calculator is not a plugin. All the available WordPress plugins are here.

  • Would a “forgiven” monthly payment work on the ultimate-financial-calculator? I’ve gotten myself confused (and that doesn’t take much these days!). It’s a personal loan so the principal can be reduced by the normal monthly payment, but they wouldn’t pay any interest so the yearly total would need to be adjusted for their yearly interest statement. I’m probably overthinking it, so came to the expert. Thanks for any assistance.

    • Hi Kathy, if my understanding is correct, it sounds as if the principal is paid but there’s no interest. If that’s the case, the calculator will handle that easily. Enter a "Rate Change" row with the date the interest stops. Set the new interest rate to 0.0%. Continue to collect the payments at whatever amount you need, and the payments will be used to reduce principal – no interest. Then when interest resumes, enter a new rate change series and set the interest rate back to whatever you need.

      If I’ve misunderstood, let me know where I want wrong.

      • Spot on…..I knew I was overthinking it….thank you!

        • Wonderful! Thank you for letting me know.

        • Well, I’m back to the drats…
          5/1/20 rate change to 0%
          5/1/20 $613 payment
          6/1/20 rate change to 1%
          6/1/20 $613 payment
          Payment Schedule:
          5/1/20 rate change 0%
          5/1/20 Change Compounding Monthly 613.00 interest 0 (these two lines are what I wanted to see)
          6/1/20 rate change 1%
          6/1/20 Change Compounding Monthly 613.00 interest 0 (this was not what I wanted to see – there needs to be a figure here – not 0.

          Any clue as to what I may have done wrong? Thanks!

          • If both the May 1 and the June 1 payment needs to be for $0 interest, then the loan is interest-free for 2 months. Make a rate change to 0% on April 1 (the April 1 payment will show the interest for March) and the 2nd rate change back to 1% interest rate on June 1. The July 1 payment will then have the interest for June. May 1 and June 1 payments will have a $0 interest payment because April and May had a 0% interest rate.

            A payment series includes interest (or not) for the immediately preceding period (for the exact number of days), not the period coming up.

            Does that clear things up?

      • Drats – I thought I had it down. I inserted a line for the rate change “0” prior to posting the payment (May 1, 2020). Once the payment was posted, I inserted a line for the rate change back to “1” and posted the payment (June 1, 2020). Everything looks great on the input page When I “schedule” the report shows the rate change and the compounding for the payment. However it shows the full principal payment and no interest. July thru December each have two lines. The top line has a payment and interest amount; the second line show a principal amount only. Obviously I’ve done something wrong. Suggestions?? (Just as an aside, when I worked computers in the old days when it was reel to reel everyone hated it when it was my turn, because I always did something that was unexpected and took a while to unravel!) Hope that’s not the case here. Thanks again!

      • Please disregard my earlier question. I cleared the calculator and redid it and now everything is fine. Thank you again for the use of this calculator. It’s awesome!

  • We are using your tool to prepare an amortization schedule. Our core system uses Daily 365 Simple Interest. Your tool is coming up with almost the same interest each month, but it’s a little off. How should we update the settings to make sure it is calculating the interest on the Daily/365 Interest calculation method? For Rounding Options, we have, “Adjust last amount to reach “0” balance. We chose 365 in the 360/365 Days field. For Interest Options, we chose “Amortized and Reduce All.” Any assistance you can provide will be greatly appreciated.

    Thank you

    • Do you have "Compounding" set to "Exact/Simple?"

      Does the interest match for the first payment? If not, then you should try different interest options. Is the first period a long period or short period?

      If you still don’t get it to match, please provide some of these details.

  • Karl,

    Here’s my issue: I can set up a loan with interest only payments for 12 months. How do I add a fee of 1.5 points of the loan amount as a separate payment to extend the loan for another 12 months of interest only payments, but without charging interest on the 1.5 fee or having the fee deducted from the loan amount? I cannot seem to figure this out, perhaps you can help me. Thanks.

    • Hi Roger,

      The first row is for the loan amount.

      The 2nd row is for the first 12 interest-only payments.

      The 3rd row is for the fee. You’ll need to calculate 1.5% amount. The calculator will not calculate it. So to belabor the point, if the balance is 100,000, in the 3rd row you will enter the "Fee" as $1,500.

      The 4th row is for the next 12 interest-only payments. The interest payment amount will be slightly higher since the fee has not been paid and it’s added to the balance.

      If the fee HAS been paid, then the 3rd row is the fee amount. The 4th row is a payment for the amount of the fee.

      The 5th row is the next 12 interest-only payments.

      Does this help?

  • This is a great calculator, thank you! I’ve been trying to use the UFC to calculate the interest schedule using the Rule of 78 method; it works well for a simple payment schedule, but how does it handle irregular payments?
    For example, for a loan amount on 05/15/2020 of 29,840, and 36 repayments of 1,020 starting 06/15/2020 (ending 05/15/2023). The total interest is 6,880. Interest in month 1 = 36/666 * 6,880 = 371.89, and in month 36 = 1/666 * 6,880 = 10.33.
    But say I change the regular payments to 35 * 881.85 and have a final repayment of 5,855.25 on 05/15/2023. The number of payments is still the same and the total interest is still the same. Why does the Ro78 schedule change so that less interest is recognised at the start of the agreement, and more at the end?

    • Glad you like the calculator, but it does not support an irregular payment schedule when Rule-of-78s is selected. I thought it showed the user a message stating this? If it didn’t, it should have.

  • My windows 10 computer will not allow me to download the XLS data file with my loan data.

    • I’m sorry you’re having an issue. However, you really didn’t give me anything to go on if you are looking for assistance (you’ve not asked a question). The issue is not related to Windows 10.

      Perhaps it’s related to the browser? What browser are you using? And what version. The calculator only works with recent browser versions.

      Or is it a permission issue? Does your user account on the Windows 10 machine allow your browser to write to the drive? Or is the problem with the permission for writing to a particular folder?

      • WARREN TED BROWN says:

        I’m using Edge and I’m seeing “chatter” that this may have started with a recent Microsoft update. When I try to download the XLS file it is blocked (download message box) from download and there’s no option for giving permission to download it anyway. I’ve tried some suggested security work arounds to no avail.

      • WARREN TED BROWN says:

        The download box that appears says “***.xml was blocked because this type of file can harm your device” and will not allow me to download it anyway.
        Any idea on how to get it to download? Thanks.

        • Warren T Brown says:

          It worked in Chrome so it looks like the new Edge is the villain!

          • Yes, it is a recent Edge configuration issue. I ran into this last month when I downloaded another file type on another site.

            I’ll see what configuration changes can be made (if any) to allow Edge to download, and I’ll let you know.

          • In researching for a solution to this problem (as I said, one I have had with other sites), I see there is a lot written about this. Almost all solutions do not work.

            However, what worked for me was this.

            When you see the message "This type of file may harm your computer," (it can’t by downloading it, it’s a text file), you can right-click and select from the menu "Keep".

            Then go to your default download folder, and you’ll see the file there.

            If the file name looks something like this:

            Unconfirmed 92168.crdownload

            the refresh Windows’ explore’s file list. You’ll need to see an ‘.XML’ extension before the file is usable by the calculator.

  • Hello. Using UFC and Chrome, calculation worked fine for a complicated loan schedule. (Thanks again for making this tool!) However, export to .XML opened in Office365 Excel as gibberish, basically info from the title page only. I had no problem getting past the warnings to save it, just seemed to not get the schedule needed. Printing to PDF worked fine, btw.

    I reverted to my old desktop version just to get done quickly, but the online version is quite smooth and I would like to use it. Any suggestions would be most welcome. Thanks!

    • Hi Nancy, I’m not sure I’m following you. Just to be sure, using the online UFC, you did a file save, and then you used Excel to open that file? If so, what do you mean by *quot;gibberish?" Does that mean it was not formatted very well in Excel?

      And from UFC, when you click on "File" -> "Save as…" what warning message are you talking about that you had to get past? There should be no warning that I can think of.

      To clarify, the file save feature is meant so you can save your inputs and then come back at a later time and use the file open feature to start from where you left off. When you do file save, it is not saving the amortization schedule, which the calculator will always (re)create. It is saving your inputs so that you don’t have to rekey them in. I’m not sure there would be a benefit to loading them into Excel.

  • Hello Karl
    Thanks for all the calculators! When the regular loan payment is at the end of the month, and when calculating a loan payoff mid-month, the payoff or ultimate calculator computes interest for the whole month instead of just a partial month. – Mark

    • Hi Mark, you’re welcome and you’re right! I can’t believe it. It’s been years since a bug has been reported. I’ll let you know when I fix this. Hopefully, it won’t take too long. (A week?) Thanks for taking the time to report it.

    • In the meantime, I believe I have a workaround.

      I assume you are setting the last payment due mid-month to "Unknown" and then creating a schedule.

      Rather than set it to "Unknown", set it equal to the last calculated payment amount, and then make sure the "Rounding" option under "Settings" is set to "Adjust last amount to reach “0” balance". If you create the schedule, the payment will be adjusted and the interest looks to be right. Furthermore, if you change the last date by a day, the interest amount changes.

      So it appears that the schedule is accurate, but the main input area will still show the payment amount that you entered rather than the final adjusted payment.

    • Mark, I released a fix on Sunday for the loan payoff amount bug.

      If you do not see the change right away, you may have to perform a hard refresh of the page:

      Depending on your operating system all you need to do is the following key combination:

      • Windows: ctrl + F5
      • Mac/Apple: Apple + R or command + R
      • Linux: F5

      Above, from Refresh Your Cache.

      Thank you for taking the time to report this. I’ve been wondering, do you have experience with software projects? Your analysis as to exactly when the bug affected the result was spot on and your explanation was very succinct.

  • Hi,

    we are using actual/(365 for normal year and 366 for leap year) interest calculation for repayment schedule , and we are getting last emi different from the actual emi , how can we adjust , what process can we do to make all installments as same without using 30/360 days

    • Hi Ravi,

      If the loan calls for actual/365 and actual/366 in leap years, then set the calculator’s days per year option to 366 under "Settings".

      If you want the interest not to vary due to the number of days in the period (but only due to the declining loan balance) then you should select a compounding frequency that is based on weeks or months. In that case, one would normally select a compounding frequency equal to the payment frequency.

      Does that answer your question? If not, can you give me an example with some numbers?

  • On the ultimate financial calculator if I do a loan and have a balloon payment at year five calculated, then I add some random extra payments, do I need to go back to the balloon line and calculate that again?

    • The calculator does not assume that any value will be recalculated. Thus if extra payments are inserted after the balloon payment is calculated, the user will most likely want to calculate the new balloon amount since the extra payments would impact its value.

      There is another possibility (and this is why nothing is assumed), the user might want to recalculate the regular payment amount after an extra payment (but before the balloon). The calculator is capable of doing this calculation. This way, the user can see by how much an extra payment could reduce the subsequent regular payments.

  • The tutorials 7 and 9 which I am using both it says to set the rounding to open balance no adjustment. Tutorial 1 says to set rounding to adjust last amount to reach 0 balance. Can that be used for the situations talked about in 7 and 9?
    Or if there is a small credit at the end do you have the person deduct that from last payment to you?
    Thanks for all your help!

    • Yes. For the balloon payment tutorial #7, at step 7, change the rounding option to something other than open balance. Then there won’t be the small credit.

      And for tutorial #9, after you calculate the remaining term, after all the random extra payments are entered (step 10b), you can add another step. The example says the remaining term is 23 periods. After that calculation, change the 23 to 22 and add one more row with an unknown payment amount. Also, change the rounding option to any option other than open balance. Then calculate that last payment to reach the 0 balance. If the payment is too small to be practical, then reduce the number of periods in the row above by 1 again, and then recalculate the final payment once again.

      The calculator is flexible. You can design the loan to meet your needs, and you should not need to do any manual or on the side calculations. That should not be necessary.

Comments, suggestions & questions welcomed...

* Required