Project: Wettelijke rente berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Pagina: 1 2 volgende »

The Ultimate

The Ultimate

29/01/2009 14:14:00
Quote Anchor link
Dag forumleden,

Ik ben bezig met een script om de wettelijke rente te berekenen. Op internet kom je dit al wel tegen in javascript maar aangezien ik daar geen verstand van heb probeer ik het voor mijn site (www.rechtenstudent.net) - die binnenkort geheel vernieuwd zal worden - in PHP te scripten.

Ik zal hierbij hoogstwaarschijnlijk meerdere malen genoodzaakt zijn jullie hulp in te schakelen vandaar deze intro! Ik zal proberen deze intro steeds verder te updaten zodat ook de nieuwste vraag hierin te vinden zal zijn.

Het script zal als volgt moeten gaan werken:
- Men voert een begindatum, einddatum en hoofdsom in en drukt op verzenden;
- Berekenen aantal dagen tussen start_date en end_date;
- Berekenen specifieke rentepercentages per periode (rente verschilt per periode);
- Opslag berekenen (eens per jaar wordt de rente bij de hoofdsom opgeteld en wordt vervolgens met die gemuteerde hoofdsom verder gerekend);
- De totale rente, totale opslag (mutatie) en totale hoofdsom incl mutatie wordt weergegeven;



Dit is het script tot nu toe:

VERSIE 1.1.5
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
        <form method="post" action="wettelijkerente.php?action=bereken_rente">
        <p>Startdatum:</p>
        <select name="start_day" style="width:50px;">
            <option value="01">01</option>
            <option value="01">31</option>
        </select>
        <select name="start_month" style="width:200px;">
            <option value="01">Januari</option>
            <option value="12">December</option>
        </select>
        <select name="start_year" style="width:100px;">
            <option value="2002">2002</option>
            <option value="2009">2009</option>
        </select>
<br />
        <p>Einddatum:</p>        
        <select name="end_day" style="width:50px;">
            <option value="01">01</option>
            <option value="01">31</option>
        </select>
        <select name="end_month" style="width:200px;">
            <option value="01">Januari</option>
            <option value="12">December</option>
        </select>
        <select name="end_year" style="width:100px;">
            <option value="2002">2002</option>
            <option value="2009">2009</option>
        </select>
<br />
        <p>Hoofdsom:</p>
        <input type="text" name="hoofdsom" value="00,00" />
<br />
        <input type="submit" value="Bereken" />
        </form>
<br />
<br />
    
    
    <?php
    
    if($_SERVER['REQUEST_METHOD'] == 'POST' && $_GET['action'] == 'bereken_rente'){

    // Startdag berekenen:
    
    $start_day = $_POST['start_day'];
    $start_month = $_POST['start_month'];
    $start_year = $_POST['start_year'];
    
    if(checkdate($start_month,$start_day,$start_year) == 'TRUE'){
        $start_date = $start_year . '-' . $start_month . '-' . $start_day;
    }
else{
        $error .= "De ingegeven startdatum is niet juist.<br />";
    }

    
    $startdag = date('z', strtotime($start_date)) + 1;


    // Einddag berekenen:
    
    $end_day = $_POST['end_day'];
    $end_month = $_POST['end_month'];
    $end_year = $_POST['end_year'];
    
    if(checkdate($end_month,$end_day,$end_year) == 'TRUE'){
        $end_date = $end_year . '-' . $end_month . '-' . $end_day;
    }
else{
        $error .= "De ingegeven einddatum is niet juist.<br />";
    }

    
    $einddag = date('z', strtotime($end_date)) + 1;
    
    
    // Verschil in dagen berekenen:    
    $dagen = (strtotime($end_date) - strtotime($start_date)) / (60 * 60 * 24);


    // Invoerdata vergelijken met data rentepercentages uit db:
    




    // Uitvoer:

    echo 'Start date: ' . $start_date . '<br />';
    echo 'End date: ' . $end_date . '<br />';
    echo 'Startdag: ' . $startdag . '<br />';
    echo 'Einddag: ' . $einddag . '<br />';
    echo 'Aantal dagen verschil: ' . $dagen . '<br />';
            
        if(!empty($error)){
            echo '<br /><br />Fout:<br />' . $error;
        }
    }

    
    ?>


Log:
29-01-2009 15u16m - aantal dagen verschil toegevoegd.
29-01-2009 17u10m - <form> aangepast.
29-01-2009 17u12m - php-script aangepast.

HUIDIG PROBLEEM:
Het bepalen welke dagen van de ingegeven start en end date in welke rente periode vallen en het berekenen van de bijbehorende rente per periode.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
PHP hulp

