Naar de inhoud

Programmeren

Rapporten en pdf's: je gegevens worden vanzelf een net document

Een factuur, een offerte, een picklijst voor het magazijn of een rapport over een pand. In veel bedrijven gaat dat nog met de hand: gegevens opzoeken, kopiëren, plakken in een sjabloon en dan opslaan als pdf. Een programma kan dat voor je doen. Het pakt de gegevens die je al hebt en maakt er in een tel een net document van, elke keer in dezelfde opmaak en in je eigen huisstijl. Op deze pagina lees je hoe dat werkt en waar wij het zelf voor gebruiken. Het hoort bij onze uitleg over programmeren.

Wat is een rapport of pdf uit je gegevens?

Een pdf is een bestand dat er op elk scherm en op papier hetzelfde uitziet. Daarom gebruik je het voor alles wat je wilt bewaren, versturen of printen.

Vergelijk het met een stempel. Met de hand schrijf je elke keer het adres van je bedrijf boven een brief, en elke keer ziet het er net iets anders uit. Met een stempel zet je het in één beweging neer, en het ziet er elke keer hetzelfde uit. Een programma dat pdf's maakt, is zo'n stempel, maar dan voor het hele document. Het legt de opmaak één keer vast: je logo, je kleuren, je lettertype, waar de tabel staat, wat er onderaan komt. Daarna vult het programma alleen nog de gegevens in.

Die gegevens staan meestal al ergens. In je administratie, in je voorraadsysteem, in je webshop of bij een openbare bron. Het programma haalt ze op, rekent waar nodig (btw, totalen, gemiddelden) en zet alles op de goede plek. Wil je ook een grafiek of een kaart, dan tekent het programma die erbij.

Wij schrijven zulke programma's in Python, een programmeertaal die we voor bijna al ons werk gebruiken. Voor de pdf zelf gebruiken we een paar bekende bouwstenen van anderen: reportlab en fpdf2 (die maken de pdf), pypdf (die voegt pdf's samen of legt er iets overheen) en matplotlib (die tekent grafieken).

Waar wij het voor gebruiken

We gebruiken het zelf elke dag. Dit zijn de voorbeelden uit ons eigen werk.

Het rapport van PandInfo. PandInfo is een web-app: typ een adres in en je ziet wat er officieel bekend is over dat pand. Het hele rapport kun je ook als pdf krijgen. Die pdf maakt het programma zelf, op A4, met reportlab. Er zit een voorblad in, een inhoudsopgave, bladwijzers en paginanummers. Bij elk onderdeel staat de bron. Er staan kaarten in, zoals de kadastrale kaart, een luchtfoto met de perceelgrenzen en een oude kaart van de omgeving. Die haalt het programma op bij openbare kaartdiensten. De grafiek van de verkoopprijzen tekent het met matplotlib. Andere kleine grafieken worden één keer getekend en komen zowel in de pdf als op de webpagina, zodat die er hetzelfde uitzien.

Makelaars kunnen het rapport in hun eigen huisstijl krijgen: met hun eigen logo, hun eigen kleuren, een eigen foto en een eigen voorwoord op het voorblad, en hun contactgegevens onderaan elke pagina. Het programma kijkt ook of de gekozen kleuren goed leesbaar blijven. Is een hoofdkleur te licht voor witte tekst, dan krijgt de makelaar een melding. Koopt iemand een rapport, dan komt de bevestiging van die aankoop als laatste onderdeel in dezelfde pdf. Een bewaard rapport kan later precies zo opnieuw als pdf gemaakt worden.

Facturen en offertes van Broer Collective. Onze eigen administratie op broercollective.com maakt facturen en offertes als pdf, met reportlab. Elke factuur krijgt een doorlopend nummer per jaar. Een factuur die nog niet klaar is, krijgt het woord CONCEPT erover. Maken we hem definitief, dan krijgt hij een nummer en maakt het programma de pdf één keer. Die pdf wordt bewaard en verandert daarna niet meer. Kan de klant online betalen, dan staat er een QR-code op: de klant scant hem met zijn telefoon en betaalt meteen. Bij een factuur met 0% btw of btw verlegd zet het programma zelf de tekst erop die de wet vraagt. Bij een offerte gaan onze algemene voorwaarden als pdf mee. Ook die pdf maakt een programma, uit de tekst van de voorwaarden. Een test kijkt daarna na of de woorden in de pdf precies dezelfde zijn als in de tekst.

