# Fonctionnement des devis Comment fournir des estimations de prix à vos clients avant de créer un abonnement ou une facture. Vous pouvez utiliser des devis pour communiquer à vos clients un chiffrage estimatif du coût de biens et/ou de services qu’ils envisagent d’acquérir, avec les éventuelles ristournes et taxes applicables et en combinant des postes récurrents et ponctuels. Vous pouvez convertir votre devis en un *abonnement* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) récurrent ou en une *facture* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) ponctuelle une fois le devis accepté par votre client. ## Envoyer et accepter des devis Pour envoyer et accepter des devis pour des factures ponctuelles : 1. Connectez-vous à votre Dashboard Stripe. 1. Sur la [page Vos plans](https://dashboard.stripe.com/settings/plans?utm_source=docs-quotes), inscrivez-vous à [Invoicing Plus](https://stripe.com/invoicing/pricing). En savoir plus sur l’[accès aux devis](https://support.stripe.com/questions/how-to-access-quotes) ## État des devis Les devis peuvent changer d’état comme suit : Changements d'état d'un devis (See full diagram at https://docs.stripe.com/quotes) | État | Description | Actions possibles | | --------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `draft` | L’état initial de tous les devis. Vous pouvez toujours modifier la facture lorsqu’elle est à l’état de brouillon. | - [Finalisez](https://docs.stripe.com/quotes.md#finalize) le devis pour le faire passer à l’état `ouvert`. - [Annulez](https://docs.stripe.com/quotes.md#cancel) le devis pour le faire passer à l’état `annulé`. | | `ouvert` | Le devis a été finalisé et un retour du client est à présent attendu. Seule la date d’expiration est modifiable à ce stade. | - [Acceptez](https://docs.stripe.com/quotes.md#accept) le devis pour le faire passer à l’état `accepté`. - [Annulez](https://docs.stripe.com/quotes.md#cancel) le devis pour le faire passer à l’état `annulé`. | | `Accepté` | Le client a accepté le devis. Une facture, un abonnement ou une planification d’abonnement a été généré(e) sur la base du devis. | N/A | | `annulé` | Le devis a expiré ou a été annulé. Vous ne pouvez plus l’accepter. | N/A | ### Finaliser un brouillon de devis Les devis sont d’abord créés à l’état de `brouillon`. Dans cet état, vous pouvez les modifier et apporter les modifications requises. Vous pouvez finaliser le devis lorsque vous êtes prêt à l’envoyer à votre client. La finalisation du devis lui attribue un `numéro`. Le numéro se compose de quatre parties : - Le préfixe `QT` - Préfixe de la facture du client - La séquence de devis - La séquence de révision Par exemple, `QT-68BB114-0001-1` est le premier devis d’un client, et le devis figure sur la première révision. Le numéro de devis `QT-68BB114-0001-2` correspond au même devis, mais en deuxième révision. correspond au même devis, mais en deuxième révision. `QT-68BB114-0002-1` est le deuxième devis du client. La finalisation d’un devis via l’API s’effectue comme suit : ```curl curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/finalize \ -u "<>:" ``` Les devis peuvent passer d’un état `de brouillon` à l’un des états finaux suivants : - `ouvert` : l’endpoint d’API [POST /v1/quotes/:id/finalize](https://docs.stripe.com/api/quotes/finalize.md) émet un webhook `quote.finalized`. - `annulé` : l’endpoint d’API [POST /v1/quotes/:id/cancel](https://docs.stripe.com/api/quotes/cancel.md) émet un webhook `quote.canceled`. ### Accepter un devis Une fois que votre client a accepté le devis, vous pouvez marquer le devis `en cours` comme `accepté`. Les devis acceptés génèrent automatiquement une facture, un abonnement ou une planification d’abonnement. - **Devis avec tarifs récurrents** : une planification d’abonnement est créée si la date d’entrée en vigueur du devis est dans le futur. Dans le cas contraire, un abonnement est créé. La première facture de l’abonnement est à l’état de `brouillon` avec `auto_advance` défini sur `true`. - **Devis sans prix récurrents** : un `brouillon` de facture est créé avec `auto_advance` défini sur `false`. Vous pouvez modifier la facture avant de la finaliser et de l’envoyer à votre client pour paiement. #### Dashboard Vous pouvez utiliser le Dashboard pour marquer un devis comme accepté. 1. Dans le Dashboard Stripe, accédez à la page [Devis](https://dashboard.stripe.com/quotes). 1. Sélectionnez le devis que vous souhaitez marquer comme accepté. 1. Sur la page des détails du devis, cliquez sur **Convertir en facture** ou **Convertir en abonnement**. #### API Vous pouvez utiliser l’API pour marquer un devis comme accepté, comme illustré dans l’exemple suivant : ```curl curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/accept \ -u "<>:" ``` Lorsqu’un devis passe de l’état `ouvert` à `accepté`, l’endpoint de l’API [POST /v1/quotes/:id/accept](https://docs.stripe.com/api/quotes/accept.md) émet un webhook `quote.accepted`. ### Annuler un devis Si votre client rejette le devis ou si vous ne souhaitez plus qu’il soit valide, vous pouvez l’annuler. Pour ce faire, marquez le `brouillon` ou le devis `en cours` comme `annulé`, ou attendez que ces devis s’annulent automatiquement lorsqu’ils atteignent la date d’expiration. Vous ne pouvez pas accepter les devis annulés. #### Dashboard Vous pouvez utiliser le Dashboard pour annuler un devis. 1. Dans le Dashboard Stripe, accédez à la page [Devis](https://dashboard.stripe.com/quotes). 1. Sélectionnez le devis que vous souhaitez annuler. 1. Sur la page des détails du devis, cliquez sur le menu de débordement (⋯), puis sur **Annuler le devis**. #### API Vous pouvez utiliser l’API pour annuler un devis, comme illustré dans l’exemple suivant : ```curl curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/cancel \ -u "<>:" ``` Lorsqu’un devis passe de l’état `brouillon` ou `ouvert` à `annulé`, l’endpoint de l’API [POST /v1/quotes/:id/cancel](https://docs.stripe.com/api/quotes/cancel.md) émet un webhook `quote.canceled`. ## Télécharger un devis au format PDF Utilisez la méthode PDF pour [télécharger un devis au](https://docs.stripe.com/api/quotes/pdf.md) format PDF : ```curl curl https://files.stripe.com/v1/quotes/qt_0J1EnX589O8KAxCGEdmhZY3r/pdf \ -u "<>:" ``` Au lieu de renvoyer des données au format JSON, la méthode PDF renvoie un flux de données qui représente les séquences d’octets des données entrantes. Le flux d’octets est lu en morceaux ou en segments au fur et à mesure que les données arrivent, ce qui vous permet de commencer à traiter les données entrantes avant la fin du chargement complet des données. Cette méthode est particulièrement utile pour traiter des données volumineuses ou en temps réel. ![Devis au format PDF](https://b.stripecdn.com/docs-statics-srv/assets/generated-quote-pdf.712c5fe734adfbfbc1a7efc136e00636.png) Le PDF du devis généré