---
title: "Pourquoi les acheteurs B2B ne voient pas leurs prix sur Shopify : un diagnostic par symptôme"
description: "Prix de détail, aucun prix ou prix qui change au paiement : les six maillons d'un prix Shopify B2B, à vérifier dans l'admin, en Liquid et par l'API."
url: "https://www.quotway.com/fr/blog/shopify-b2b-prices-not-showing"
type: "blog post"
category: "For Shopify agencies"
published: "2026-10-07"
verified: "2026-10-07"
shopify_api_version: "2026-10"
audience: "Agences Shopify, développeurs et marchands face à un acheteur grossiste qui voit le mauvais prix"
scope: "Boutiques en ligne et boutiques headless sur le B2B natif de Shopify en API 2026-10 : connexion et contacts d'entreprise, choix du site, catalogues via les marchés B2B ou l'assignation directe, publications, listes de prix, règles de quantité et tarification par volume dans les thèmes, affichage des réductions et des taxes, commandes provisoires, POS et applications de masquage des prix"
locale: "fr"
source: "QuotWay - B2B Quote & Negotiation App for Shopify"
---

# Pourquoi les acheteurs B2B ne voient pas leurs prix sur Shopify : un diagnostic par symptôme

Un acheteur Shopify B2B ne voit le prix de son entreprise que si six conditions sont réunies : il est connecté en tant que contact d'entreprise, le bon site d'entreprise est sélectionné, un **catalogue actif** atteint ce site, la publication du catalogue inclut la variante, la liste de prix du catalogue lui donne un prix, et la boutique demande ce prix à Shopify *dans le contexte de cet acheteur*. Qu'un seul maillon casse, et l'acheteur voit autre chose - le prix de détail, aucun prix, aucun produit, ou un prix qui change entre la fiche produit et le paiement. Chaque maillon cassé a son propre symptôme : le diagnostic le plus rapide part donc de ce que l'acheteur signale, pas de l'écran des catalogues.

Cette page est ce diagnostic : cinq symptômes, les causes derrière chacun dans l'ordre où il vaut la peine de les vérifier, comment confirmer chaque cause dans l'administration, en Liquid ou par l'API, et le correctif. Elle sépare aussi les résultats que Shopify documente comme *attendus* - un prix par volume qui désactive la remise du catalogue, un verrouillage des prix, un POS sans prix d'entreprise - des vraies pannes, parce qu'ils ressemblent à des bugs sans en être.

Tout ce qui concerne Shopify ci-dessous a été vérifié sur les pages de Shopify le 7 octobre 2026, en version d'API 2026-10 ; les sources sont en fin de page. Les faits Shopify qui reviennent sur plusieurs de nos pages sont énoncés une seule fois dans la [référence Shopify B2B](/reference/shopify-b2b) et liés depuis ici.

## La chaîne dont dépend un prix B2B
> **Les six maillons entre un acheteur et son prix B2B**
>
> Six boîtes alignées, chacune une condition dont Shopify a besoin avant d'afficher un prix B2B : 1 connecté en tant que contact d'entreprise, 2 le bon site d'entreprise sélectionné, 3 un catalogue actif atteint le site, directement ou par un marché B2B, 4 la publication du catalogue inclut le produit et la variante, 5 la liste de prix donne à la variante un prix fixe ou l'ajustement en pourcentage, 6 le thème ou la boutique headless demande le prix contextuel. Sous chaque boîte figure le symptôme quand ce maillon casse : le prix de détail pour les maillons 1 à 3 et 5, aucun produit ou aucun prix pour le maillon 4, et un prix qui diffère d'une page à l'autre pour le maillon 6.
>
> Les six conditions derrière un prix B2B, et le symptôme que chacune produit quand elle n'est pas remplie.

