RECEIVED Function (Gnumeric)
Find Gnumeric RECEIVED’s maturity amount using its discount-denominator formula. Check zero and negative denominators, dates and calendar-basis behavior.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0.05) has independently expected result 1000. This guide explains the calculation and its Gnumeric-specific date rules; the result was not observed in a running application.
Availability and evidence dates
- Introduced: Recorded as implemented in the grouped Gnumeric 0.33, 0.34 and 0.35 release notes. The exact first release within that interval and the release date are not established.
- Documented support: Registered in Gnumeric 1.12.62. No retirement is established.
- Last functioning version: Unverified. Source registration is not a native application test.
- Dates and scope: Pinned official source was retained from the October 13–14, 2026 audit. This complete guide and independent calculations were checked October 15. There was no new source retrieval, native engine execution or GUI test.
What RECEIVED calculates
The precise implementation is investment/(1-rate×A/B), where A is counted days and B is the calendar-year denominator. It is not investment×(1+rate×A/B). That distinction matters even though the help uses the word interest: the maturity amount is the value whose discounted price equals the initial investment.
Syntax and arguments
=RECEIVED(settlement,maturity,investment,rate,[basis])
investment is the amount paid at settlement. rate is labeled nominal annual interest rate by the help, but the callback names it discount and uses it in a discount denominator. Four arguments are required; optional basis defaults to 0. Enter a 5% rate as 0.05 or 5%, not 5.
Use valid worksheet dates produced by DATE, rather than locale-ambiguous text. The registration requires four numeric/date arguments and permits one additional basis argument. The shared basis converter truncates nonnegative fractional inputs below 6; use the documented integer values explicitly instead of relying on that conversion.
| basis | Official description | Important implementation scope |
|---|---|---|
| 0, default | US 30/360 | Use the specific helper described below; do not infer identical month-end rules in every financial function. |
| 1 | Actual days | The year denominator depends on the called helper. |
| 2 | Actual/360 | Actual elapsed days divided by 360. |
| 3 | Actual/365 | Actual elapsed days divided by 365. |
| 4 | European 30/360 | A 30/360 convention; helper details still matter. |
Reproducible worksheet
Create MaturityAmount with B2 =DATE(2026,1,15), B3 =DATE(2026,7,15), B4 975, B5 0.05 and B6 0. B8 =RECEIVED(B2,B3,B4,B5,B6) has expected result 1000. The time fraction is 180/360, so B9 =1-B5*180/360 is 0.975 and B10 =B4/B9 agrees with B8. Keep B9 visible; it reveals the denominator that drives the calculation.
Checked formulas and boundaries
Each row is independent and uses whole DATE values. Numeric results are source-derived reference expectations rounded to twelve decimal places where needed. Error results follow explicit callback guards, not a native error-display test.
| Formula | Independently expected result |
|---|---|
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0.05) |
1000 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0.05,0) |
1000 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),1950,0.05,0) |
2000 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0.1,0) |
1026.315789473684 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0,0) |
975 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),0,0.05,0) |
0 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,2,0) |
#NUM! |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,3,0) |
-1950 |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,-0.1,0) |
928.571428571429 |
=RECEIVED(DATE(2026,1,15),DATE(2026,1,15),975,0.05,0) |
#NUM! |
=RECEIVED(DATE(2026,1,15),DATE(2026,7,15),975,0.05,3) |
999.789296249473 |
=RECEIVED(DATE(2026,2,15),DATE(2026,3,15),975,0.05,0) |
978.806469604016 |
Advanced application and cross-check
For a reversible check, B11 =B8*(1-B5*180/360) reconstructs the original 975. B12 =B4*(1+B5*180/360) instead produces 999.375. The 0.625 difference demonstrates that simple interest on the purchase amount is a different contract. It is useful to leave this deliberately contrasting calculation beside the correct formula when auditing imported workbooks.
Change the rate to 0.1 while keeping the dates and investment fixed. The expected maturity amount becomes approximately 1026.315789473684, and the denominator becomes 0.95. The result is nonlinear in the supplied rate because the rate is in a denominator. Doubling the rate therefore does not simply double the gain from the original 1000-unit maturity amount. Scaling investment from 975 to 1950 with the original 0.05 rate, by contrast, exactly doubles the maturity amount to 2000.
Calendar behavior in the inspected source
These results follow the local days_monthly_basis helper, not a borrowed implementation of a similarly named financial function. For basis 4 it uses 30*month_difference + day_difference. Basis 0 starts with that expression, then subtracts 2 for a non-leap-year February settlement when maturity is outside February in the same year, or 1 in a leap year. Thus February 15 to March 15, 2026 counts as 28 under basis 0 but 30 under basis 4. The helper does not apply a universal 30th-day clamp to all month ends.
For bases 1–3 it uses elapsed date serial days. The annual denominator helper returns 360 for bases 0, 2 and 4, 365 for basis 3, and the settlement year’s 365 or 366 for basis 1. Accordingly January 15 to July 15, 2026 has 181 actual days but 180 days under the illustrated 30/360 helpers. These literal source rules explain the examples; they are not a promise of interchangeable day-count conventions across products.
Errors and troubleshooting
Nonpositive counted days, unsupported basis/year denominator, and an exactly zero discount denominator return #NUM!. With the main half-year time fraction, rate 2 makes the denominator zero. Rate 3 makes it -0.5 and the callback returns -1950 rather than rejecting the negative denominator. The source also does not require positive investment or a positive rate: investment zero returns zero for a valid nonzero denominator, and negative rates reduce the maturity amount in the ordinary positive-investment case.
For a normal positive maturity calculation, enforce investment greater than zero and a strictly positive denominator as worksheet policy. This is a stronger rule than the function itself enforces. Near-zero denominators magnify input errors; rounded screen values can conceal this sensitivity, so inspect the stored rate and time fraction.
Use actual numeric inputs for these fixtures. Blank cells, numeric text, localized formula entry, time-of-day fractions, historical date-system anomalies and floating-point extremes were not executed. Keep the original inputs and a separately calculated time fraction available when investigating a disagreement. The model verifies the stated contract and examples; it does not certify an installed release or a financial market’s required convention.