ScheduleRow
Defined in: types/domain.ts:178
One row of the quarterly capitalization schedule produced by simulate().
simulate() maintains a per-unit net quote and rounds it to the series’
SeriesMetadata.unitQuoteDecimals after each completed quarter. The
holding’s booked net value is then round(units × unitFaceValueEur × unitQuoteAfter, 2).
Gross interest, IRS withholding, and net interest are booked in real EUR at the holding level each quarter:
interestNetis the movement in the booked value,balanceAfterless the previous quarter’s. IGCP credits nothing directly — it moves the quote — so the value’s movement is what was credited, and net interest computed any other way would not sum to the value the same result reports.interestGrossis cent-rounded fromunits × unitFaceValueEur × previousUnitQuote × quarterlyRate.irsWithheldisinterestGross − interestNet: the gross less what reached the holder. It is deliberately notirsRate × interestGross. An IGCP declaration under CIRS Article 119º nº 3 reports 55,95 EUR withheld against 199,75 EUR of gross income for a 2025 tax year, where 28% of that gross is 55,93 — so the rate is not what IGCP applies to arrive at the withholding.
As a consequence, schedule rows reconcile exactly with the matching
totalInterest* headline fields and with currentValueNet.
One caveat, reachable only through an irsRate override: the quote is rounded
per unit at five decimals while the gross is rounded to cents over the whole
holding, so the two carry a residue that scales with the unit count. A real
28% withholding absorbs it invisibly. A rate low enough for the residue to
exceed the withholding would make irsWithheld negative, which cannot happen,
so there the gross gives way instead and equals interestNet — with nothing
withheld, the gross is what was credited.
Properties
Seção intitulada “Properties”annualRate
Seção intitulada “annualRate”readonly annualRate: string;Defined in: types/domain.ts:180
balanceAfter
Seção intitulada “balanceAfter”readonly balanceAfter: string;Defined in: types/domain.ts:185
interestGross
Seção intitulada “interestGross”readonly interestGross: string;Defined in: types/domain.ts:182
interestNet
Seção intitulada “interestNet”readonly interestNet: string;Defined in: types/domain.ts:184
irsWithheld
Seção intitulada “irsWithheld”readonly irsWithheld: string;Defined in: types/domain.ts:183
premiumTier
Seção intitulada “premiumTier”readonly premiumTier: PremiumTier;Defined in: types/domain.ts:187
quarterEndDate
Seção intitulada “quarterEndDate”readonly quarterEndDate: string;Defined in: types/domain.ts:179
quarterlyRate
Seção intitulada “quarterlyRate”readonly quarterlyRate: string;Defined in: types/domain.ts:181
unitQuoteAfter
Seção intitulada “unitQuoteAfter”readonly unitQuoteAfter: string;Defined in: types/domain.ts:186