PHP hulp

08/05/2024 08:40:04
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 14:20:00
Quote Anchor link
Je zou met een explode() die dd-mm-yyyy uit elkaar kunnen trekken. Maar het is wellicht gebruikersvriendelijker om 3 aparte velden te maken, wellicht zelfs dropdows met alle maanden.

En mbt tot wat mogelijk is met PHP, ik denk dat we zelfs het ISS op PHP kunnen laten lopen als we maar genoeg tijd krijgen ;).
 
RvW Of toch niet

RvW Of toch niet

29/01/2009 14:22:00
Quote Anchor link
Bart schreef op 29.01.2009 14:14:
Dag forumleden

klinkt mij vrij complex in de oren want je hebt het over verschillende rentes en verschillende periodes.
dus je ken ook met 2 rente tarieven te maken krijgen.

het eerste wat ik me afvroeg ga je die rentes per periode op slaan ?
hoe had je dat in gedachten te gaan doen ?
 
The Ultimate

The Ultimate

29/01/2009 14:31:00
Quote Anchor link
@Arjan:
Wellicht is dat een goed idee. Dan kan er ook niets fout gaan met de invoer, behalve dat men bijvoorbeeld in februari kiest voor 31 dagen.....heb jij daar een oplossing voor?

@rvw:
Er zijn inderdaad meerdere renteperiodes. Deze veranderen zo'n 2 keer per jaar. Mijn idee was om deze per periode op te slaan in een databasetable (dus: start_date, end_date en rentepercentage). Lijkt dit wat?
 
Joren de Wit

Joren de Wit

29/01/2009 14:32:00
Quote Anchor link
Wat betreft je eerste vraag: is het niet slimmer om eerst de effectieve rente over de betreffende periode uit te rekenen voordat je überhaupt met de hoofdsom gaat werken?

En voor wat betreft je tweede vraag sluit ik me aan bij Arjan. Gebruik select boxen voor het invoeren van de datum, dat beperkt de mogelijkheid tot foute invoer en scheelt jou weer een aantal stappen in PHP.

ps. Gebruik checkdate() om te controleren of een datum wel klopt..
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 14:40:00
Quote Anchor link
Wat je kunt doen is eerst vragen om de jaren, vervolgens de maanden en aan de hand van die gegevens kan je een range() maken waaruit de dagen gekozen kunnen worden.

Of je checked het achteraf met de checkdate() en geeft daar een melding van terug.
 
The Ultimate

The Ultimate

29/01/2009 14:55:00
Quote Anchor link
UPDATE:

- checkdate() toegevoegd.

- versienr erboven geplaatst, zodat men in de gaten kan houden of het script is gewijzigd. Ik blijf namelijk in het origineel wijzigingen aanbrengen.

- onderaan originele topic zal het HUIDIGE PROBLEEM worden weergegeven waar ik op dat moment mee worstel.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 15:01:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$dagen
= (strtotime("2005-11-20") - strtotime(date("Y-m-d"))) / (60 * 60 * 24);
?>


Maar er zullen ongetwijfeld meerdere oplossingen voor te verzinnen zijn.
 
The Ultimate

The Ultimate

29/01/2009 15:20:00
Quote Anchor link
@Arjan:
Jouw dagen verschil berekening is toegevoegd.

Volgende probleem is het opzetten van een databasetable met daarin de rentepercentages per periode zodat we deze vervolgens naar de ingegeven start_date en end_date kunnen leggen.
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 15:23:00
Quote Anchor link
Ik denk dat je beter eerst op papier kunt zetten hoe die rentepercentages per periode opgebouwd zijn. Ik neem aan dat ik mij daar zoiets bij voor moet stellen?

- dag 1 t/m 5 = 4%
- dag 6 t/m 12 = 4,2%
etc etc
 
The Ultimate

The Ultimate

29/01/2009 15:25:00
Quote Anchor link
@Arjan:
Goed dat je het vraagt want die rentepercentages zijn anders opgebouwd:

Per 2002-08-08 7.00 %
Per 2002-12-01 10.35 %
Per 2003-01-01 9.85 %
Per 2003-07-01 9.10 %
Per 2004-01-01 9.02 %
Per 2004-07-01 9.01 %
Per 2005-01-01 9.09 %
Per 2005-07-01 9.05 %
Per 2006-01-01 9.25 %
Per 2006-07-01 9.83 %
Per 2007-01-01 10.58 %
Per 2007-07-01 11.07 %
Per 2008-01-01 11.20 %
Per 2008-07-01 11.07 %
Per 2009-01-01 9.50 %

