Project: Wettelijke rente berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

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 »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

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

23/11/2024 21:18:30
 
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.