Pour les agences Shopify
Pourquoi un devis se convertit au mauvais prix sur Shopify : le diagnostic par la taille de l'écart
Par Jahangir Alam · 9 octobre 2026 · 13 min de lecture
- Dernière vérification
- API Shopify
- 2026-10
- Public
- Agences Shopify et développeurs face à un devis converti dont la commande provisoire, la facture ou la commande affiche un autre prix
- Périmètre
- Commandes provisoires, paiement de la facture et commandes créées à partir d'un devis accepté en API 2026-10 : remplacements de prix et prix catalogue, verrouillage des prix à l'envoi, taux de change et devise de présentation, inclusion et exonération de taxes, remises automatiques et codes, répartition des remises et centimes, brouillons scindés, livraison, acomptes et changements après la commande
Quand un devis se convertit en commande provisoire Shopify au mauvais prix, mesurez l'écart avant de chercher la cause : où il apparaît, à quelle étape, et de combien. Une ligne exactement au prix catalogue, tous les montants décalés du taux de change, un total plus élevé d'exactement la ligne de taxe, un total plus bas d'exactement une remise que personne n'a chiffrée, un centime par ligne - chacune de ces formes a sa propre cause documentée chez Shopify, et la taille l'indique avant que vous n'ouvriez le moindre réglage.
Cette page est ce diagnostic : un tableau qui part de l'écart observé, les champs Shopify qui confirment chaque cause, le correctif, et les résultats que Shopify documente comme attendus - un verrouillage des prix à l'envoi, un recalcul après la modification d'un brouillon en devise étrangère, un acheteur exonéré de taxe facturé au plein prix taxes incluses - tenus à l'écart des vraies pannes. Ce qui casse entre le devis et la conversion est le versant conception du même problème : ce qu'il faut construire pour que l'écart n'arrive jamais.
Tout ce qui concerne Shopify ci-dessous a été vérifié sur les pages de Shopify le 9 octobre 2026, en version d'API 2026-10 ; les sources sont en fin de page.
D'abord, mesurer l'écart
Trois relevés, dans cet ordre :
- Où il apparaît. Un prix de ligne, une remise sur la commande, le sous-total, la taxe, la livraison, le montant dû maintenant, une ligne manquante ou en trop - ou seulement un rapport dans la devise de la boutique.
- L'étape où il apparaît pour la première fois. Le brouillon calculé (
draftOrderCalculatesur l'entrée que vous avez stockée), le brouillon enregistré, le paiement de la facture, ou la commande. Si le brouillon calculé est déjà faux, l'entrée est fausse ; si seuls le paiement ou la commande diffèrent, quelque chose a changé après la création. - Sa forme. Soustrayez et divisez avant de deviner : Y − X égal à une remise ou à la ligne de taxe, Y ÷ X égal au taux de change ou à (1 + un taux de taxe), une différence d'un centime par ligne, une ligne entière.
Lisez ensuite la ligne qui correspond.
L'écart, par forme
| # | L'acheteur a accepté X ; vous voyez Y | Étape | Forme | Causes, dans l'ordre où les écarter | Confirmer avec | Correctif |
|---|---|---|---|---|---|---|
| 1 | Une ligne au prix de la boutique ou du catalogue de l'entreprise | Brouillon calculé ou enregistré | Prix catalogue − prix convenu, sur les lignes de variante seulement | Pas de priceOverride sur la ligne ; le prix convenu envoyé dans le champ des lignes personnalisées sur une ligne de variante ; la ligne ajoutée de nouveau dans l'admin |
priceOverride de la ligne est null ; originalUnitPriceSet = le prix catalogue ; allVariantPricesOverridden vaut false |
Envoyer priceOverride dans la devise du brouillon sur chaque ligne de variante négociée (forme 1) |
| 2 | Juste sur le brouillon, différent au paiement de la facture | Paiement de la facture | Le nouveau prix du produit ou du catalogue | Une ligne au prix catalogue dont les prix étaient déverrouillés à l'envoi de la facture ; le brouillon modifié après l'envoi | Pas de priceOverride ; le verrouillage à l'envoi ; updatedAt postérieur à la facture |
Remplacer le prix, ou verrouiller à l'envoi ; ne jamais modifier après l'envoi (forme 2) |
| 3 | Tous les montants, ou la remise sur la commande, décalés d'un facteur proche du taux de change | Brouillon | × le taux | Un prix envoyé dans une autre devise (converti automatiquement) ; le brouillon modifié plus tard (rechiffré au taux du moment) ; aucune devise de présentation définie ; une remise fixe lue dans la devise de la boutique | presentmentCurrencyCode ; chaque priceOverride.currencyCode ; appliedDiscount.amountSet en devise de la boutique et en devise de présentation |
Fixer la devise au moment du devis et créer le brouillon dans cette devise ; ne pas modifier un brouillon enregistré en devise étrangère (forme 3) |
| 4a | Total plus élevé de toute la ligne de taxe | Brouillon ou paiement | = totalTaxSet |
L'exonération ne s'est pas appliquée ; un acheteur exonéré sur des prix taxes incluses | taxExempt, taxesIncluded, les réglages fiscaux du site |
Mettre le site d'entreprise sur le brouillon ; chiffrer explicitement les acheteurs exonérés sur les boutiques à prix taxes incluses (forme 4) |
| 4b | La taxe diffère d'un écart de taux | Brouillon, paiement ou commande | Base × (taux₁ − taux₂) | Une autre adresse de livraison ; l'adresse de facturation utilisée faute d'adresse de livraison ; une adresse de paiement hors du marché ; depuis 2026-10, un changement d'adresse sur la commande | taxLines[].rate, les adresses |
Adresse de livraison sur le brouillon ; comparer à la conversion |
| 4c | Prix des lignes divisés ou multipliés par (1 + le taux de taxe du pays d'origine) | Brouillon | ÷ ou × (1 + taux) sur les lignes au prix catalogue | Tarification de marché taxes incluses ou dynamique taxes incluses ; le devis et le brouillon ne s'accordent pas sur taxesIncluded |
taxesIncluded sur le devis contre le brouillon |
Chiffrer le devis sur la même base fiscale que le marché de l'acheteur |
| 5 | Total plus bas d'un montant exact que personne n'a chiffré | Brouillon ou paiement | = une remise de la plateforme | Remises automatiques acceptées ; un code saisi par l'acheteur au paiement ; la même remise envoyée sur la ligne et sur la commande ; une transformation de panier sur une boutique Shopify Plus | platformDiscounts (titre, code, automatique) ; les discountApplications de la commande |
Définir explicitement acceptAutomaticDiscounts et allowDiscountCodesInCheckout ; une remise, un seul endroit (forme 5) |
| 6 | Une remise chiffrée absente ou plus petite | Brouillon | = la remise absente, ou le pourcentage d'une base plus petite | Un code non éligible (ignoré) ; un code de livraison ou d'achat X obtenez Y ; une fonction de remise avec accès réseau ; un pourcentage appliqué après les remises de ligne | Le DraftOrderDiscountNotAppliedWarning dans warnings ; appliedDiscount.amountSet |
Porter une remise négociée dans le prix ou en une seule remise sur la commande ; lire les avertissements à chaque calcul |
| 7 | Les lignes de la commande semblent sans remise, mais le total est juste | Commande | Chaque ligne brute de sa part de la remise sur la commande, à un centime près | Lecture de discountedUnitPriceSet, qui exclut les remises de commande et les codes ; centimes de répartition par ligne |
discountAllocations ; priceAfterAllDiscountsBeforeTaxesSet |
Rapprocher sur les totaux et les répartitions ; ne jamais réadditionner les lignes (forme 7) |
| 8 | Les brouillons scindés totalisent le montant accepté ± un centime par brouillon, ou ± un tarif de livraison | Brouillons | ≤ 1 centime par brouillon, ou un tarif de livraison entier | La part de chaque brouillon dans une remise fixe arrondie séparément ; chaque brouillon taxé et livré séparément | Le sous-total de chaque brouillon contre son sous-ensemble accepté | Attendu à un centime près par brouillon ; livraison par brouillon par conception |
| 9 | Livraison différente | Brouillon ou paiement | = un écart de tarif | Aucun tarif présélectionné, donc l'acheteur a choisi au paiement ; un produit ajouté après la facture ; un code de remise sur la livraison (non pris en charge sur les brouillons) | shippingLine, totalShippingPriceSet |
Présélectionner le tarif convenu, envoyé avec sa devise (forme 9) |
| 10 | Le montant dû maintenant n'est pas le pourcentage d'acompte de la facture | Brouillon ou paiement | Pourcentage d'acompte du sous-total seul | L'aide de Shopify assoit l'acompte sur le sous-total, hors taxes et livraison ; sa référence d'API parle du total de la commande | amountDueNowSet, amountDueLaterSet |
Indiquer la base à l'acheteur |
| 11a | Une ligne manquante | Brouillon ou commande | Une ligne entière | La ligne est encore ouverte sur le devis - pas refusée - et se convertit quand elle est acceptée ; depuis 2026-10, un retrait demandé par l'acheteur après la commande | Les lignes acceptées du devis ; Order.requestedOrderEdits |
Convertir les lignes acceptées suivantes ; traiter les modifications demandées |
| 11b | Une ligne en trop à 0,00 | Brouillon ou facture | Une ligne, à zéro | Une ligne à prix masqué - affichée à l'acheteur comme « Inclus » - qui se convertit à zéro | La visibilité de la ligne du devis | Attendu : une ligne à prix masqué doit être à zéro (pourquoi) |
| 12 | Le total de la commande n'égale plus celui du brouillon | Commande | Un remboursement, une modification ou un recalcul de taxe | Comparaison des champs current* (après remboursements et modifications) avec le brouillon ; depuis 2026-10, taxe recalculée quand l'adresse d'une commande non traitée change |
originalTotalPriceSet contre currentTotalPriceSet |
Comparer ce qui est comparable (après la commande) |
| 13 | Un versement, un rapport ou un ERP dans la devise de la boutique diffère | Après l'encaissement | Le taux de change au moment de la transaction | Les montants en devise de la boutique sont une estimation sur un brouillon multidevise | presentmentMoney contre shopMoney |
Rapprocher dans la devise de présentation |
La ligne est au prix catalogue
Forme 1. Pour une ligne de variante, Shopify utilise priceOverride « à la place du prix catalogue de la variante de produit dans cette commande provisoire ». Le champ de prix des lignes personnalisées, originalUnitPriceWithCurrency, « est ignoré quand variantId est fourni » - un prix négocié envoyé là sur une ligne de variante devient donc en silence le prix catalogue. Avec un site d'entreprise sur le brouillon, le prix catalogue est celui de l'entreprise (les prix « reflètent automatiquement les réglages de cette entreprise »), ce qui rend l'erreur vraisemblable. Un seul booléen attrape toute la catégorie : quand chaque ligne de variante a été négociée, allVariantPricesOverridden sur le brouillon calculé doit valoir true.
Forme 2. Les prix d'un brouillon sont déverrouillés par défaut. Envoyer une facture ou partager un lien de paiement les verrouille par défaut, « sauf si vous choisissez manuellement de les déverrouiller », et le déverrouillage met à jour le brouillon avec le prix actuel du produit ou du catalogue. Un verrouillage bloque les hausses comme les baisses. Une ligne qui porte un priceOverride a son propre prix et n'est pas exposée aux changements du catalogue au départ ; le verrouillage compte pour les lignes au prix catalogue. Et ne modifiez jamais un brouillon après l'envoi de la facture : draftOrderUpdate après le début d'un paiement dissocie ce paiement. Un changement après l'acceptation est une nouvelle proposition et un nouveau brouillon, pas une modification.
L'écart est un taux de change
Un brouillon a un seul presentmentCurrencyCode. Un remplacement de prix dans une autre devise « sera converti pour correspondre à la devise de présentation de la commande provisoire ». Le taux d'un brouillon en devise locale est calculé à la création du brouillon et tient pour la facture - mais l'aide de Shopify précise que modifier un brouillon enregistré rechiffre toute la commande au taux du moment. Sur un brouillon multidevise, le montant en devise de présentation « est la source de vérité de ce qui sera facturé au client, et shop_money est une estimation ».
Les remises sur la commande méritent leur propre vérification. Pour une remise appliquée FIXED_AMOUNT, la référence 2026-10 de Shopify indique que value est « un montant fixe dans la devise de votre boutique » ; un champ distinct, amountWithCurrency, prend un montant « dans la devise indiquée ». Une remise fixe pensée dans la devise de l'acheteur et envoyée en value peut donc arriver convertie depuis la devise de la boutique. Lisez appliedDiscount.amountSet - en devise de la boutique comme en devise de présentation - contre le montant voulu, et testez les remises fixes sur un brouillon dans une devise autre que celle de la boutique avant de vous y fier. Une remise en pourcentage n'a pas de devise à se tromper.
L'écart est une taxe
Classez un écart de taxe par son rapport ; chaque rapport a un mécanisme documenté.
- Toute la ligne de taxe (4a). L'exonération n'a pas atteint le brouillon. L'exonération d'un site d'entreprise s'applique quand le site est sur le brouillon ; le
taxExemptdu brouillon est remplacé par le champ d'exonération du client lui-même quand un client est appliqué. Et sur des prix taxes incluses, « si vous définissez un client comme exonéré de taxe [...], le client paie quand même le plein prix affiché du produit » - attendu, selon la règle de Shopify. L'exonération de taxe sur Shopify B2B explique où vivent les exonérations. - Un écart de taux (4b). Les taxes d'un brouillon suivent l'adresse de livraison, et l'adresse de facturation à défaut ; une adresse de paiement hors du marché du brouillon se voit appliquer le taux de la destination. Depuis l'API 2026-10, changer l'adresse de livraison d'une commande non traitée avec
orderUpdaterecalcule sa taxe et peut laisser un solde dû ou remboursable. - Des prix divisés par (1 + le taux du pays d'origine) (4c). L'inclusion des taxes se règle par marché, et quand une boutique à prix taxes incluses vend dans une autre région, Shopify déduit le taux de taxe du pays d'origine des prix catalogue. Si le devis et le brouillon ne s'accordent pas sur
taxesIncluded, chaque ligne au prix catalogue bouge de ce facteur.
L'article sur les modes de défaillance explique pourquoi la taxe d'un devis est une estimation et comment la comparer à la conversion.
L'écart est une remise
Une remise en trop (forme 5). Rapprochez le montant inexpliqué des platformDiscounts du brouillon calculé ou des discountApplications de la commande - Shopify y enregistre chaque remise non personnalisée avec son titre, son code et le fait qu'elle était automatique ou non. Les sources à vérifier :
acceptAutomaticDiscounts: trueapplique les remises automatiques éligibles « en plus des codes de réduction et des remises personnalisées de la commande provisoire ». Dans l'admin, les remises automatiques ne s'appliquent aux brouillons que si vous cochez l'option ; l'entrée de l'API ne documente aucune valeur par défaut, alors définissez le champ explicitement.- Les codes de réduction au paiement de la facture sont désactivés par défaut pour chaque brouillon ; Shopify prévient qu'avec eux, les brouillons « risquent d'être plus remisés que vous ne l'aviez prévu ».
- En B2B, les remises automatiques et les codes « s'appliquent comme des remises supplémentaires par-dessus » les prix du catalogue.
- Une remise personnalisée sur la commande s'applique par-dessus les remises de ligne - « veillez à ne pas dupliquer la remise ».
- Sur une boutique Shopify Plus, une fonction de transformation de panier s'exécute aussi sur les commandes provisoires, et peut changer le prix d'une ligne.
Une remise absente ou plus petite (forme 6). Un code auquel le brouillon n'est pas éligible « sera ignoré lors du calcul », et le résultat du calcul le dit : DraftOrderDiscountNotAppliedWarning le nomme par discountTitle et discountCode (le champ priceRule a été retiré en 2026-10). Les codes de livraison et les codes achetez X obtenez Y ne sont pas pris en charge sur les brouillons, et les fonctions de remise avec accès réseau ne s'y exécutent pas. Une remise sur la commande en pourcentage est un pourcentage du sous-total de la commande, appliqué par-dessus les remises de ligne, et sort donc plus petite qu'un devis qui prenait le pourcentage des lignes brutes.
L'écart est d'un centime
Sur la commande, les champs par ligne répondent à des questions différentes. discountedUnitPriceSet « n'inclut pas les remises de commande ni les remises par code », si bien que chaque ligne d'une commande avec une remise sur la commande paraît sans remise alors que le total est juste. La part de la remise sur la commande pour chaque ligne est dans discountAllocations (« le montant de remise final calculé appliqué à chaque ligne »), et priceAfterAllDiscountsBeforeTaxesSet donne la ligne après toutes les remises. La répartition produit des montants au centime par ligne : le prorata propre au devis et celui de Shopify peuvent donc différer d'un centime par ligne alors que les totaux concordent. Rapprochez sur les totaux, et ne réadditionnez jamais les lignes pour obtenir un « devrait être ».
Quand un devis se convertit en plusieurs commandes provisoires, la part de chaque brouillon dans une remise fixe est arrondie séparément, si bien que les brouillons peuvent totaliser le montant accepté à un centime près par brouillon. Chaque brouillon est aussi taxé et livré séparément.
Livraison, acompte et lignes entières
- Livraison (forme 9). Une ligne de livraison présélectionnée ne peut pas être changée par l'acheteur au paiement ; sans présélection, l'acheteur choisit parmi les tarifs disponibles. Un produit ajouté après la facture ne met pas à jour un tarif calculé.
ShippingLineInput.priceest déprécié en 2026-10 ;priceWithCurrencyprévaut et porte sa devise. - L'acompte (forme 10). Les acomptes sont disponibles uniquement sur Shopify Plus. L'aide de Shopify indique qu'un acompte est « un pourcentage du sous-total de la commande seulement - il n'inclut ni les taxes ni la livraison » ; le
DepositInputde l'API parle du total de la commande - la référence consigne la contradiction.amountDueNowSetest ce que l'acheteur paie maintenant. - Une ligne manquante (11a). Si l'acheteur a accepté une partie d'un devis, seules les lignes acceptées se convertissent. Une ligne sur laquelle il ne s'est pas encore prononcé est encore ouverte sur le devis - pas refusée - et se convertit quand elle est acceptée. Depuis 2026-10, un acheteur peut aussi demander le retrait de lignes non traitées après la commande, par la modification de commande.
- Une ligne à zéro (11b). Une ligne dont le prix était masqué sur le devis - l'acheteur a vu « Inclus » - se convertit à 0,00. Elle doit être à zéro : les totaux de l'acheteur viennent du montant stocké sur le devis, jamais de la somme des lignes affichées, si bien qu'une ligne masquée chiffrée au-dessus de zéro révélerait son prix par soustraction.
Une fois la commande créée
Les totalPriceSet et subtotalPriceSet de la commande sont les montants avant retours ; les champs current* s'entendent après remboursements, retours et modifications ; originalTotalPriceSet est le total à la création. Comparez le brouillon à l'original, et expliquez tout écart avec le total actuel par les remboursements, les modifications, les modifications demandées par l'acheteur et - depuis 2026-10 - la taxe recalculée après un changement d'adresse. Un versement ou un ERP dans la devise de la boutique différera de ce que l'acheteur a payé du taux de change au moment de la transaction ; rapprochez dans la devise de présentation. Quand le devis et la commande Shopify divergent recense tout ce qui dérive une fois la commande créée.
La place de QuotWay
QuotWay envoie chaque prix de variante négocié en priceOverride dans la devise du devis, crée le brouillon dans cette devise, et envoie une remise sur l'ensemble du devis comme une seule remise au niveau de la commande. Un devis rattaché à une entreprise porte le site d'entreprise comme entité acheteuse, avec l'exonération de taxe du site. L'écran de conversion affiche le sous-total, la taxe, la livraison et le total calculés par Shopify pour que le marchand les lise, et retient la conversion quand la taxe calculée par Shopify s'écarte de celle du devis au-delà de votre seuil - voir convertir un devis en commande provisoire. Depuis le 30 septembre 2026, une remise sur l'ensemble du devis compte aussi pour le prix plancher et les validations de remise, si bien qu'une remise sur la commande ne peut pas faire passer une ligne sous le plancher sans que personne ne le voie (prix plancher et remises).
Le contrôle d'écart compare la taxe, la livraison et le stock - pas les prix de ligne ni les remises. Le tableau ci-dessus reste donc utile sur un devis converti dont le total vous surprend ; le plan de test de lancement en 50 tests contient les tests de commandes provisoires à refaire après un correctif. Les forfaits sont sur la page des tarifs, et la conversion est décrite dans convertir les devis en commandes.
Questions fréquentes
Pourquoi une commande provisoire Shopify affiche-t-elle le prix catalogue au lieu du prix négocié ?
La ligne de variante n'a pas de priceOverride. Shopify ignore le champ de prix des lignes personnalisées (originalUnitPriceWithCurrency) quand un variantId est fourni : un prix négocié envoyé là devient le prix catalogue - celui du catalogue de l'entreprise si un site d'entreprise est sur le brouillon. Envoyez priceOverride et vérifiez allVariantPricesOverridden sur le brouillon calculé.
Pourquoi le prix a-t-il changé quand l'acheteur a ouvert la facture de la commande provisoire ?
La ligne était au prix catalogue et les prix du brouillon étaient déverrouillés à l'envoi de la facture : elle a donc repris le prix actuel du produit ou du catalogue. Envoyer une facture verrouille les prix par défaut ; une ligne avec un priceOverride n'est pas concernée. Modifier le brouillon après l'envoi dissocie aussi le paiement.
Pourquoi une remise fixe est-elle fausse sur une commande provisoire dans une autre devise ?
Shopify lit un appliedDiscount.value à montant fixe dans la devise de la boutique, et propose amountWithCurrency pour un montant dans une autre devise. Une remise pensée dans la devise de l'acheteur et envoyée en value peut arriver convertie. Comparez appliedDiscount.amountSet dans les deux devises au montant voulu, et testez sur un brouillon dans une devise autre que celle de la boutique.
Pourquoi un client B2B exonéré de taxe a-t-il payé le plein prix ?
Sur des prix taxes incluses, Shopify facture à un client exonéré le plein prix affiché - c'est sa règle documentée. Si le total est plus élevé de toute la ligne de taxe sur des prix hors taxes, l'exonération du site d'entreprise n'a pas atteint le brouillon.
Pourquoi la commande est-elle plus remisée que le devis ?
Une remise automatique ou un code s'est appliqué par-dessus les prix négociés. Rapprochez le montant en trop des platformDiscounts du brouillon ou des discountApplications de la commande, et définissez explicitement acceptAutomaticDiscounts et allowDiscountCodesInCheckout sur les brouillons issus de devis.
Pourquoi un code de réduction ne s'est-il pas appliqué à ma commande provisoire ?
Le brouillon n'y était pas éligible : Shopify l'a ignoré et l'a signalé dans un DraftOrderDiscountNotAppliedWarning qui nomme le code. Les codes de livraison et les codes achetez X obtenez Y ne sont pas pris en charge sur les commandes provisoires, et les fonctions de remise avec accès réseau ne s'y exécutent pas.
Pourquoi les prix de ligne de la commande ne montrent-ils pas la remise du devis ?
discountedUnitPriceSet sur une ligne de commande exclut les remises de commande et les codes. La part de la remise sur la commande pour chaque ligne est dans discountAllocations ; lisez-les, et rapprochez sur le total.
Pourquoi une ligne manque-t-elle, ou pourquoi y a-t-il une ligne à 0,00 ?
Vérifiez d'abord si une ligne manquante est une ligne sur laquelle l'acheteur ne s'est pas encore prononcé - elle est encore ouverte sur le devis et se convertit quand elle est acceptée. Une ligne à 0,00 est une ligne dont le prix était masqué sur le devis : elle doit être à zéro, parce que le total de l'acheteur vient du montant stocké sur le devis, pas des lignes affichées.
Sources
Pages de Shopify, lues le 9 octobre 2026 en version d'API 2026-10 :
- DraftOrderLineItemInput -
priceOverride, le prix des lignes personnalisées ignoré sur les lignes de variante, la conversion de devise des remplacements - DraftOrderInput -
presentmentCurrencyCode,acceptAutomaticDiscounts,taxExempt, codes de réduction - DraftOrderAppliedDiscountInput - montants fixes dans la devise de la boutique ;
amountWithCurrency - DraftOrder et CalculatedDraftOrder - la devise de présentation comme source de vérité,
allVariantPricesOverridden,platformDiscounts,warnings, montants dus maintenant et plus tard - DraftOrderDiscountNotAppliedWarning - codes ignorés, nommés par titre et par code
- LineItem, DiscountAllocation et Order - champs de prix par ligne, répartitions, totaux d'origine contre totaux actuels, modifications de commande demandées
- ShippingLineInput -
pricedéprécié,priceWithCurrency - Cart Transform API et Discount Function API - les fonctions sur les commandes provisoires
- Notes de version 2026-10 -
priceRuleretiré des avertissements de remise ; recalcul de taxe parorderUpdate - Créer des commandes provisoires, envoyer les factures de commandes provisoires et les remises sur les commandes provisoires - verrouillage des prix à l'envoi, taux de change fixé à la création et rechiffré à la modification, taxe selon l'adresse, remises automatiques et codes, remises personnalisées
- Créer des commandes B2B à partir de commandes provisoires - prix de l'entreprise, livraison présélectionnée, acomptes sur le sous-total
- Remises B2B - remises par-dessus les prix du catalogue
- Inclure ou exclure les taxes des prix - inclusion des taxes par marché, taux du pays d'origine déduit, clients exonérés sur des prix taxes incluses
- Taux de change - conversion au moment de la transaction
Le comportement de QuotWay est décrit à partir de sa documentation publique et du code source de l'application, lus le 9 octobre 2026.
Articles liés
- Pour les agences ShopifyShopify est-il adapté au B2B ? Quand c'est la bonne plateforme, et quand ce ne l'est pas14 min de lecture
- Pour les agences ShopifyQuand le devis et la commande Shopify divergent : ce qui dérive après la conversion12 min de lecture
- Pour les agences ShopifyBuild vs buy : ce que doit faire tourner une custom app Shopify de RFQ en 202614 min de lecture
Découvrez comment QuotWay gère cela sur votre boutique.