Hoe zet je dit nu het best in een databasetable?

Zoiets denk ik:
CREATE TABLE rente (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
percentage VARCHAR(10),
start DATE,
end DATE
);

Alleen weet ik niet of percentage VARCHAR wel handig is. Kan dit niet beter INT of DOUBLE zijn?
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Joren de Wit

Joren de Wit

29/01/2009 15:58:00
Quote Anchor link
Om te beginnen is een percentage een decimaal getal, dus dat zou een DECIMAL worden. Verder zit je met je begin- en einddatum wel goed...
 
The Ultimate

The Ultimate

29/01/2009 16:03:00
Quote Anchor link
Dit is de table voorlopig:

CREATE TABLE `rente` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`percentage` DECIMAL NOT NULL ,
`start_date` DATE NOT NULL ,
`time_secs` INT( 255 ) NOT NULL COMMENT 'the number of seconds since January 1 1970 00:00:00 UTC'
) ENGINE = MYISAM ;

@Blanche:
Ik heb er DECIMAL van gemaakt. Overigens heb ik niet gekozen voor een einddatum, dit omdat het voor problemen kan zorgen met het rekenen ermee. Ik denk namelijk dat de beste manier is om te kijken of een bepaalde datum via strtotime() groter is dan time_secs in de ene row en kleiner dan een time_secs uit een andere row. Eigenlijk heb je dan dus ook de 'start_date' niet nodig, maar ja....

Als jij hier anders over denkt dan hoor ik dat uiteraard ZEER graag...!!
 
Joren de Wit

Joren de Wit

29/01/2009 16:24:00
Quote Anchor link
Dat je een kolom end_date niet nodig hebt, valt inderdaad te beargumenteren. De end_date zou immers samen vallen met een start_date van een ander record.

Maar de kolom time_secs zou ik wel overboord kieperen. Het lijkt misschien leuk om die waarde in je tabel te hebben staan, maar je kunt dit net zo goed berekenen op het moment dat je hem nodig hebt.

Verder zou ik de meeste van je berekeningen wat betreft datums, verplaatsen naar je sql queries. Rekenen met data en tijdens is nu eenmaal veel eenvoudiger in de database dan in PHP. Om nu verder te gaan, zou de volgende tabel dus voldoen:

rente
------
id
percentage DECIMAL
start_date DATE

Als je nu enkel on-the-fly berekeningen wilt uitvoeren is het nog niet nodig om de ingevoerde perioden (en hoofdsommen) op te slaan. Maar het zou kunnen dat je later besluit om deze gegevens toch op te slaan, al is het maar voor de statistiek. Vanuit dat oogpunt zou ik dan ook voor de InnoDB engine kiezen ipv MyISAM, dan ben je later in staat om er een relationele database van te maken.

Tenslotte nog een punt. Je geeft wel een lijst met percentages per periode, maar hoe worden die rentes toegepast? Is dat het rentepercentage per dag in die periode of is dat het percentage over de gehele periode. En verder, zoals ik ook al opmerkte in mijn vorige post, denk ik dat het verstandiger is om eerst de effectieve rente op jaarbasis te berekenen voordat je met de hoofdsom gaat rekenen.
 
RvW Of toch niet

RvW Of toch niet

29/01/2009 16:25:00
Quote Anchor link
Bart schreef op 29.01.2009 16:03:
Dit is de table voorlopig:


ik dacht juist precies anders om je hebt geen eind tijd nodig....
want starttijd heb je juist wel nodig!
want het is namelijk van af en bepaalde datum tot NOW()
 
Joren de Wit

Joren de Wit

29/01/2009 16:26:00
Quote Anchor link
rvw schreef op 29.01.2009 16:25:
want het is namelijk van af en bepaalde datum tot NOW()
Niet noodzakelijk, zie ook de operking daarover in mijn vorige post ;-)
 
The Ultimate

The Ultimate

29/01/2009 16:48:00
Quote Anchor link
@Blanche:
Heb de table naar jouw advies gemaakt. Ik heb de ENGINE veranderd (weet hier zelf weinig vanaf, maar geloof je direct).

Wat betreft de rentepercentages: daar ben ik nog niet helemaal zeker van hoe deze dienen te worden berekend. Ik ben geen wiskundige en hoop dat iemand weet wat de juiste manier daartoe is.

Zelf zit ik aan zoiets te denken:

(aantal dagen / 365) * percentage = rente tot aan einde renteperiode

+

(aantal dagen / 365) * percentage = rente tot aan einde renteperiode

+

(aantal dagen / 365) * percentage = rente tot aan end_date
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Joren de Wit

Joren de Wit

