# Changelog — ZZP Opstartplan HHC ## v1.0 — 30 april 2026 - Initiële versie: Compleet ZZP opstartplan (12 hoofdstukken + 5 bijlagen) - DOCX gegenereerd met JG Consultancy branding ## v1.1 — 30 april 2026 (18:59 UTC) - Volledige revisie: HHC → HSEQ, fulltime → deeltijd ZZP naast loondienst - Nieuwe focus: Phoenix Metals (1-2 dagen/week) + Wintershall (payroll) - Kritiek urencriterium-hoofdstuk toegevoegd (1.225 uur) - Wet DBA risico bij één opdrachtgever uitgebreid behandeld - Voorbeeldberekening aangepast naar combinatie loondienst + ZZP - Wintershall-check toegevoegd (nevenwerkzaamheden, concurrentiebeding) ## v1.2 — 30 april 2026 (19:45 UTC) - Update: twee ZZP-opdrachtgevers (Phoenix Metals + Club of Engineers) - Elke opdrachtgever 1 dag/week - Wet DBA risico lager door meerdere opdrachtgevers - Urencriterium berekening geüpdatet (2 dagen + overhead) - Voorbeeldberekening aangepast naar 2 opdrachtgevers ## v1.3 — 30 april 2026 (20:30 UTC) - Wintershall nevenwerkzaamheden: gecheckt en akkoord (geen nadelig effect voorwaarde) - Risicomatrix geüpdatet: Wintershall risico verlaagd naar LAAG - Checklist sectie hernoemd naar 'Wintershall — Akkoord' - HR email tip toegevoegd ter documentatie ## v1.4 — 30 april 2026 (20:40 UTC) - Actuele cijfers ingevuld: Wintershall €125.000/jaar (incl. 13e mnd + bonussen) - Uurtarief vastgesteld: €100/uur bij beide opdrachtgevers - Voorbeeldberekening bijgewerkt: totaal inkomen ~€197.000 (hoogste Box 1 schaal) - Belastingreserve advies verhoogd naar 40-45% ## Bijlage Document — 30 april 2026 (21:00 UTC) - Nieuw document: Contracten, Templates & AI-Tools v1.0 - Bevat: 2 modelovereenkomsten, factuurtemplates, boekhoudkundige templates, AI-tools overzicht ## v2.0 — 1 mei 2026 (08:00 UTC) - Versie 2.0: Generieke versie zonder persoonlijke salarisbedragen - Voorbeeldberekeningen gebruiken variabelen (€X) i.p.v. concrete bedragen - Structuur en inhoud verder gelijk aan v1.4 ## v3.0 — 29 juli 2026 - Fiscale advisering ZZP belastingaftrek gegenereerd (DOCX, 137 KB) - 7 hoofdstukken, 5 tabellen, JvG branding, compliance checklist - Instructie: 1 dag/week behouden bij stop na 2 jaar (Optie B aanbevolen) - Bronnen: Belastingdienst, Wet DBA, MKB-winstvrijstelling ## App update — 25 augustus 2026 (14:30 UTC) — factuur-upload bij kosten - app.py: factuur (PDF/PNG/JPG/WEBP, max 10 MB) uploaden bij kosten toevoegen én bewerken - Nieuwe kolom expenses.invoice_file (additieve migratie in init_db, backup vooraf) - Nieuwe route /zzp/expenses/invoice/: factuur inline bekijken in browser (📎 in kostenlijst) - Ongeldige bestanden worden afgewezen met foutmelding; kost wordt dan niet opgeslagen - Verwijderen van een kost verwijdert ook het factuurbestand (opslag: app/data/invoices/) - Backups: app.py.bak.20260825-1426, archive/app.py_v-pre-invoice-upload.20260825-1426.py, zzp.db.bak.20260825-1426 - PM2: interpreter vastgezet op /usr/bin/python3 (hermes-venv op PATH brak de herstart; pm2 save uitgevoerd) - End-to-end geverifieerd: upload, view (HTTP 200, application/pdf), afwijzing .exe, delete + bestandsopruiming ## App update — 26 augustus 2026 (06:35 UTC) — vaste kosten + snelinvoer + export - Vaste kosten-module: terugkerende kosten definiëren op de Kosten-pagina (naam/categorie/dag/bedragen), per maand boeken met 1 klik of "boek alles", pauzeren/verwijderen; dashboard-herinnering zolang niet geboekt - Nieuwe tabel recurring_expenses + kolom expenses.recurring_id (additieve migratie, backup vooraf) - Duplicaat-preventie: vaste kost max. 1× per maand boekbaar (per recurring_id + maand) - BTW-snelinvoer in kostenformulier: incl.-bedrag + 21%/9%/0%-knop berekent excl. en BTW automatisch - CSV-export (jaar of kwartaal) op de Kosten-pagina — puntkomma's, komma-decimalen, BOM voor Excel - "Kopieer vorige maand"-knop: kopieert kosten van vorige maand naar huidige (facturen blijven achter; duplicaat-guard op omschrijving+categorie+bedrag) - Bugfix: "Openstaande acties"-kaart dashboard checkte data.alerts i.p.v. alerts — waarschuwingen (achterstallige facturen, BTW-deadline) werden nooit getoond; nu incl. doorkliklink - Backups: app.py.bak.20260826-0631, archive/app.py_v-pre-recurring.20260826-0631.py, zzp.db.bak.20260826-0631 - End-to-end geverifieerd: aanmaken/boeken/duplicaat-preventie, export jaarkwartaal, kopieerfunctie + guard, dashboard-alert, formulier-render, publieke URL ## App update — 26 augustus 2026 (09:45 UTC) — afschrijvingsstaat investeringen - Nieuwe kaart "🏗️ Afschrijvingen (investeringen)" op de Kosten-pagina: investeringen registreren (naam, categorie, aanschafdatum, bedrag excl. BTW, duur in jaren) met lineaire afschrijving - Methode: restwaarde € 0, vanaf maand van aanschaf (eerste jaar pro rato, laatste jaar exact restant — som klopt altijd op de aanschafwaarde) - Toont per investering: per jaar / dit jaar / boekwaarde per 31-12 (✅ bij volledig afgeschreven), totaalrij, en compacte staat-per-jaar-tabel - Dashboard: nieuwe kaart "🏗️ Afschrijving dit jaar" (bestaande winst-cijfers bewust ongewijzigd) - CSV-export van de volledige staat (per investering per jaar) — zelfde formaat als kosten-export - Nieuwe tabel assets (additief, backup vooraf: app.py.bak.20260826-0941 / zzp.db.bak.20260826-0941) - End-to-end geverifieerd: € 1.200 / 3 jr / maart → 333,33 + 400,00 + 466,67 = exact 1.200,00; weergave Kosten-pagina en dashboard, CSV-export, verwijderen; testdata weer opgeruimd ## App update — 26 augustus 2026 (10:45 UTC) — afschrijving in winstberekening - "Winst dit jaar" op het dashboard verwerkt nu de afschrijving van dit jaar (omzet − directe kosten − afschrijving), met subregel "inclusief afschrijving € X" onder het bedrag - Jaaroverzicht op de Kosten-pagina: extra regels "Jaar" (totalen), "Afschrijving {jaar}" en "Winst na afschrijving" — transparant zichtbaar als aparte post - Geverifieerd: 0 − 1.241,93 − 333,33 = −1.575,26 op beide pagina's; testinvestering weer verwijderd - Backup vooraf: app.py.bak.20260826-1039 / zzp.db.bak.20260826-1039