- Expédié
- 11 novembre 2026 à 10:41 UTC
- Auteur
- Kamo
- Commit
- b05a5db
RecordInvoiceController est la porte de l'onglet Facture pour n'importe quel enregistrement - liste, Créer une facture, lire, PDF, enregistrer le paiement, Void Facture, livraison, envoi, lien - avec seulement les droits, l'id, l'appel de création et le contrôle de propriété laissés à ServiceJobInvoiceController (mêmes itinéraires, mêmes droits) devient un seul; OrderInvoiceController sous **************** est l'autre (Voir / Créer et Modifier les Commandes). Void Invoice (POST .../{invoice}/void, le droit de gestion de l'enregistrement, une raison requise): InvoicingService refuse une facture facture avec paiements; en cas de succès chaque lien client est estampillé terminé ici, comme le void du relais l'a déjà fait. Email Reçu: une fois qu'une facture est Payée, envoyer() des emails commerce.invoice_receipt (montant payé, date de paiement, jamais 'montant due') au lieu de refuser, avec le PDF et un nouveau lien; la ligne de lien enregistre email_kind INVOICE ou RECEIVE et Sent La note du membre est désormais échappée en HTML dans les deux e-mails (le rendu n'échappe rien). Le paiement d'enregistrement sur la facture d'une commande est refusé (409, « utilisez la commande de paiement »), et OrderInvoiceSettlement demande à InvoicingService de régler la facture après Take Payment et de l'annuler après Cancel (dans **************** best-effort), et lorsque l'onglet Facture de la commande s'ouvre sur une commande payée ou annulée.