29/01/2009 17:23:00
Quote Anchor link
Hehe nee, het berekenen van rentes zit iets ingewikkelder in elkaar. Vandaar dat ik ook vroeg op wat voor basis die rentes gesteld zijn, dus rente per dag in de betreffende periode of dat het genoemde percentage de rente over de hele periode is.

En bovendien hangt het er ook zeker vanaf welk bedrag je als basis voor de geldende rente percentages neemt. Verreken je de verkregen rente direct in het basisbedrag of doe je dat slechts op 1 moment en gebruik je dus hetzelfde basisbedrag.

Een aantal kleine voorbeeldjes om de verschillen aan te duiden (2 perioden met percentages van resp. 4% en 5%, basisbedrag 1000):

- Rentepercentage geldt per periode, basisbedrag wordt telkens bijgesteld:
Effectieve rente: 1.04 * 1.05 = 1.092 (= 9.2%)
Uiteindelijke som: 1.092 * 1000 = 1092 (= +92)

- Rentepercentage per periode, basisbedrag niet bijgesteld maar pas aan einde verwerkt:
Effectieve rente: 4% + 5% = 9%
Uiteindelijke som: 1.09 * 1000 = 1090 (= +90)

En zo kun je nog wel even door gaan met voorbeelden van als de rente bijvoorbeeld per dag zou gelden. En je kunt je ook wel voorstellen wat voor invloed dat kan hebben op de uitkomst. Het lijkt me dus wel slim om voor jezelf vast te stellen hoe die rente nu precies berekend moet worden ;-)
 
The Ultimate

The Ultimate

29/01/2009 17:34:00
Quote Anchor link
Je moet inderdaad onderscheid maken tussen rente met bijvoorbeeld een periodieke (jaarlijkse) opslag en cumulatieve rente (renteopslag per dag).

De renteopslag (zoals ik dat noem) die vindt eens per jaar plaats en wel precies 1 jaar na de start_date, dus:

hoofdsom = 200.00
start_date = 25-11-1981
renteopslag = 25-11-1982

bij een rentepercentage van 7% reken je dus vanaf 25-11-1982 met een hoofdsom van 214.00 lijkt mij.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Stephan Vierkant

Stephan Vierkant

14/09/2011 12:41:47
Quote Anchor link
Ik ben nu op zoek naar hetzelfde script. Is er al ergens een script verschenen? Ben benieuwd!
 
Jorgen dijk

jorgen dijk

07/04/2014 12:50:04
Quote Anchor link
Misschien dat je hier iets aan hebt.
Zelf ben ik ook bezig met een scrip hiervoor.
Helaas kan ik dit niet tonen omdat deze gekoppeld word met ons systeem.
Wel heb ik onderaan een stukje toegevoegd om een csv bestand uit te lezen.
Dit kan je gebruiken om de wettelijke rente van wettelijkerente.net af te halen.


startbedrag: 1000,-
Jaarrente: 7.75%
Aantal dagen te laat betaald: 31 dagen

31 / 365 X (0.0775 X 1000) = 6.58

!--0,0849315068493151 X 77.5 = 6,582191780821918--!

onderste berekening is wat werkelijk gebeurd.
Het bedrag wordt afgerond.


wanneer aantal dagen te laat groter is dan 365 dan:
aantal dagen te laat betaald: 380
Jaarrente jaar 2011: 7.75%
Jaarrente jaar 2012: 5.25%

----------------------------2011---------------------------------
365 X (0.0775 X 1000) = 77.5
77.5 + 1000 = 1077.5

----------------------------2012--------------------------------- 15 / 365 X (0.0525 X 1077.5) = 2.33

!--0,0410958904109589 X 56,56875 = 2,324743150684932--!

Waarbij het eindbedrag komt op:

1077.5 + 2.33 = 1079,83


2012 is een schrikkeljaar dus bovenstaande berekening klopt niet.
Als schrikkeljaar 1 is dan is een jaar: 366
Met gevolgen dat de berekening er zo uit ziet:

----------------------------2011---------------------------------
365 X (0.0775 X 1000) = 77.5
77.5 + 1000 = 1077.5
----------------------------2012---------------------------------
15 / 366 X (0.0525 X 1077.5) = 2.32

!--0,040983606557377 X 56,56875 = 2,318391393442623--!

Waarbij het eindbedrag komt op:

1077.5 + 2.32 = 1079,82

------ Het stukje script ----
$fp = fopen("$filename","r");
$rente = array();
$x = 0;
while(! feof($fp))
{
$rente[$x] = fgetcsv($fp,"0",";");
$x++;
}
fclose($fp);
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.