Passer au contenu principal

Présentation de l'intégration Megaventory

Comment fonctionne l'intégration entre Smeetz et Megaventory : les entités de chaque côté, leurs relations, la configuration multi-sites avec les groupes de vente, et la circulation des ventes, des annulations et des taxes entre les deux systèmes.

⚠️ Cet article a été traduit automatiquement. En cas d'erreur ou d'imprécision, veuillez contacter l'équipe support de Smeetz.


Cet article explique le fonctionnement de l'intégration entre Smeetz et Megaventory : les entités de chaque côté, leurs relations, et la mise en place de la vente sur plusieurs sites.


1. Ce que fait l'intégration

Megaventory est la source de référence pour l'inventaire. Smeetz est la couche de vente. L'intégration fonctionne à trois niveaux :

  1. Synchronisation des produits : les produits créés dans Megaventory sont reproduits sous forme d'articles dans Smeetz, avec leur TVA et leurs champs personnalisés. Un produit supprimé dans Megaventory est archivé dans Smeetz.

  2. Synchronisation des disponibilités : les ajustements de stock dans Megaventory sont répercutés dans Smeetz en quelques secondes. Un rapprochement automatique récupère aussi les mises à jour, par sécurité.

  3. Flux de ventes et d'annulations : chaque vente dans Smeetz déduit le stock de l'entrepôt concerné dans Megaventory. Les annulations et les remboursements le restituent.

Les alertes de stock et les quantités minimales de réapprovisionnement sont gérées dans Megaventory, pas dans Smeetz.


2. Les entités et leurs relations

Pour reproduire un compte Megaventory à plusieurs entrepôts, un article Smeetz est créé par produit et par entrepôt. Tout le reste découle de cette règle.

MEGAVENTORY (inventory master)          SMEETZ (selling layer)

+---------------+ mirrored as one +----------------------+
| Product (SKU) |---- item per synced ->| Item |
+-------+-------+ warehouse | (1 per SKU+warehouse)|
| +-----+----------+-----+
| stock held | |
v per warehouse bound to 1 | | added to
+---------------------+ warehouse | |
| Inventory Location |<--------------------+ |
| Shop 1 / Store / | +-------v----------+
| Main ... | | Sales Collection |
+---------+-----------+ | (1 per shop) |
^ +--------+---------+
| deducts / restores | assigned
| stock v to POS
+---------+------------+ +------------------+
| Documents: | 1 Goods Outbound | POS (per shop) |
| Goods Outbound / |<--- per sale line ----- | shows only its |
| Goods Inbound | (tax rate passed as | shop's items |
+----------------------+ DocumentRowTaxID) +------------------+

Les relations en un coup d'œil :

Relation

Cardinalité

Signification

Produit Megaventory vers emplacement d'inventaire (Inventory Location)

1 à plusieurs

Un produit a un niveau de stock distinct dans chaque entrepôt.

Produit Megaventory vers article Smeetz

1 à plusieurs

Le produit est reproduit une fois par entrepôt synchronisé. Le couple (SKU + entrepôt) identifie l'article.

Article Smeetz vers emplacement d'inventaire

plusieurs à 1

Chaque article est rattaché à un seul entrepôt. Sa quantité en stock dans Smeetz correspond au stock de cet entrepôt.

Article Smeetz vers groupe de vente

plusieurs à plusieurs

Les articles sont ajoutés à des groupes de vente. Convention : un groupe par boutique, contenant les articles de cette boutique.

Groupe de vente vers point de vente

1 à 1

Chaque point de vente utilise le groupe de sa boutique : il n'affiche et ne vend donc que l'inventaire de cet entrepôt.

Ligne de vente Smeetz vers document Megaventory

1 à 1

Une vente crée un Goods Outbound dans l'entrepôt rattaché à l'article. Les annulations et les remboursements créent l'opération inverse dans le même entrepôt.


3. Configuration dans Megaventory

