Contact

FV_ANNUITY Function (Calligra Sheets)

Financial Intermediate Calligra Sheets

Calculate end-of-period annuity future value with Calligra FV_ANNUITY. Reconcile individual payments and see the important zero-rate division limitation.

Verification status: 22 selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library. Exact outputs, mathematical references and source limitations are documented separately. Version 26.08.2 was source-checked only; no GUI-cell or import claim. How formula examples are checked

Zero-rate limitation: the tested Calligra 25.04.2 engine returns #DIV/0! at rate zero, even though the mathematical annuity limit is payment×periods. The inspected 26.08.2 callback has the same division and no special zero-rate branch.

Quick answer: =FV_ANNUITY(100;.1;3) gives approximately 331 in the tested Calligra calculation engine.

Availability and version history

  • Introduced: First release not established; the name is present in Calligra 2.4.0 source.
  • Supported in: Calligra Sheets 26.08.2, with no retirement established.
  • Scope: Desktop Sheets with the Financial module. Examples use English semicolon-separated formulas.
  • Checked: October 14, 2026. Selected formulas ran through the official 25.04.2 engine library. Source and independent mathematics were checked. This is engine evidence, with no GUI-cell or import verification; 26.08.2 was source-checked only.

What FV_ANNUITY returns

FV_ANNUITY gives the accumulated value of equal payments made at each period end. Its formula is payment×((1+rate)^periods−1)/rate. The sign follows the payment rather than automatically reversing the cash-flow sign. Function-specific official reference.

Syntax and arguments

=FV_ANNUITY(payment;ratePerPeriod;periods)

Exactly three arguments are required: payment amount, rate per payment period, and number of periods. Use matching units and a nonnegative integer period count for an ordinary payment schedule. Rate zero needs separate handling. Registration and implementation.

Reproducible engine examples

The engine and mathematical columns are separate. Results are rounded to twelve decimal places, or thirteen significant digits in scientific notation for very small or large values. This is a display choice, not an accuracy guarantee.

Formula Engine result Independent mathematical reference
=FV_ANNUITY(100;.1;3) 331 331
=FV_ANNUITY(100;.05;5) 552.563125 552.563125
=FV_ANNUITY(100;.1;1) 100 100
=FV_ANNUITY(100;.1;0) 0 0
=FV_ANNUITY(100;.01;12) 1268.250301319697 1268.250301319697
=FV_ANNUITY(500;.02;10) 5474.860499868928 5474.860499868928
=FV_ANNUITY(0;.1;3) 0 0
=FV_ANNUITY(250;.08;4) 1126.528 1126.528

Practical worksheet

Three end-of-period payments of 100 at 10% accumulate to 331 at the end of period three. The first payment earns two periods of interest, the second earns one, and the third earns none: 100*(1.1^2+1.1+1)=331.

At 5%, five payments of 100 give 552.563125. This is the final accumulated amount, not just interest earned. The total payments are 500, so the independent interest calculation is 552.563125−500=52.563125.

Advanced interpretation and checks

For payments at each period beginning instead, the same ordinary cash flows gain one additional period of growth; multiply the ordinary-annuity value by 1+rate. For the three-payment example, the independent annuity-due value is 364.1. There is no Type argument in FV_ANNUITY itself.

At nonzero rate, zero periods returns zero. As rate approaches zero, the mathematical limit is payment×periods, but entering exactly zero reaches the implementation’s division-by-zero branch. For a validated zero-rate model, calculate that product explicitly.

The executed advanced check was:

=FV_ANNUITY(100;.1;3)-100*(1+1.1+1.1^2)

Its engine result was -2.667310816662E-14.

Boundaries and troubleshooting

The source does not enforce a nonnegative integer number of periods. Negative and fractional values are evaluated algebraically, so a finite output does not prove there is a realizable payment schedule. Rates below −1 combined with fractional powers can produce numeric NaN without an engine error flag.

Negative payments retain their sign. Numeric payment text is parsed; nonnumeric payment text became zero, while nonnumeric rate text triggered #DIV/0!. Wrong arity gives #VALUE!. The table and source comparison establish these selected cases, without GUI-cell or workbook-import verification.

Formula Engine result
=FV_ANNUITY(100;0;3) #DIV/0!
=FV_ANNUITY(100;0;0) #DIV/0!
=FV_ANNUITY(100;-.1;3) 271
=FV_ANNUITY(100;-1;3) 100
=FV_ANNUITY(100;-2;2.5) NaN
=FV_ANNUITY(100;.1;-2) -173.553719008264
=FV_ANNUITY(100;.1;2.5) 269.058706285883
=FV_ANNUITY(-100;.1;3) -331
=FV_ANNUITY("100";.1;3) 331
=FV_ANNUITY("abc";.1;3) 0
=FV_ANNUITY(100;"abc";3) #DIV/0!
=FV_ANNUITY(100;.1) #VALUE!
=FV_ANNUITY(100;.1;3;0) #VALUE!

Official evidence and precision scope

The financial module and value-calculation helpers are byte-identical between the inspected 25.04.2 and 26.08.2 sources. That comparison supports the source discussion but does not establish later-version execution, GUI-cell behavior or other locales.