Skip to main content

Troubleshooting & Reference · Article 7.4

« Le lien de la facture est cassé ou le PDF est manquant »

Les PDFs échouent parfois à être générés (instabilité de Gotenberg) ou à être téléversés vers R2. Symptôme : le document s'affiche comme « émis » mais cliquer sur le lien renvoie une erreur 404 ou le PDF est vide. Récupération : régénérez depuis le menu déroulant Documents.

La génération de PDF est un processus asynchrone multi-étapes : rendu HTML depuis un modèle Jinja, envoi à Gotenberg (Chrome headless) pour la conversion PDF, téléversement des octets vers Cloudflare R2, enregistrement de l'URL dans la fiche du devis. N'importe quelle étape peut échouer de façon isolée. Le modèle de récupération de Clozo est « réessayer depuis n'importe quelle étape » — le bouton Régénérer reconstruit les éléments manquants.

Step by step

  1. Identifiez le PDF manquant.

    Ouvrez le menu déroulant Documents sur la page de détail du devis ; le document cassé est celui avec le lien en erreur 404.

  2. Cliquez sur Régénérer à côté.

    Le renderer réexécute ; les nouveaux octets sont téléversés vers R2.

  3. Attendez ~10 secondes, puis réessayez le lien.

    La nouvelle URL remplace l'ancienne ; le lien dans tout e-mail précédemment envoyé se résoudra également vers le nouveau fichier (le chemin R2 est stable).

Why this works this way

Le chemin de rendu est apps/pdf/service.py. Chaque type de document a son propre renderer (render_proposal_pdf, render_final_invoice_pdf, render_credit_note_pdf, etc.). En cas de succès, les octets vont vers apps/storage/r2.py:upload_to_r2() qui retourne une URL stockée dans le modèle.

Modes d'échec : - Délai d'attente de Gotenberg (30s par défaut) : généralement un modèle long (nombre élevé de postes) ou un redémarrage du pod Gotenberg. Une nouvelle tentative réussit généralement. - Échec de téléversement R2 : problème transitoire d'identifiants ou de réseau ; une nouvelle tentative réussit en quelques minutes. - Facture fantôme : l'enregistrement de la facture a été créé (numéro attribué, statut défini) mais le rendu PDF ou le téléversement a échoué silencieusement. Le freelancer voit le statut « Facture finale émise » mais le lien PDF renvoie une erreur 404.

Condition de concurrence spécifique aux avenants : le hook post-signature génère les nouveaux PDF INV / Storno / Note de crédit en parallèle. Si un renderer plante, les autres réussissent et l'état du modèle avance. Le PDF manquant nécessite une régénération ciblée.

Troubleshooting

Keep reading

« Le lien de la facture est cassé ou le PDF est manquant » · Help · Clozo