Archiveer je documenten automatisch met Hazel

Tegenwoordig krijgen we — gelukkig — steeds meer documenten direct digitaal aangeleverd.

Dankzij standaarden als UBL, of zelfs Simplerinvoicing, is het steeds makkelijker om bijvoorbeeld inkomende facturen te verwerken.

Toch zul je ook nog menig PDF ontvangen met een naam als "Factuur.pdf". Die kun je dan netjes in je boekhoudpakket zetten (mijn tip blijft Moneybird), maar waarschijnlijk wil je het zelf ook nog ergens "los" archiveren.

Dit archiveren kun je heel snel en foutloos laten doen. Gewoon door je computer. Automatisch!

Wat is het doel van deze automatisering?

Voor we beginnen aan onze automatisering gaan we eerst kijken wat het doel is. In dit geval krijgen een factuur, of vergelijkbaar digitaal document, binnen als PDF en willen we:

  • Het document factuur bewaren in het juiste mapje
  • Met een logische naam (volgens een vast sjabloon)
  • Optioneel: een Finder tag toekennen

En dit willen we natuurlijk doen zonder zelf een uur per week te reserveren om documenten correct te gaan hernoemen en verplaatsen. Waarschijnlijk zijn er dingen waar jij veel meer waarde levert, die je dus beter kunt doen.

Dan kun je het uitbesteden, maar we gaan nooit iets uitbesteden wat we ook kunnen automatiseren.

Wat hebben we nodig om documenten automatisch te archiveren?

We hebben natuurlijk weer verschillende opties tot onze beschikking. Het makkelijkste is het gebruik van Hazel, in ieder geval als je een Mac hebt.

Hazel kan een map in de gaten houden voor wijzigingen, en automatisch actie ondernemen als er iets gebeurt.

Voor deze situatie wil je zorgen dat je downloads altijd in hetzelfde mapje komen (dit zal standaard de map "Downloads" zijn in je thuismap), zodat Hazel die map in de gaten kan houden.

En als laatste moeten we weten hoe we de verschillende facturen kunnen herkennen. Daar gaan we zo in meer detail naar kijken.

Dus, even resumeren:

  • Hazel
  • Een vaste download-map
  • Herkenbare punten in de factuur

Met die drie dingen bij de hand kunnen we nu aan de slag.

Hoe kunnen we documenten automatisch organiseren?

Om deze automatisering daadwerkelijk te maken beginnen we door een nieuwe regel te maken in Hazel, wat we doen per factuur. Zoals vaak met automatisering: het is één keer even wat werk, maar daarna betaalt het zich terug. Een investering dus, en daar hoeven we niet bang van te zijn. 😉

Hoe de regels, en de acties, er precies uit zien hangt af van twee zaken: hoe je inkomende factuur er uit ziet (qua bestandsnaam, en unieke kenmerken in de factuur), en hoe je wilt dat het eindresultaat is.

Ik neem hier als voorbeeld een factuur die je krijgt van Strategisch Lui, die er uit ziet als "Factuur 2022-5843.pdf". Het eindresultaat bespreken we straks.

In deze regel nemen we de volgende punten op bij de conditie (de "als"):

  • KindisPDF
  • _Name_— Starts withFactuur
  • ContentContain — _3801_
  • ContentContainStrategisch Lui

We maken vervolgens twee acties aan (de "dan"), waar we ook enkele variabelen gebruiken. Deze worden in Hazel weergegeven in een blauwe ovaal, en kun je ivnoegen door te klikken op het relevante tekstje onder het sjabloon.

Dit zijn speciale stukjes tekst die automatisch vervangen worden. In plaats van "date created" komt er bijvoorbeeld de datum dat het bestand aangemaakt is.

  • Rename with pattern Strategisch Lui – [date created] – [name][extension]
  • Move — Documenten/inkoop

"Name" verwijst hier naar het deel van de de bestandsnaam voor de ".", en "extension" is alles vanaf de punt (inclusief de punt zelf). Dus bij "Factuur 2022-5843.pdf" is de naam "Factuur 2022-5843" en de extensie ".pdf".

Je Hazel regel zou er aan het einde ongeveer zo uit moeten zien

Je Hazel regel zou er aan het einde ongeveer zo uit moeten zien

Nu gaan we nog even een paar bijzondere dingen doen met de variabelen in de Rename-actie:

  • Klik op de "Date Created" en stel het datum formaat hier in zodat het er uit ziet als "jaar-maand-dag" (1999-12-31)

  • Vervolgens klik je op het pijltje bij name en selecteer je "Replace Text".

    We willen namelijk niet de hele bestandsnaam, omdat het "Factuur"-deel voor zich spreekt. We vervangen de tekst "Factuur " door … Niets. Zo maken we van "Factuur 2030-0142" simpelweg "2018-0142".