Les maillons viennent directement des pages de Shopify. Un client « qui n'est pas associé à un site d'entreprise ou qui ne se connecte pas est considéré comme un client D2C ». Un contact rattaché à plusieurs sites doit « sélectionner le site pour lequel il souhaite commander avant de pouvoir ajouter des articles au panier », et les prix proposés sont « ceux que vous avez définis dans votre catalogue pour ce site d'entreprise ». Un catalogue est une publication plus une liste de prix : sans publication, « les clients connectés à leur compte B2B ne voient aucun produit pour ce site » ; sans liste de prix, ils « reçoivent les prix initiaux des variantes convertis dans la devise du marché ». Et le prix se résout par acheteur - en Liquid, `variant.price` est le prix dans le contexte du client courant ; dans la Storefront API, « sans contextualisation, la tarification de base et la publication des produits de votre boutique sont utilisées ».

## Voir d'abord comme l'acheteur
Avant de modifier le moindre réglage, regardez la boutique comme l'acheteur la voit. Trois méthodes, de la plus rapide à la plus précise :

1. **Afficher comme le site d'entreprise.** Dans l'administration, ouvrez l'entreprise et cliquez sur l'icône Afficher à côté du site - la liste de contrôle de Shopify pour les boutiques mixtes s'en sert pour « afficher votre boutique en ligne comme le client B2B ». Ou connectez-vous comme contact de test sur ce site.
2. **Une sonde Liquid.** Dans un thème de test, affichez `{{ customer.b2b? }}`, `{{ customer.current_location.name }}`, `{{ product.selected_or_first_available_variant.price | money }}` et `{{ product.selected_or_first_available_variant.quantity_rule.min }}`. `customer` vaut `nil` quand personne n'est connecté ; `customer.b2b?` n'est vrai que pour un contact d'entreprise ; `current_location` est le site que suivent les prix.
3. **Une sonde API.** Interrogez le `contextualPricing(context: { companyLocationId: "gid://shopify/CompanyLocation/…" })` de la variante pour `price`, `quantityRule` et `quantityPriceBreaks`. Depuis l'API 2026-10, le même objet a un `auditTrail` - « l'enregistrement de la façon dont le prix a été déterminé » - qui liste les ajustements derrière le nombre, sans toutefois dire de quel catalogue ils viennent. Si l'API renvoie le bon prix et pas la boutique, le problème est dans le thème, une application ou le code de la boutique (le maillon 6 et en aval), pas dans les catalogues.

## Symptôme A : l'acheteur voit le prix de détail
Le signalement qui a la plus longue liste de causes. Vérifiez-les dans cet ordre - chacune s'écarte à peu de frais, et les vérifications suivantes supposent que les précédentes sont passées.