Een pakket voor de boekhouder. Voor de bewaarplicht maakt de administratie per periode, bijvoorbeeld een kwartaal, één zip-bestand: een soort map met alles erin. Daarin zitten de pdf's van de facturen precies zoals ze zijn verstuurd, plus een overzicht en alle factuurregels als lijst die je in Excel kunt openen.

Facturen, labels en picklijsten in Voorraadsysteem.com. In Voorraadsysteem.com, onze voorraadsoftware, maken we pdf's met fpdf2 en pypdf:

  • Vraagt een klant bij bol om een factuur, dan maakt het systeem die als pdf. Een concept staat al klaar zodra de bestelling binnenkomt. Met een klik gaat hij naar bol.
  • Alle facturen van een jaar download je in één zip-bestand, voor de aangifte.
  • Een picklijst op A4, om vast te houden tijdens het picken in het magazijn.
  • Verzendlabels van MyParcel of bol worden samengevoegd tot één pdf, zodat je ze in één keer print. Bovenaan elk label zet het systeem een smalle strook met het aantal artikelen en hun EAN-codes (de nummers onder de streepjescode). Lukt die opdruk niet, dan komt het gewone label eruit: liever een label zonder strook dan geen label.
  • Voor gewone briefpost maakt het systeem zelf een adreslabel, zonder vervoerder.

Wat het oplevert

  • Geen knip- en plakwerk meer. De gegevens staan al in je systeem. Het programma zet ze op de goede plek. Jij hoeft niets over te typen.
  • Elke keer dezelfde opmaak, in je huisstijl. Je logo, je kleuren en je lettertype staan op elke pagina op dezelfde plek. Of je er nu één maakt of honderd.
  • Minder fouten. Een programma rekent de btw en de totalen elke keer op dezelfde manier uit. En wat je niet overtypt, kun je ook niet verkeerd overtypen.
  • Snel. Bij PandInfo staat een pdf er binnen een paar seconden.
  • Netjes bewaard. Een factuur die je hebt verstuurd, bewaart het programma precies zoals hij was. Zo zit in het pakket voor je boekhouder dezelfde pdf die je klant kreeg.

Zo bouwen we het

  1. Je laat zien wat je nu maakt. Een factuur, een rapport, een lijst. Het liefst een voorbeeld van hoe het eruit moet zien, en waar de gegevens nu staan.
  2. We maken de opmaak. Je logo, je kleuren, je lettertype en wat er op elke pagina moet staan. De letters zitten in het programma zelf en komen niet van een andere site.
  3. We koppelen de gegevens. Uit je administratie, je voorraad, je webshop of een openbare bron. Soms is daar een koppeling voor nodig. Daarover lees je meer bij API's en databases.
  4. We testen met verzonnen gegevens. Die hebben dezelfde vorm als jouw gegevens: lange namen, rare tekens, een lege regel, een bedrag met veel cijfers achter de komma. Met je echte gegevens kijkt je broer zelf of alles klopt.
  5. We zetten het live. We bouwen met hulp van AI. Elke wijziging gaat eerst door onze tests. Daarna leest een aparte AI-hulp alles nog eens na, en live gaat het pas na het akkoord van je broer. Gegevens die jij in je systeem bij ons zet, delen we niet met de AI-hulp waarmee we bouwen.

Moet het programma blijven draaien, bijvoorbeeld omdat je klanten zelf een rapport opvragen? Dan staat het op onze eigen server, in een datacenter binnen de EU. We houden in de gaten of alles draait, en grijpen in als het nodig is. Meer daarover bij hosting en beheer.

Wat jij ervan merkt

Je drukt op een knop, of het gebeurt vanzelf. Daarna heb je een pdf die je kunt downloaden, mailen of printen. Je klant ziet een net document met jouw naam en logo erop. Je boekhouder krijgt in één keer wat hij nodig heeft. En jij bent niet meer een uur bezig met kopiëren en plakken.

Wil je iets veranderen, zoals een nieuw logo of een extra regel onderaan? Dan passen wij de opmaak één keer aan. Vanaf dan staat het op elk nieuw document.

Wat het kost