Dit zorgt er voor dat het document eerst hernoemd wordt naar "Strategisch Lui – 2022-12-25 – 2022-5843.pdf" en daarna verplaatst wordt naar de map "Documenten/inkoop/". (De datum en het factuurnummer zijn hier dynamisch, dankzij de variabelen in Hazel.)

Als jij je inkoopfacturen op een andere plek opslaat, of een ander sjabloon wilt gebruiken voor de PDF, kun je dat zelf invullen.

Maar laten we eerst eens beter kijken naar de condities en acties.

We willen de variabelen nog een paar opties meegeven, zodat ze precies goed zijn voor ons sjabloon

We willen de variabelen nog een paar opties meegeven, zodat ze precies goed zijn voor ons sjabloon

Hoe werken deze Hazel regels?

We beginnen met de condities. Wat doen we hier nu precies?

Eerst kijken we of het wel een PDF-bestand is. Andere bestanden hoeven we niet.

Dan kijken we naar de naam van het bestand, om te zien of dat start met "Factuur". Als dat niet zo is hebben we ook geen interesse in het bestand.e

De inhoud van een bestand bekijken met Hazel

Maar als we een PDF-bestand hebben wat begint met het woord "Factuur" wordt het interessant. Dan gaan we ook de inhoud van het bestand bekijken.

Hier zoeken we naar 3801, wat in dit fictief voorbeeld ons klantnummer is, en dus een goede manier om dit document uniek te identificeren. Toch zoeken we voor de zekerheid ook nog naar "Strategisch Lui" om te voorkomen dat we per ongeluk een keer een factuur gaan hernoemen waar iemand het telefoonnummer "063801123" heeft.

Je zult dus wel per factuur enkele specifieke regels moeten vinden, waarmee je deze factuur kunt herkennen. Als je een betalingskenmerk kunt krijgen op de factuur is dat ideaal, en anders gebruik je trucjes als het combineren van een klantnummer met de bedrijfsnaam of bijvoorbeeld hun rekeningnummer.

Via de "Preview"-knop in Hazel kunnen we zien of een bepaald bestand zou voldoen aan de voorwaarden

Via de “Preview”-knop in Hazel kunnen we zien of een bepaald bestand zou voldoen aan de voorwaarden. Dit maakt het makkelijk om te testen welke regel je eventueel moet aanpassen.

Wat doen de acties?

In de acties doen we twee dingen: we hernoemen het bestand, naar een sjabloon wat er abstract gezien zo uitziet: Bedrijfsnaam - DatumFactuurGemaakt - FactuurNummer.pdf.

Daarna verplaatsen we het bestand naar het mapje inkoopfacturen, en dan in het juiste jaartal, met een map per bedrijf.

De datum dat de factuur gemaakt is en het factuurnummer zijn verschillend per keer, maar je wilt niet elke keer de Hazel regel gaan bijwerken.

Om te zorgen dat dit toch automatisch blijft werken gebruiken we daarom de variabelen, die automatisch aangepast worden. Overal waar we "Date Created" zeggen weet Hazel dat we de datum willen dat het bestand is aangemaakt. In dit geval is dat de factuurdatum.

Dergelijke variabelen zijn heel krachtig in allerlei automatisering, en dus ook in Hazel, omdat dit er voor zorgt dat je ook dingen waar delen van het proces dynamisch zijn door de computer kunt laten doen.

Wil je ten slotte ook nog een Finder tag toekennen? Of bijvoorbeeld een tag in plaats van een map per bedrijf? Dat laat ik even als oefening voor jou over. 😉

(Maar ik zal je een hint geven: er is een "Add Finder Tags"-actie in Hazel… En mail me gerust als je er niet uit komt.)

Download de Hazel regel

Heb je Hazel geïnstalleerd en wil je deze regel gebruiken als startpunt voor je eigen automatisering in Hazel? Dan kun je de regel hier ook gewoon downloaden en importeren. Even aanpassen voor je eigen gebruik, en je kunt zo aan de slag!

Download de regel hier (gratis).

[voornaam]
[voornaam]
[emailadres]
[emailadres]
[submit]
[submit]
[submit]
[submit]
[formId]
[formId]
[return]
[return]
[formName]
[formName]
[voornaam]
[voornaam]
[emailadres]
[emailadres]
[submit]
[submit]
[submit]
[submit]
[formId]
[formId]
[return]
[return]
[formName]
[formName]
[voornaam1]
[voornaam1]
[email1]
[email1]
[submit]
[submit]
[submit]
[submit]
[formId]
[formId]
[return]
[return]
[formName]
[formName]
[voornaam1]
[voornaam1]
[email1]
[email1]
[submit]
[submit]
[submit]
[submit]
[formId]
[formId]
[return]
[return]
[formName]
[formName]