Contact

PMT Function (OpenOffice Calc)

Financial Intermediate OpenOffice Calc

Calculate level payments with OpenOffice PMT, using native zero-rate and annuity-due examples, signed balances and explicit domain cautions.

Verification status: Eight ordinary reference formulas were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, through generated native ODF and GUI hard recalculation. Saved identities and results were checked. A separate isolated rate=-1 ODF case caused a fatal loading error in 4.1.16; no numeric result was obtained. How formula examples are checked

Apache OpenOffice 4.1.16 crash caution: A generated ODF containing PMT(-1;12;1000) caused a fatal log1p overflow during loading in the tested Linux build. Validate Rate greater than −1 before using PMT in an ordinary model; do not try this boundary formula in a working workbook. See the evidence scope below.

Quick answer: =PMT(.01;12;1000) returned approximately -88.848788678342 in the tested Apache OpenOffice 4.1.16 build.

Availability and version history

  • Introduced: First release not established; documented by OpenOffice.org 3.3.
  • Supported in: Apache OpenOffice 4.1.16; this is a verified release, not a final supported version.
  • Scope: Desktop Calc, English function names and semicolon-separated formulas.
  • Checked: October 14, 2026. Eight ordinary reference formulas were recalculated from generated ODF in 4.1.16 on Linux x86-64, Build 9816. Source and independent mathematics were also checked.

What PMT returns

PMT solves for one constant payment per period in a fixed-rate annuity. For a positive loan amount received, the outgoing payment is normally negative. The result is a mathematical payment, before any contract-specific fee, rounding or final-payment adjustment. Release implementation.

Syntax and arguments

=PMT(Rate; NPer; PresentValue [; FutureValue [; Type]])

Rate, NPer and PresentValue are required. FutureValue defaults to 0 and Type defaults to 0 for payments at period end. Use Type=1 for a payment at the beginning of each period. Supply FutureValue explicitly before Type. For ordinary loan or savings models, use a positive number of periods and a valid periodic rate greater than −1.

Eight reproducible examples

The native column contains saved 4.1.16 results; the independent column uses high-precision mathematical calculations. Values are displayed to twelve decimal places, so harmless final-place differences remain visible. Rate decimals such as 0.05 represent 5%, not 0.05%.

Formula Native 4.1.16 result Independent reference
=PMT(.01;12;1000) -88.848788678342 -88.848788678342
=PMT(.01;12;1000;0;1) -87.969097701328 -87.969097701328
=PMT(0;12;1200) -100 -100
=PMT(.05;10;0;1000) -79.504574965457 -79.504574965457
=PMT(.005;24;5000;0;0) -221.603051263785 -221.603051263785
=PMT(.005;24;5000;0;1) -220.500548521179 -220.500548521179
=PMT(-.01;12;1000) -78.016447730576 -78.016447730576
=PMT(.02;5;1000;-500) -116.079197052161 -116.079197052161

Practical worksheet

A model loan of 1000, repaid in twelve equal month-end payments at 1% monthly interest, uses =PMT(0.01;12;1000). Its negative result represents cash paid away. To show a positive expense magnitude, negate the displayed result in a separate reporting cell without changing the signed cash-flow model.

At zero rate, =PMT(0;12;1200) is −100. With a starting balance of zero and a positive target of 1000 after ten periods at 5%, the payment is a negative savings contribution. Borrowing and saving use the same equation with different signs and targets.

Advanced interpretation and checks

For r≠0, let q=(1+r)^n. The end-period payment is −r×(FV+PV×q)/(q−1). For a beginning-period payment, divide that value by 1+r. The implementation uses log1p and expm1 expressions to evaluate the accumulation factors, which can reduce cancellation for small nonzero rates.

For a zero-rate model the equation reduces to payment=−(PV+FV)/n. A desired remaining loan balance of 500 is represented by FutureValue=−500 when PresentValue is positive. The final example therefore does not repay the entire original principal.

An amortization identity is Payment=IPMT+PPMT for matching arguments and payment period. Compare unrounded values first. Rounding every row to cents changes the cumulative balance and may require a different final installment.

Boundaries and troubleshooting

Validate rate and period count before calculating. A returned number is not proof that the schedule is meaningful, and a wrong sign may describe cash flows opposite to the intended scenario. The inspected nonzero-rate helper passes Rate to log1p without an explicit lower-domain guard; the isolated failed-load observation below is therefore important.

In a separate isolated test, the workbook contained only PMT(-1;12;1000) and two already established SUM controls. Opening it reproduced the fatal message “Error in function log1p(d): Overflow Error” before a result workbook could be saved. No numeric answer or ordinary spreadsheet error code was obtained for that PMT case. The successful ordinary examples were preserved in a different file. This is a 4.1.16 Linux generated-ODF loading observation, not manual formula entry or a claim about other versions.

Official evidence and checking scope

The generated ODF input produced the informational load warning “Not all attributes could be read.” After it was acknowledged, the sheet was hard-recalculated and saved separately. All eight ordinary function identities and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated formula examples, not every workbook style or every invalid input. The original XLSX was not executed. Other explanatory calculations are independent mathematical checks; this guide does not claim a fully executed amortization schedule, other releases or all boundary cases.