Je krijgt altijd eerst een offerte. Een rapport of pdf uit je gegevens is een onderdeel op maat: vanaf € 650. Moeten de gegevens uit een ander systeem komen, dan is er soms ook een koppeling nodig: vanaf € 395, daarna € 10 per maand.

Moet het programma blijven draaien, dan zit het in een van onze pakketten. Kleine broer is vanaf € 19 per maand, plus eenmalig bouwen vanaf € 495. Grote broer is vanaf € 68 per maand, zonder opstartkosten. Hosting en controles zitten erin. Alle bedragen zijn exclusief btw. Alles op een rij staat bij de prijzen.

Wat we eerder bouwden

  • PandInfo. Een rapport over een adres, met kaarten, grafieken en een pdf. Makelaars krijgen het in hun eigen huisstijl.
  • Voorraadsysteem.com. Facturen voor bol, picklijsten en verzendlabels in één pdf.

Vaak gevraagd

Kan het in mijn eigen huisstijl?

Ja. Je logo, je kleuren en je lettertype komen op elke pagina. Bij PandInfo kiezen makelaars zelf hun logo en kleuren, en het programma kijkt of die goed leesbaar zijn.

Kan er ook een grafiek of kaart in?

Ja. Bij PandInfo staan er grafieken en kaarten in de pdf. Een grafiek tekent het programma zelf uit de cijfers. Een kaart kan van een openbare kaartdienst komen, als die voor jouw gebruik mag.

Kan ik mijn huidige sjabloon in Word of Excel blijven gebruiken?

Meestal bouwen we de opmaak opnieuw na in het programma. Dat is één keer werk. Daarna hoef je het sjabloon niet meer met de hand in te vullen.

Wat als er een fout in mijn gegevens staat?

Dan staat die fout ook in de pdf. Het programma rekent en zet neer wat er in je systeem staat. Daarom maken we bij facturen eerst een concept dat je kunt nakijken, voordat hij definitief wordt.

Kan het programma de pdf ook meteen mailen?

Ja, dat kan. Onze administratie mailt facturen en offertes met de pdf als bijlage. Of dat voor jou handig is, bespreken we samen.

Werk

Gemaakt door je broer

voorraadsysteem.com
Homepage van Voorraadsysteem.com op een computer: voorraad, kassa en koppelingen.
Voorraadsysteem.com op een telefoon.

002 · eigen software

Voorraad­systeem.com

Onze eigen software: voorraad, bestellingen, verzending, facturen en kassa in één omgeving, gekoppeld aan Shopify, bol en MyParcel. De basis onder alles wat we voor klanten bouwen.

  • Eigen software
  • Koppelingen
  • Kassa
voorraadsysteem.com ↗ Lees het verhaal
pandinfo.nl
De voorpagina van pandinfo.nl: een adres invoeren, zoeken op de kaart, en hoe het werkt.
De voorpagina van pandinfo.nl op een telefoon.

003 · webapp

PandInfo

Typ een adres en PandInfo zet binnen een paar seconden op een rij wat de overheid over dat pand weet: bouwjaar, oppervlakte, energielabel, bestemmingsplan, monument, bodem, funderingsrisico, verkoopprijzen en de buurt. In gewone taal, met de bron bij elk cijfer, en ook als pdf. Achter de schermen vraagt het tegelijk meer dan dertig openbare bronnen op, van het Kadaster tot de Omgevingswet.

  • Open overheidsdata
  • Koppelingen
  • Webapp
  • PDF-rapport
  • Omgevingswet
pandinfo.nl ↗ Lees het verhaal

Meer over programmeren

  • JavaScript

    JavaScript is de taal die in de browser van je bezoeker draait. Waar wij het voor gebruiken, en waarom we er zuinig mee zijn.

  • Databases

    Wat is een database en wat heb je eraan? Zo bewaren wij voorraad, bestellingen en facturen: met SQLite, op onze eigen server binnen de EU.

  • API's

    Wat is een API, wat is een sleutel en wat gebeurt er als een API even niet werkt? Uitgelegd in gewone taal, met voorbeelden uit ons eigen werk.

Contact

Bel je broer.

Liever eerst mailen? Ook prima. Je broer leest alles, en belt terug als het ingewikkeld wordt.

Eerst weten wat het kost?Alle prijzen staan op de site, vanaf € 19 per maand.