Quatre éléments sont nécessaires côté Megaventory avant la connexion.

Étape 1 : récupérer la clé API. Dans Megaventory, ouvrez le profil utilisateur (My Profile, page « Edit User »). Le champ API Key contient la clé à coller dans Smeetz. Utilisez un utilisateur administrateur dédié à l'intégration.

Étape 2 : activer les Custom Webhooks. Dans le menu Megaventory, allez dans Integrations > Custom Webhooks, activez Enable Custom Webhooks Integration et cliquez sur Save. C'est ce qui permet à Megaventory de prévenir Smeetz en temps réel. Avec les webhooks actifs, la synchronisation est instantanée sur tout le cycle de vie du produit :

  • Un produit créé dans Megaventory apparaît immédiatement dans Smeetz (un article par entrepôt synchronisé).

  • Un produit modifié dans Megaventory (nom, prix, taxe, champs personnalisés) met immédiatement à jour les articles Smeetz correspondants.

  • Un produit supprimé dans Megaventory est archivé dans Smeetz, pas supprimé : il n'est plus en vente, et son historique de ventes ainsi que ses rapports sont conservés.

  • Les mouvements de stock (livraisons, transferts, ajustements, inventaires) mettent immédiatement à jour la disponibilité dans Smeetz.

Sans webhooks, ces changements n'arrivent qu'avec le rapprochement périodique.

Étape 3 : configurer les taxes. Dans Megaventory, la taxe n'est pas définie sur le produit lui-même : elle provient d'une règle de prix de vente (sales pricing rule). Deux actions sont nécessaires :

3a. Créer la taxe : allez dans Taxes > New Tax et saisissez un nom et le pourcentage. Créez une taxe par taux de TVA utilisé (par exemple taux normal et taux réduit).

3b. Rattacher la taxe aux produits avec une règle de prix : allez dans Pricing Rules > New Sales Pricing Rule, sélectionnez la taxe dans la liste Tax, et choisissez les produits concernés sous Use this Pricing rule for. Chaque produit doit être couvert par une règle de prix portant sa taxe.

✅ Lors de la synchronisation du catalogue, la taxe de la règle de prix du produit est appliquée automatiquement à l'article importé dans Smeetz (associée au taux de TVA Smeetz de même valeur). Rien d'autre à configurer.

⚠️ Un produit qui n'est couvert par aucune règle de prix avec taxe reçoit le taux de TVA par défaut choisi lors de la configuration de l'intégration dans Smeetz. Pour un catalogue mixte (taux normal et taux réduit), vérifiez que chaque catégorie à taux réduit a sa règle de prix, sinon ces articles reçoivent le taux par défaut.

Étape 4 : créer un client pour Smeetz. Chaque vente envoyée par Smeetz est enregistrée dans Megaventory au nom d'un client. Allez dans Clients > New Client, saisissez le nom de votre choix (par exemple « Smeetz »), laissez Supplier or Client? sur Client, puis cliquez sur Insert. Lors de la configuration dans Smeetz, ce client est sélectionné comme acheteur par défaut : sans lui, Megaventory refuse les ventes envoyées par Smeetz.


4. Configuration dans Smeetz

📌 Comment accéder : app.smeetz.com > Détails > Intégration d'inventaire

La connexion se fait avec un assistant en libre-service, en quatre étapes :

  1. Clé API : collez la clé API Megaventory obtenue à l'étape 1 ci-dessus. Elle sert uniquement à tester la connexion jusqu'à l'activation de l'intégration.

  2. Test de connexion : Smeetz contacte Megaventory et confirme le compte.

  3. Entrepôts : choisissez les entrepôts à synchroniser. Le premier choisi devient l'entrepôt par défaut, utilisé pour les ventes qui ne peuvent être rattachées à aucun autre entrepôt.

  4. Vérification et activation : confirmez la configuration. L'activation lance la première synchronisation du catalogue.

