Entites : - Echeancier : customer, description, totalAmountHt, state (draft/send/ signed/active/completed/cancelled/default), stripeSubscriptionId, stripePriceId, submitterCompanyId/CustomerId, 3 PDF Vich (unsigned/ signed/audit), submissionId (DocuSeal) - EcheancierLine : position, amount, scheduledAt, state (prepared/ok/ko), stripeInvoiceId, paidAt, failureReason Controller EcheancierController : - create : cree echeancier avec N echeances mensuelles (montant reparti) - show : detail echeancier avec progression - send : envoie email proposition au client - cancel : annule echeancier + subscription Stripe - activate : cree Stripe Subscription (price + subscription + cancel_at) Templates : - admin/echeancier/show.html.twig : detail avec resume, progression, tableau echeances, actions (envoyer/activer/annuler) - admin/clients/show.html.twig : onglet echeancier avec liste + modal creation - emails/echeancier_proposition.html.twig : email proposition avec detail Vich mappings : echeancier_pdf, echeancier_signed_pdf, echeancier_audit_pdf Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.7 KiB
2.7 KiB