Heb een vraag over factuurnummering
Ik heb een vraag, ik ben bezig met een webwinkel.
ik heb mijn website bijna af, maar mis alleen nog een functie voor factuurnummers.
Ben al een tijdje bezig en op zoek naar een uitleg met MySQL,maar ik kom er echt niet meer uit.
Kan iemand mij misschien een zetje geven in de goeie richting?
Gewijzigd op 20/01/2014 10:43:37 door - Ariën -
Wat moet je precies doen met de factuurnummers?
Het meest eenvoudige is een PK met een auto increment erop.
Dat een script of mysql een nummer maakt.
Factuurnummer is het mooist met het jaar tal er voor en 4 nullen er achter.
Dan de sql:
Als de laatste factuur van 2013 was 2013-901
dan is de eerste van 2014-902
dan is het nummer gewoon de YEAR() van de factuurdatum + de PK (id)
Voordeel daarvan, is dat het ook precies duidelijk is dat er aan het einde van het jaar geen facturen verdwijnen.
Er zijn discussies te vinden op forums die dit ook zo stellen.
Want wie bewijst de belastingdienst dat er geen 2013-902 of zelfs 2013-999 bestond?
Alvast bedankt.
Dat hoeft ook helemaal niet bewezen te worden, ik ken zelfs bedrijven die op jaar/maand nummeren, en de belastingdienst heeft daar helemaal niets op tegen.
Ger van Steenderen op 20/01/2014 10:47:09:
Dat hoeft ook helemaal niet bewezen te worden, ik ken zelfs bedrijven die op jaar/maand nummeren, en de belastingdienst heeft daar helemaal niets op tegen.
Dat het vaak anders wordt gedaan, maakt het nog geen "best practice": de Nederlandse Belastingdienst zegt wel degelijk dat je uitgereikte facturen bij voorkeur doorlopend nummert.
Op jaarbasis de facturen nummeren is meer regel dan uitzondering, en ik denk dat je eerder in de problemen komt als je een factuurnummer hebt 2014.609 en 2013.608.
Handboek ondernemen 2013 pagina 39: “De ontvangen en uitgeschreven facturen moet u doorlopend en opeenvolgend nummeren.”
Gewijzigd op 20/01/2014 17:11:50 door Ward van der Put
Als je een paar duizend facturen per maand uit geeft, wil je toch wel overzicht houden.
Toevoeging op 26/01/2014 10:21:50:
Sorry -Aar- zal er volgende keer omdenken.
Gewijzigd op 26/01/2014 21:47:48 door Aad B
Maar wist niet dat MySQL zo ingewikkeld was.
:) newbie
Die heb ik erin gezet om rekening te houden met een Multi-user omgeving, heb je dat niet kan je het ook gewoon in je applicatie regelen.
En heb u voorbeeld gebruikt en aangepast.
Maar zo ver ik het nu begrijp, van u voorbeeld is dat het alleen nog maar het aansturen is van 'b_seq_no' om van 001 -> 002 te maken.
En dan moet ik via php het weer opvragen met $result?
Toevoeging op 05/02/2014 16:59:49:
$sql="SET b_seq_no = (SELECT COALESCE(MAX(b_seq_no), 0) + 1 FROM tabelnaam WHERE b_year = YEAR(CURRENT_DATE) FOR UPDATE)";
$sql="INSERT INTO tabelnaam (b_year, b_seq_no) VALUES (YEAR(CURRENT_DATE), tabelnaam, '".$b_factuurnummer."')";
Toevoeging op 05/02/2014 17:01:16:
Misschien rare vraag maar staat dit goed zo?