voorbeeld = ({
jaar = new Date().getFullYear(),
waardeInDollars = 0,
USD2EUR = 0.95,
waardeInEuros = USD2EUR * waardeInDollars,
aankoopBedragAandelen = 0,
kostenBroker = 0,
} = {}) =>
{
const {min, max, round} = Math;
const totaalKosten = kostenBroker + aankoopBedragAandelen;
const teBelastenMetVPB = max(0, waardeInEuros - totaalKosten);
const tarief = VPBtarieven[jaar];
const teBelastenMetLaagTariefVPB = min(teBelastenMetVPB, tarief.drempel);
const teBelastenMetHoogTariefVPB = max(0, teBelastenMetVPB - teBelastenMetLaagTariefVPB)
const VPBLaagTarief = tarief.laag * teBelastenMetLaagTariefVPB;
const VPBHoogTarief = tarief.hoog * teBelastenMetHoogTariefVPB;
const VPBTotaal = VPBLaagTarief + VPBHoogTarief;
const nettoWinst = waardeInEuros - VPBTotaal;
return ({
"Waarde in $": waardeInDollars,
"Wisselkoers $ → €": USD2EUR,
"Waarde in €": waardeInEuros,
"Kosten broker": kostenBroker,
"Aankoopbedrag oorspronkelijke aandelen": aankoopBedragAandelen,
"Totale Kosten": totaalKosten,
"Belastbaar": teBelastenMetVPB,
"Jaar": jaar,
"Winstdrempel tarieven": tarief.drempel,
"Laag Tarief": tarief.laag,
"Hoog Tarief": tarief.hoog,
"Deel Laag Tarief": teBelastenMetLaagTariefVPB,
"Deel Hoog Tarief": max(0, teBelastenMetVPB - teBelastenMetLaagTariefVPB),
"VPB Laag Tarief": round(VPBLaagTarief),
"VPB Hoog Tarief": round(VPBHoogTarief),
"VPB Totaal": round(VPBLaagTarief + VPBHoogTarief),
"Netto Winst voor BV": round(waardeInEuros - VPBTotaal),
"Effectief (%)": round(100 * nettoWinst / waardeInEuros),
"Rendement (%)": round(100 * nettoWinst / (totaalKosten + VPBLaagTarief + VPBHoogTarief))
})
}