Introductie
Sinds een aantal maanden krijgen klanten van Colruyt’s Collect& Go (de dienst waarbij boodschappen online worden besteld en ze dan op een zelf gekozen tijdstip afhaalt) met een Xtra kaart niet langer een kassa ticket mee naar huis bij hun aankopen. Colruyt kiest voor de digitale weg: bij elke aankoop krijg de klant een e-mailtje met het kasticket als bijlage (in PDF formaat) en niet langer een papieren print-out. Zowel economisch, ecologisch als praktisch lijkt me dit een goede aanpassing.
In deze blog post leg ik jou uit hoe je deze kastickets in jouw e-mail inbox automatisch kan bewaren in Google Drive op een gestructureerde manier.
- Automatisch: geen interventie nodig (‘set it and forget it’)
- Gestructureerd: met specifieke en unieke bestandsnaam, in een zelfgekozen mappenstructuur.
Context: waarom ik digitaliseer
Met een verhuis in het vooruitzicht, probeer ik steeds meer papieren te digitaliseren. Ik heb mappen vol facturen, aankoopbewijzen en noem maar op – deze mappen zijn zwaar, lelijk en nemen heel wat plaats in. Digitaliseren gebeurt hoofdzakelijk met Office Lens: een app van Microsoft voor iPhone of Android (heb je een beter alternatief, laat gerust weten in de reacties). Hierbij neem ik simpelweg een foto van een document en converteer deze naar PDF.
Deze digitaliseringsoefening leidde er toe dat ik algemeen meer ging nadenken over hoe ik data waarmee ik in aanraking kom kan digitaliseren en gestructureerd verwerken. Een leuk project leek me de e-mails die ik krijg van Colruyt met het kasticket van mijn aankopen via Collect&Go.

“Data is a precious thing and will last longer than the systems themselves.”.
– Tim Berners-Lee, inventor of the World Wide Web
Wat Tim (zie quote hierboven) zegt klopt helemaal en is ook het idee achter dit projectje. Hoewel het kasticket ook is te downloaden via de website van Colruyt, is het nooit zeker hoe lang deze data beschikbaar zal blijven, of in welke vorm. Dit zelf bewaren zorgt voor een bepaalde zekerheid.
Digitaliseren op zich is natuurlijk geen doel: het moet ergens waarde brengen. In mijn geval vind ik de waarde in volgende zaken:
- Prijzen vergelijken: het bijhouden van kasticket informatie stelt me in staat om prijzen van eenzelfde product over de tijd heen te vergelijken.
- De informatie geeft me inzichten in mijn aankoopgedrag.
- En ook zeer belangrijk: dit project is leerrijk, en ik kan het delen met jou 😉
Benodigdheden en waar we naar toe werken
Deze blog post is dus een soort ‘how-to’. We willen naar het volgende scenario toe werken:
- Winkelen bij Collect&Go
- E-mail ontvangen, met in bijgevoegd het kasticket in PDF formaat
- PDF (automatisch) opslaan in Google Drive
- Google Drive mappenstructuur wordt aangepast op basis van jaar/maand
- Bestandsnaam wordt aangepast op basis van sequentie
Je hebt nodig:
- Google account (@gmail.com of G Suite e-mail adres, met actieve Google Drive)
- Maximaal 20 minuten
Gmail bijlagen automatisch opslaan in Google Drive
Eerst gaan we in Gmail een filter maken, die de gewenst e-mails een label toewijst. Dan zal een script deze specifieke e-mails (i.e. van Colruyt) ophalen uit inbox, de PDF er uit halen, en vervolgens deze opslaan in jouw Google Drive (op een locatie naar keuze).
- Open Gmail web (https://mail.google.com) en log in
- In Instellingen, ga naar Labels en maak een nieuw label aan
- Maak nu een filter aan: from:([email protected]) subject:Kasticket has:attachment -in:chats en kies om jouw label toe te voegen voor alle mails die aan deze criteria voldoen. Vergeet niet een ster toe te wijzen aan e-mails die aan de filter voldoen.
- Klik hier om het Google Script bestand te openen. Via het menu maak je een kopie aan voor jezelf.
- In jouw kopie, pas de parameters aan voor jouw situatie:
- GMAIL_LABEL: jouw gekozen label in stap 2.
- GDRIVE_FILE: de locatie in Google Drive waar je de PDF bestanden wilt opslaan
- Klik op ‘Uitvoeren’, ‘Functie uitvoeren’, ‘mail’ en geef vervolgens de nodige toestemming aan jouw script om toegang te krijgen tot je Google Drive bestanden
- Om dit script recurrent te laten draaien, heb je een Trigger nodig. Klik op ‘Bewerken’, ‘Triggers voor huidig project’ en voeg een trigger toe (tijdsgebonden)
Parameters instellen in jouw script
$name | The original attachment name |
$ext | The file extension of the original attachment |
$domain | The domain part of the sender who sent the attachment |
$sublabel | The sub label(s) under your configured label where the message was found |
$y | Year the message was received at |
$m | Month the message was received at |
$d | Day the message was received at |
$h | Hour the message was received at |
$i | Minute when the message was received at |
$s | Second when the message was received at |
$mc | The message number in the thread, starting at 0 |
$ac | The attachment number in the thread, starting at 0 |
Bron voor dit project is: Splitbrain.org
With respect !!!