> For the complete documentation index, see [llms.txt](https://guideadmin.margipro.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guideadmin.margipro.com/parametres/centralisation-prix-vente.md).

# Centralisation des prix de vente par site

La centralisation permet à une entreprise multisite de partager les prochaines modifications de prix de vente, tout en conservant la possibilité d'avoir des exceptions par produit et par option.

## Principe

Deux niveaux de réglage se complètent :

| Niveau | Champ                                         | Effet                                                              |
| ------ | --------------------------------------------- | ------------------------------------------------------------------ |
| Site   | `companies_locations.sync_selling_price`      | Définit la valeur générale du site et celle des futurs prix.       |
| Prix   | `products_locations_price.sync_selling_price` | Définit la centralisation du prix de base ou d'une option précise. |

Le réglage n'est pas stocké sur `products_locations`. Il appartient à chaque ligne de prix : le prix standard et chacune de ses options peuvent donc avoir un comportement différent.

{% hint style="info" %}
Activer la centralisation ne recopie pas immédiatement les montants existants. La propagation se produit à la prochaine modification du prix concerné.
{% endhint %}

## Régler un site depuis l'administration

1. Ouvrez **Administration → Magasins**.
2. Dépliez le magasin concerné.
3. Créez un nouveau site ou cliquez sur le crayon d'un site existant.
4. Dans **Options du site**, réglez **Centraliser les prix de vente**.
5. Cliquez sur **Enregistrer**.

L'option apparaît à partir du deuxième site du magasin. Lors de la création d'un nouveau site, sa valeur initiale reprend celle du premier site affiché.

Sur un site existant, modifier le réglage met à jour :

* la valeur générale du site ;
* toutes ses lignes de prix déjà enregistrées, prix de base et options compris ;
* la valeur qui sera attribuée aux futurs prix créés sur ce site.

Le gérant peut effectuer la même opération depuis **Paramètres → Sites**, avec le crayon **Modifier les réglages du site**.

## Personnaliser un prix

Dans **Paramètres → Produits**, la colonne **Prix centralisé** permet de déroger au réglage général pour chaque prix existant.

Une case grisée signifie que la ligne de prix n'existe pas encore. Elle affiche alors la valeur générale du site. Dès que le prix est enregistré, cette valeur est copiée dans `products_locations_price.sync_selling_price` et la case devient modifiable.

Supprimer un prix supprime sa ligne et son réglage individuel. Si le prix est recréé plus tard, il reprend la valeur générale du site à ce moment-là.

## Règles de propagation

Lorsqu'un prix est modifié, MargiPro le propage uniquement si toutes les conditions suivantes sont réunies :

* le site cible appartient à la même entreprise et fait partie du périmètre accessible de l'utilisateur ;
* le même produit est configuré sur le site cible ;
* la ligne de prix source est centralisée ;
* la ligne de prix cible est centralisée, ou elle n'existe pas encore et le réglage général du site cible est activé ;
* pour une option, il s'agit exactement de la même option.

Une ligne cible absente est créée avec le nouveau montant et la valeur générale de son site. Une ligne existante conserve son propre réglage de centralisation.

## Reprise initiale des prix et des découpes

Indépendamment de la centralisation permanente :

* un prix de base ou d'option absent reprend le prix le plus récemment modifié sur un autre site de la même entreprise ;
* un prix local égal à `0` est considéré comme existant et reste prioritaire ;
* à la première création d'une configuration produit/site, une découpe existante sur un site frère est préférée au modèle `product_sub_default` ;
* si plusieurs sites possèdent une découpe, MargiPro retient celle dont une relation a été modifiée le plus récemment ;
* en l'absence de découpe sur les autres sites, le modèle catalogue reste utilisé.

Cette reprise sert de point de départ. Elle ne rend pas le prix permanent entre les sites si la centralisation n'est pas activée.

## Dépendances Supabase

Le frontend attend les colonnes booléennes suivantes dans l'API Supabase :

* `companies_locations.sync_selling_price` ;
* `products_locations_price.sync_selling_price`.

Après leur ajout en base, le cache du schéma PostgREST doit être rechargé. Sinon l'interface affiche un message indiquant que le nouveau champ n'est pas encore disponible dans l'API Supabase.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://guideadmin.margipro.com/parametres/centralisation-prix-vente.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