Après l'activation, sélectionnez l'acheteur par défaut : le client créé dans Megaventory à l'étape 4 ci-dessus. Les ventes envoyées à Megaventory sont enregistrées à son nom. S'il n'est pas défini, toutes les ventes sont refusées.

Une fois l'intégration activée, la même page affiche l'état de la connexion : fournisseur, clé API (seuls les derniers chiffres sont affichés), heure de la dernière synchronisation, entrepôts synchronisés et un interrupteur pour activer la synchronisation du stock.

Organisez ensuite la partie vente :

Étape 5 : créer un groupe de vente par boutique et y ajouter les articles de cette boutique sous Produits boutique. La liste déroulante regroupe les articles par nom d'entrepôt, et chaque groupe a un lien Tout sélectionner pour ajouter tout l'emplacement en un clic (et un lien pour tout désélectionner).

Étape 6 : attribuer chaque groupe au point de vente de la boutique. Le point de vente n'affiche alors que l'inventaire de son propre entrepôt, tandis que le back-office garde la visibilité sur tous les entrepôts synchronisés.

✅ Vous pouvez vérifier le résultat dans Catalogue > Inventaire de détail : la liste a une colonne Entrepôt et affiche une ligne par article et par entrepôt (plus une ligne cumulée sans entrepôt), pour voir côte à côte le stock de chaque site.

⚠️ Tant que l'intégration est active, Megaventory est le système maître : la création manuelle d'articles boutique et l'ajustement des disponibilités directement dans Smeetz sont bloqués. Les produits et les niveaux de stock sont gérés dans Megaventory et arrivent automatiquement dans Smeetz.


5. Ventes, annulations et remboursements

  • Une vente au point de vente déduit automatiquement le stock de l'entrepôt de l'article dans Megaventory. Rien ne change pour le caissier.

  • Scanner ou sélectionner un article charge uniquement le niveau de stock de l'entrepôt de ce point de vente.

  • Dans l'écran Vente du back-office, la liste déroulante Produit boutique présente le même regroupement par entrepôt : l'opérateur sait toujours de quel site provient l'article qu'il vend.

  • Le taux de taxe est une propriété de la vente, pas du produit. Il est transmis à Megaventory pour chaque ligne de vente sous la forme DocumentRowTaxID dans le document Goods Outbound.

  • Les annulations et les remboursements restituent les articles dans leur entrepôt Megaventory d'origine, ligne par ligne.


6. Taxes et attributs des produits

  • La TVA est importée automatiquement : lors de la synchronisation des produits depuis Megaventory, la taxe portée par la règle de prix de vente du produit (voir section 3, étape 3) est appliquée aux articles boutique importés dans Smeetz, associée au taux de TVA Smeetz de même valeur. Les produits sans règle reçoivent le taux de TVA par défaut défini lors de la configuration de l'intégration.

  • Au moment de la vente, la taxe de chaque ligne est transmise à Megaventory sous la forme DocumentRowTaxID, pour que les deux systèmes restent alignés.

  • Une fois définie, la TVA n'est écrasée ni par la synchronisation ni par le rapprochement : un opérateur peut la modifier article par article dans le back-office, et sa valeur est conservée.

  • Les champs personnalisés alimentent les codes comptables et analytiques : les deux derniers champs personnalisés du produit Megaventory sont réservés à cet usage. Le champ personnalisé 19 contient le code comptable et le champ personnalisé 20 le code analytique. Lors de la synchronisation, ils sont reportés sur les codes comptable et analytique de l'article Smeetz, afin que le chiffre d'affaires soit enregistré avec les bons codes dans les rapports et les exports comptables. Renseignez ces deux champs sur chaque produit dans Megaventory (ils peuvent faire partie du fichier d'import des données).

  • Les attributs des produits, y compris le regroupement par collection, se trouvent sur le produit Megaventory. Rien n'a besoin d'être transmis au moment de la vente.

Avez-vous trouvé la réponse à votre question ?