| Cause | Comment confirmer | Correctif |
| --- | --- | --- |
| Pas connecté, ou connecté comme un client qui n'est pas contact d'entreprise | Sonde Liquid : `customer` vaut `nil` ou `customer.b2b?` est faux. Administration : le client n'a pas d'entreprise | Rattachez le client à un site d'entreprise comme contact ; Shopify exige que les clients soient rattachés « à des sites d'entreprise avant de pouvoir passer commande » |
| Le contact n'a pas accès au site | Administration : les autorisations du contact sur le site indiquent « Aucun accès » | Donnez au contact un rôle sur le site (Commande uniquement ou Administrateur du site) |
| La boutique utilise encore les anciens comptes clients | Paramètres > Comptes clients. « Vous ne pouvez pas utiliser les anciens comptes clients pour les clients et commandes B2B » ; les anciens comptes sont dépréciés depuis le 26 février 2026 | Passez aux comptes clients actuels - voir [les comptes clients pour un portail acheteur B2B](/blog/shopify-b2b-customer-accounts-buyer-portal#accounts) |
| Le mauvais site est sélectionné, ou le thème n'a pas de sélecteur de site | Sonde Liquid : `customer.current_location.name`. Shopify dit qu'un thème « devrait leur permettre de choisir le site d'entreprise » avec un sélecteur | Ajoutez un sélecteur avec `customer.company_available_locations` et `location.url_to_set_as_current` ; deux sites d'une même entreprise peuvent voir deux prix pour le même SKU, parce que les catalogues se rattachent au site |
| Aucun catalogue actif n'atteint le site | Markets > le marché B2B > sites inclus ; le statut du catalogue ; sur Plus, les catalogues assignés directement au site. « Un marché B2B sans site d'entreprise ne délivre pas de prix B2B » | Ajoutez le site à un marché B2B (tous les sites, une région appariée par l'adresse de livraison, ou des sites spécifiques), ou assignez le catalogue directement sur Plus ; passez le catalogue en Actif. Hors Plus, les catalogues n'atteignent les sites que par les marchés B2B, et la limite est de trois catalogues actifs sur l'ensemble des marchés B2B |
| Le site a quitté un marché apparié par région | L'adresse de livraison du site. L'appariement par région se fait sur l'adresse de livraison : un changement d'adresse fait entrer ou sortir un site d'un marché | Corrigez l'adresse, ou incluez le site explicitement dans le marché |
| Le catalogue n'a pas de liste de prix | Le catalogue a des produits mais ni ajustement de prix ni prix fixes : les acheteurs reçoivent « les prix initiaux des variantes convertis dans la devise du marché » | Ajoutez une liste de prix - un ajustement global en pourcentage, des prix fixes, ou les deux |
| La variante n'est pas publiée dans le catalogue | Markets > Catalogues > les variantes du produit. Les variantes non publiées dans le catalogue « ne reçoivent pas l'ajustement de prix personnalisé » | Publiez la variante : « le produit parent et la variante doivent tous deux être publiés sur ce canal ou ce catalogue » |
| Un ajustement de 0 % et aucun prix fixe | L'ajustement global de la liste de prix est de 0 et la variante n'a pas de prix fixe ; Shopify calcule le prix « avec l'ajustement en pourcentage » - il est donc égal au prix de base | Définissez l'ajustement ou un prix fixe pour la variante |
| Le thème ou une application affiche un prix qui n'est pas le prix contextuel de Shopify | La sonde API renvoie le prix B2B ; la boutique affiche un autre nombre. Cherchez dans le thème des prix lus dans des métachamps, une logique `customer.tags contains`, ou un rendu par un bloc d'application | Affichez `variant.price` (ou le prix contextuel de la Storefront API) ; retirez la logique de gros fondée sur les tags qui date d'avant les catalogues - [l'article sur la dette technique](/blog/shopify-b2b-technical-debt#structural) explique pourquoi c'est un second système de prix |
| La boutique est headless et ne transmet pas l'acheteur | Voir le [symptôme E](#headless) | Contextualisez chaque requête produit avec `@inContext(buyer: …)` |
| La commande est prise dans Shopify POS | « Si un client a accès à une tarification B2B pour un site d'entreprise, il ne peut pas accéder à ces prix dans Shopify POS » | Attendu : les prix d'entreprise sont pour la boutique en ligne ; il n'y a pas de correctif POS |

Shopify documente les conditions ci-dessus ; il ne documente **pas** précisément quel prix voit un contact connecté quand son site ne reçoit aucune tarification B2B - seulement qu'un tel marché « ne délivre pas de prix B2B ». Testez ce cas sur une boutique de développement avant de dire à un client ce que verront ses acheteurs.

## Symptôme B : aucun prix, ou aucun produit
| Cause | Comment confirmer | Correctif |
| --- | --- | --- |
| Une application de masquage des prix ou un verrou « connectez-vous pour voir les prix » du thème le cache | Le prix est dans le code source de la page ou dans la sonde API, mais pas à l'écran ; ou le message du verrou s'affiche pour un acheteur connecté | Vérifiez le ciblage de l'application - voir [les applications de devis et de masquage des prix](#apps) ci-dessous |
| Le catalogue a une liste de prix mais pas de publication | « Si aucune publication n'est associée à un catalogue B2B, les clients connectés à leur compte B2B ne voient aucun produit pour ce site » | Ajoutez les produits à la publication du catalogue |
| Le produit a été dépublié de la boutique en ligne pour le réserver au B2B, mais ne figure dans aucun catalogue | Shopify : « assurez-vous que ces produits sont toujours inclus dans un catalogue, pour qu'ils s'affichent pour vos clients B2B après leur connexion ». Avec Markets, les produits doivent figurer dans un catalogue assigné au marché de l'acheteur, sinon la boutique affiche sa page 404 | Incluez le produit dans le catalogue B2B ; avec Markets, dépubliez-le des catalogues des marchés régionaux plutôt que de la boutique en ligne |
| La variante n'est pas publiée dans le catalogue | La publication au niveau de la variante dans le catalogue | Publiez la variante en plus du produit |
| La boutique est réservée au B2B et l'acheteur n'est pas contact | Un client non B2B « ne peut pas parcourir votre boutique en ligne » quand elle est restreinte | Attendu - faites de l'acheteur un contact, ou levez la restriction |

## Symptôme C : le prix change entre la fiche produit, le panier et le paiement
| Cause | Comment confirmer | Correctif |
| --- | --- | --- |
| La quantité a atteint un palier de prix | Le produit a des paliers ; la quantité du panier en franchit un | Attendu. Les paliers sont par variante - « les clients doivent atteindre la quantité requise pour chaque variante » - et les quantités ne se cumulent pas entre variantes. Affichez les paliers sur la fiche produit ([symptôme D](#rules-breaks)) |
| Une réduction automatique ou un code s'ajoute au prix catalogue | « Les réductions automatiques et les codes de réduction s'appliquent comme des réductions supplémentaires en plus de tout ajustement de prix effectué avec les catalogues », et dans une boutique mixte les réductions existantes s'appliquent par défaut aux clients B2B comme D2C | Attendu ; si ce n'est pas voulu, limitez l'éligibilité de la réduction aux marchés auxquels elle est destinée |
| La taxe est incluse dans les prix d'un marché et pas d'un autre | Paramètres > Markets > l'inclusion des taxes du marché. « Vous définissez l'inclusion des taxes pour chaque marché sur lequel vous vendez » | Attendu ; alignez l'inclusion des taxes entre les marchés auxquels un acheteur peut correspondre, si la différence déroute les acheteurs |
| Un site exonéré de taxe achète sur un marché aux prix TTC | « Si vous définissez un client comme exonéré de taxe, mais que vous utilisez une tarification taxes incluses, le client paie quand même le prix affiché complet du produit » | Attendu selon la règle de Shopify ; utilisez une tarification hors taxes dans le marché B2B si les acheteurs exonérés doivent payer le prix net - voir [où se trouvent les exonérations de taxe B2B](/blog/shopify-b2b-tax-exemption) |
| L'acheteur a changé de site en cours de session | `customer.current_location` a changé ; le panier a été constitué sous le catalogue de l'autre site | Revérifiez le panier après un changement de site ; Shopify documente qu'un panier headless retire les produits « non publiés pour le client B2B courant » quand son identité d'acheteur change, mais ne documente pas ce que fait un panier de la boutique en ligne - testez-le |
| Le JavaScript du thème réaffiche le prix à partir de données non contextuelles | Le prix rendu côté serveur (code source, JavaScript désactivé) diffère du prix après l'exécution du script de la page | Faites lire le prix contextuel au sélecteur de variante et au sélecteur de quantité |
| Headless : le panier n'a pas d'identité d'acheteur | Voir le [symptôme E](#headless). Le coût du panier est « estimé ... susceptible de changer, et les changements seront reflétés au paiement » | Définissez `buyerIdentity` avec `customerAccessToken` et `companyLocationId` sur le panier |

## Symptôme D : les règles de quantité ou les paliers de prix ne s'affichent pas
| Cause | Comment confirmer | Correctif |
| --- | --- | --- |
| Le thème est trop ancien pour les afficher | Boutique en ligne > Thèmes > la version du thème. « Les règles de quantité des catalogues B2B sont prises en charge sur les thèmes Shopify gratuits, version 8.0.0 ou ultérieure. La tarification par volume est prise en charge à partir de la version 11.0.0. » Horizon est aussi compatible ; Trade est le thème de Shopify conçu pour le B2B | Mettez le thème à jour, ou ajoutez le Liquid à la main (`variant.quantity_rule`, `quantity_price_breaks`) - Shopify le qualifie de « tutoriel avancé » |
| Les règles sont sur un catalogue qui a perdu la comparaison de prix | Listez tous les catalogues qui atteignent le site. Shopify affiche le prix le plus bas « sans tenir compte des règles de quantité ni des paliers de prix par volume », et règles et paliers viennent avec le catalogue gagnant | Placez les règles sur le catalogue qui gagne, ou retirez le catalogue concurrent |
| Deux catalogues à égalité sur le prix le plus bas | « Si deux catalogues ont le même prix le plus bas pour un produit, ce sont les règles de quantité et la tarification par volume du premier catalogue créé qui s'affichent » | Attendu - rendez les prix différents ou déplacez les règles vers le premier catalogue créé |
| La tarification par volume a désactivé la remise en pourcentage du catalogue | « Une fois la tarification par volume appliquée à un produit, son prix devient fixe. Aucun ajustement global défini sur le catalogue ne s'applique. » Le produit peut donc afficher un prix de base plus élevé que ses voisins | Attendu - définissez des prix fixes sur l'entrée de catalogue de ce produit |
| Liquid affiche la règle par défaut | `variant.quantity_rule` renvoie un minimum de 1, un maximum vide et un incrément de 1 quand aucune règle ne s'applique dans le contexte de l'acheteur | Vérifiez la sonde API pour le même site ; si l'API a une règle et pas Liquid, signalez-le au support Shopify |

## Symptôme E : seule la boutique headless est fausse
| Cause | Comment confirmer | Correctif |
| --- | --- | --- |
| Les requêtes ne sont pas contextualisées | Les requêtes Storefront API n'ont pas `@inContext(buyer: { customerAccessToken, companyLocationId })`. « Sans contextualisation, la tarification de base et la publication des produits de votre boutique sont utilisées » | Transmettez l'acheteur à chaque requête produit ; le `companyLocationId` vient d'une requête Customer Account API |
| Seule la fiche produit est contextualisée | Fiche produit juste ; collections, recherche et panier faux. La recette Hydrogen B2B de Shopify fait exactement cela et précise : « En production, toutes les requêtes produit doivent être contextualisées avec les informations de l'acheteur » | Contextualisez chaque requête qui renvoie un prix ou une liste de produits |
| Le panier n'a pas d'identité d'acheteur | `cart.buyerIdentity` n'a pas de `companyLocationId` / `customerAccessToken` | Définissez-la avec `cartBuyerIdentityUpdate` ; les produits non publiés pour l'acheteur sont retirés du panier quand elle change |
| Les réponses sont mises en cache entre acheteurs | Un cache partagé devant des requêtes contextualisées. Shopify prévient : « Si vous mettez ces réponses en cache, d'autres utilisateurs pourraient voir la tarification B2B d'un autre client » | Ne mettez jamais en cache des réponses contextualisées par acheteur dans un cache partagé ; indexez-les par acheteur ou contournez le cache |

[Les comptes clients pour un portail acheteur B2B](/blog/shopify-b2b-customer-accounts-buyer-portal#headless) couvrent la connexion headless elle-même.

## C'est un prix B2B, mais pas celui que vous attendiez
Parfois, l'acheteur *obtient* bien un prix B2B - d'un autre catalogue que celui que le marchand a modifié. La résolution de Shopify est déterministe : le catalogue le plus spécifique l'emporte (un catalogue assigné au site, sur Plus, l'emporte sur les catalogues de marché) ; sinon le prix le plus bas gagne, comparé sans les règles de quantité ni les paliers ; à égalité, règles et paliers viennent du premier catalogue créé. Le seul cas que Shopify ne documente pas est un site qui correspond à deux marchés B2B sans lien entre eux : évitez donc que les conditions de marché se chevauchent.

Le diagnostic consiste à lister tous les catalogues qui peuvent atteindre le site - ceux qui lui sont assignés directement et ceux de chaque marché correspondant - et à appliquer ces règles à la main. Ne comptez pas sur `CompanyLocation.catalogs` seul pour cette liste : sa description est « les catalogues associés au site d'entreprise », et elle ne dit pas si les catalogues de marché sont inclus. [L'article sur le prix de départ](/blog/shopify-b2b-quote-starting-price#quand-plus-d-un-catalogue-s-applique) a le tableau complet des collisions, et [la référence](/reference/shopify-b2b#catalogs) les règles avec leurs sources.

## Les commandes provisoires créées dans l'administration
Une commande provisoire créée par le marchand n'a les prix d'une commande B2B que si elle connaît l'entreprise de l'acheteur : « Si un client B2B et un site d'entreprise sont assignés à une commande provisoire, les prix, les conditions de paiement et les options de paiement reflètent automatiquement les réglages de cette entreprise. » Dans l'API, c'est `purchasingEntity.purchasingCompany` avec l'entreprise, le site et le contact ; une entité d'achat est soit un client, soit une entreprise, pas les deux. Une commande provisoire créée pour le client sans le site d'entreprise doit donc s'attendre à être chiffrée comme une commande D2C.

Une commande provisoire verrouillée qui « n'a pas repris le nouveau prix du catalogue » fonctionne comme prévu : le verrouillage des prix conserve les prix « même si vous modifiez le prix du produit plus tard ». [Une commande provisoire n'est pas un devis](/blog/shopify-draft-order-vs-quote) explique les états propres à la commande provisoire.

## Si vous utilisez une application de devis ou de masquage des prix
Toute application qui masque les prix, affiche « connectez-vous pour voir les prix » ou affiche son propre prix peut produire les symptômes A et B pour les acheteurs B2B, parce qu'elle décide selon la connexion, les tags ou ses propres règles - pas selon le catalogue. Shopify note lui-même que « certaines applications tierces » ne fonctionnent pas avec le B2B et qu'il faut se renseigner auprès du développeur de l'application. Vérifiez le ciblage de chacune de ces applications avant de toucher aux catalogues.

Pour QuotWay, trois réglages comptent, et tous les trois sont documentés :

- **Le masquage des prix « Tous les produits des pages sélectionnées »** masque tous les prix de ces pages quel que soit le ciblage - un contact B2B connecté perd donc aussi les prix. **« Produits éligibles au devis uniquement »**, le réglage par défaut, ne masque un prix que là où le produit et l'acheteur correspondent à vos règles de ciblage, et sur Professional et au-delà ces règles peuvent cibler une entreprise B2B ou un site d'entreprise. Voir [masquer les prix](/docs/storefront/hide-prices) et [les règles de ciblage](/docs/targeting/targeting-rules). Le masquage des prix est disponible à partir de Starter - voir [les offres et tarifs](/pricing).
- **Le bloc Price Gate** utilisé pour le masquage compatible avec les moteurs de recherche (Professional et au-delà) affiche le prix à tout client connecté. Si vous définissez un tag client requis, un contact B2B connecté sans ce tag voit le message du verrou à la place - voir [masquer les prix aux moteurs de recherche](/docs/storefront/hide-price-from-search-engines).
- **Un devis part du prix que Shopify a résolu.** QuotWay lit les prix des catalogues ; il n'écrit jamais de catalogues, de listes de prix ni de publications. Un devis qui part du prix de détail renvoie donc à l'une des causes ci-dessus - [l'article sur le prix de départ](/blog/shopify-b2b-quote-starting-price) montre exactement ce que lit QuotWay, et [Shopify B2B avec QuotWay](/features/b2b) couvre le devis tenant compte de l'entreprise.

## Après le correctif : retester
Relancez les sections B2B du [plan de 50 tests avant lancement](/blog/shopify-b2b-launch-test-plan) : connexion et choix du site, prix et publication des catalogues, commandes provisoires pour un site d'entreprise, et les lignes headless si la boutique est headless. Testez en tant que contact sur chaque site qui compte, pas en tant qu'administrateur.

## Questions fréquentes

### Pourquoi un client B2B connecté voit-il les prix de détail sur Shopify ?

L'une de cinq conditions n'est pas remplie : le client n'est pas contact d'un site d'entreprise (ou il a « Aucun accès »), le mauvais site est sélectionné, aucun catalogue actif n'atteint le site - hors Plus, un catalogue n'arrive que par un marché B2B qui inclut le site -, la variante n'est pas publiée dans le catalogue, ou la liste de prix du catalogue ne lui donne pas de prix. Vérifiez-les dans cet ordre avec « Afficher » à côté du site d'entreprise dans l'administration.

### Pourquoi un client B2B peut-il ne voir aucun produit après sa connexion ?

Le catalogue qui atteint son site n'a pas de publication, ou les produits ont été dépubliés de la boutique en ligne pour les réserver au B2B sans être ajoutés à un catalogue. Shopify : sans publication, les clients B2B « ne voient aucun produit pour ce site ».

### Les prix B2B fonctionnent-ils avec les anciens comptes clients ?

Non. « Vous ne pouvez pas utiliser les anciens comptes clients pour les clients et commandes B2B. » Les anciens comptes sont dépréciés depuis le 26 février 2026 ; le B2B fonctionne sur les comptes clients actuels, avec une connexion par code à usage unique.

### Quels thèmes Shopify affichent les règles de quantité et la tarification par volume B2B ?

Les thèmes Shopify gratuits affichent les règles de quantité à partir de la version 8.0.0 et la tarification par volume à partir de la version 11.0.0. Shopify cite aussi Horizon comme compatible avec les fonctionnalités B2B, et Trade comme son thème conçu pour le B2B. Les thèmes plus anciens ou tiers ont besoin d'une mise à jour ou de Liquid sur mesure.

### Pourquoi le prix B2B change-t-il entre la fiche produit et le paiement ?

Les raisons documentées courantes sont un palier de prix atteint dans le panier, une réduction automatique ou un code qui s'ajoute au prix catalogue, un réglage d'inclusion des taxes différent dans le marché de l'acheteur, et un changement de site en cours de session. Dans une boutique headless, un panier sans le site d'entreprise de l'acheteur est le premier suspect.

### Le cache peut-il montrer les prix B2B d'un acheteur à un autre ?

Sur une boutique headless, oui - Shopify prévient que si vous mettez en cache des réponses Storefront API contextualisées par acheteur, « d'autres utilisateurs pourraient voir la tarification B2B d'un autre client ». Gardez ces réponses hors des caches partagés.

### Les clients B2B peuvent-ils obtenir les prix de leur entreprise dans Shopify POS ?

Non. Shopify indique que les acheteurs disposant d'une tarification B2B « ne peuvent pas accéder à ces prix dans Shopify POS, et doivent acheter sur votre boutique en ligne à la place ».

### Pourquoi ma commande provisoire créée dans l'administration n'utilise-t-elle pas les prix de l'entreprise ?

La commande provisoire a besoin d'un client B2B et d'un site d'entreprise - dans l'API, une `purchasingEntity` avec l'entreprise, le site et le contact. Une commande provisoire créée pour le client seul est chiffrée comme une commande D2C, et une commande provisoire avec verrouillage des prix conserve ses prix après un changement du catalogue.

## Sources

Pages Shopify, lues le 7 octobre 2026 en version d'API 2026-10 :

- [Connexion et comptes clients en B2B](https://help.shopify.com/en/manual/b2b/customer-login-and-accounts) - anciens comptes inutilisables pour le B2B ; choix du site ; un client sans site d'entreprise est D2C ; boutiques restreintes
- [Paiement B2B](https://help.shopify.com/en/manual/b2b/checkout) - les prix sont ceux du catalogue du site
- [Ajouter des clients aux entreprises](https://help.shopify.com/en/manual/b2b/companies-and-customers/adding-customers) - les contacts doivent être rattachés à des sites ; « Aucun accès »
- [Catalogues et tarification en B2B](https://help.shopify.com/en/manual/b2b/catalogs), [personnaliser la tarification B2B avec des catalogues](https://help.shopify.com/en/manual/b2b/catalogs/creating-catalogs) et [catalogues B2B avec Markets](https://help.shopify.com/en/manual/b2b/markets/catalogs) - limites, statut Actif, prix fixes et ajustements, produits réservés au B2B, règles du plus spécifique / du plus bas / de l'égalité
- [Gérer le B2B avec Markets](https://help.shopify.com/en/manual/b2b/markets/managing) - conditions d'inclusion dans un marché, « ne délivre pas de prix B2B », correspondance à plusieurs marchés
- [Catalogues (Markets)](https://help.shopify.com/en/manual/markets-new/catalogs) - les produits doivent figurer dans un catalogue assigné au marché ; devise du marché
- [Gérer les catalogues B2B (applications)](https://shopify.dev/docs/apps/build/b2b/manage-catalogs) - pas de publication, pas de liste de prix, ajustement en pourcentage pour les variantes sans prix fixe
- [Publier des variantes](https://help.shopify.com/en/manual/products/variants/publish-variants) - le produit et la variante doivent tous deux être publiés ; les variantes non publiées ne reçoivent pas d'ajustement
- [Règles de quantité et tarification par volume](https://help.shopify.com/en/manual/b2b/catalogs/quantity-pricing) et [les afficher sur votre boutique](https://help.shopify.com/en/manual/b2b/store-customization/quantity-pricing) - la tarification par volume fixe le prix ; versions de thème 8.0.0 et 11.0.0
- [Personnalisation de la boutique B2B](https://help.shopify.com/en/manual/b2b/store-customization) - Horizon et Trade
- [Prendre en charge les clients B2B dans votre thème](https://shopify.dev/docs/storefronts/themes/pricing-payments/b2b), [objet Liquid customer](https://shopify.dev/docs/api/liquid/objects/customer) et [objet Liquid variant](https://shopify.dev/docs/api/liquid/objects/variant) - sélecteur de site, `customer.b2b?`, `price` contextuel, `quantity_rule` par défaut
- [Liste de contrôle pour boutique mixte](https://help.shopify.com/en/manual/b2b/getting-started/blended-store-checklist) - « Afficher » à côté d'un site d'entreprise
- [Réductions B2B](https://help.shopify.com/en/manual/b2b/catalogs/discounts) - les réductions s'ajoutent aux prix catalogue
- [Inclure ou exclure les taxes des prix](https://help.shopify.com/en/manual/taxes/include-exclude-taxes) - inclusion des taxes par marché ; clients exonérés avec une tarification taxes incluses
- [Vendre en personne avec Markets](https://help.shopify.com/en/manual/sell-in-person/markets/overview) - pas de prix d'entreprise dans le POS
- [Exigences et points à considérer pour le B2B](https://help.shopify.com/en/manual/b2b/getting-started/considerations) - « certaines applications tierces »
- [Créer des commandes B2B avec les commandes provisoires](https://help.shopify.com/en/manual/b2b/checkout-and-orders/draft-orders), [PurchasingEntityInput (2026-10)](https://shopify.dev/docs/api/admin-graphql/2026-10/input-objects/PurchasingEntityInput) - prix d'entreprise sur les commandes provisoires, verrouillage des prix
- [ProductVariantContextualPricing (2026-10)](https://shopify.dev/docs/api/admin-graphql/2026-10/objects/ProductVariantContextualPricing) et [CompanyLocation (2026-10)](https://shopify.dev/docs/api/admin-graphql/2026-10/objects/CompanyLocation) - prix contextuel, `auditTrail`, `catalogs`
- [Headless avec le B2B](https://shopify.dev/docs/storefronts/headless/bring-your-own-stack/b2b), [le B2B dans Hydrogen](https://shopify.dev/docs/storefronts/headless/hydrogen/cookbook/b2b), [BuyerInput (Storefront 2026-10)](https://shopify.dev/docs/api/storefront/2026-10/input-objects/BuyerInput) et [Cart (Storefront 2026-10)](https://shopify.dev/docs/api/storefront/2026-10/objects/Cart) - contextualisation, la recette limitée à la fiche produit, identité d'acheteur du panier, l'avertissement sur le cache

Le comportement de QuotWay est décrit à partir de sa documentation publique et du code source de l'application, lus le 7 octobre 2026.
