Proposals & Invoices · Article 5.1
La famille de documents Clozo : DEP, INV, STR, DCR, CRN, REC
Six types de documents composent la chaîne de facturation complète de Clozo. Chacun a un rôle juridique distinct en vertu de l'art. 220 de la directive TVA UE et du §14 UStG. Cet article cartographie quel document se déclenche quand et ce qu'il référence.
Un seul devis Clozo peut produire jusqu'à six types de documents différents au cours de son cycle de vie, selon ce qui se passe (avenants, remboursements, corrections d'acompte manuelles). Cet article est la carte. Pour les mécanismes approfondis de chacun, voir les articles 6.2 à 6.4 et la section 7 (avenants) / section 8 (remboursements).
dans la liste déroulante des Documents sur chaque page de détail du devis, les types de documents pertinents apparaissent au fur et à mesure de leur génération. Étiquettes de filtre dans la liste déroulante : « Devis », « Contrat signé », « Facture d'acompte », « Facture finale », « Avis d'annulation » (Storno), « Note de crédit », « Reçu ». Chacun est un lien R2 téléchargeable (CORS activé, pas d'authentification requise pour l'URL — le lien est impossible à deviner).
Why this works this way
Pourquoi autant de types de documents ? La loi TVA UE (Directive 2006/112/CE, Titre XI Chapitre 3) traite différents événements comme différents faits générateurs : un paiement anticipé est un fait générateur, la fourniture de services en est un autre, une réduction partielle du périmètre en est un autre. Chaque événement nécessite sa propre trace documentaire car chacun fait évoluer une responsabilité TVA. La plupart des outils pour freelancers réduisent cela à « une facture » et risquent d'enfreindre les règles nationales (en particulier §14 UStG en Allemagne, art. 220 de la directive UE, BTW art. 35a aux Pays-Bas, CGI art. 271-II en France).
La famille complète de documents (depuis apps/pdf/service.py et HELP_LIFECYCLE_MAP.md section 5) :
| Type | Préfixe | Moteur de rendu | Déclencheur | Objectif |
|---|---|---|---|---|
| PDF du devis | PRO- | render_proposal_pdf | Envoi du devis | L'offre (pas une facture) |
| Contrat de prestation de services | AGR- | (rendu PDF signé) | Le client signe | Le contrat (pas une facture) |
| Facture d'acompte | DEP- | render_deposit_invoice_pdf | Le client signe (acompte > 0) | Anzahlungsrechnung — TVA exigible sur le paiement anticipé |
| Facture finale | INV- | render_final_invoice_pdf | Émettre la facture finale | Schlussrechnung — clôture le projet, référence la DEP |
| Facture d'annulation (Storno) | STR- | render_storno_invoice_pdf | Avenant avec diminution de coût | Annule/invalide la facture précédente ; « Rechnungskorrektur » en DE |
| Correction d'acompte | DCR- | render_deposit_correction_pdf | Avenant modifiant le montant de l'acompte | Documente l'ajustement de l'acompte |
| Note de crédit | CRN- | render_credit_note_pdf | Remboursement initié | Enregistre le remboursement + la raison + la décomposition TVA |
| Reçu | REC- | render_receipt_pdf | Paiement reçu | Confirme la réception des fonds |
La chaîne du parcours standard (sans avenant, sans remboursement) :
``
Devis envoyé → PRO-2026-0042
Client signe → AGR-2026-0042 + DEP-2026-0042
Acompte payé → REC-2026-0042 (étape acompte)
Projet terminé → INV-2026-0042 (référence DEP-2026-0042)
Paiement final → REC-2026-0042 (étape finale)
``
La chaîne avec avenant de diminution (Δ−) :
``
… parcours standard jusqu'au paiement de l'acompte …
Avenant signé → STR-2026-NNNN (annule l'ancien INV)
+ INV-2026-NNNN (révision=2, périmètre réduit)
+ CRN-2026-NNNN (note de crédit pour remboursement)
+ Remboursement Stripe OU remboursement SEPA manuel
+ REC-2026-NNNN (reçu de remboursement, quand le remboursement est réglé)
``
La numérotation des documents est séquentielle par freelancer, par année et par type, atomique (SELECT FOR UPDATE sur DocumentCounter). Pas d'interruption — une fois un numéro attribué, il est permanent. L'année est réinitialisée le 1er janvier : INV-2025-0099 est suivi de INV-2026-0001. Voir l'article 6.9 pour les mécanismes exacts.
Conservation : chaque document de la famille est stocké sur Cloudflare R2 avec le marqueur legal_hold pendant 10 ans pour satisfaire GoBD §147 AO (DE), Wet OB art. 52 (NL), CGI art. L102 B (FR) et les règles équivalentes dans tous les États membres de l'UE.
Troubleshooting
Keep reading
Proposals & Invoices
The deposit invoice (DEP-) — Anzahlungsrechnung, facture d'acompte
The deposit invoice is the legal artefact that records VAT liability on an advance payment. Under EU VAT Directive Art. 65, the deposit becomes chargeable the moment the client pays — the deposit invoice is what the law requires you issue.
Proposals & Invoices
The final invoice (INV-) — Schlussrechnung, facture de solde
The final invoice closes the project. It states the full work value, then explicitly references the deposit invoice and **deducts both the deposit amount and the deposit VAT**, so you don't pay tax twice. This deduction is mandated by §14 UStG and parallel rules across the EU.
Proposals & Invoices
Receipts (REC-) — payment confirmation, single-stage vs split
A receipt confirms that a payment was actually received. Clozo issues one receipt per payment event: one for the deposit, one for the final balance, or a single receipt if the project was 100% prepaid.
Refunds & Notifications
EU invoice compliance — Art. 226 mandatory fields, sequence numbering, retention
Every invoice Clozo issues complies with EU VAT Directive Art. 226: 14 mandatory fields, sequential numbering with no gaps, immutability after issue, and 10-year retention.
Proposals & Invoices
Invoice numbering — sequential per year per type, atomic, no gaps
Every invoice gets a sequential number from an atomic counter scoped per freelancer per year per document type. No gaps allowed under EU VAT Directive Art. 226(2); enforced by a row-level database lock so concurrent operations cannot collide.