PS PrestaShop Intermédiaire

Expédition Partielle & Reliquats Automatiques (dfavailsplit)

Installer, configurer et comprendre le module qui expédie le stock disponible et place automatiquement le reste en reliquat.

Mis à jour Version du module 1.3.4

Présentation

Ce module découpe automatiquement chaque commande selon le stock réellement disponible. Les articles en stock partent immédiatement dans une commande prête à préparer, tandis que les articles en rupture sont déplacés dans une commande reliquat (backorder) dédiée. Les deux commandes partagent la même référence et la somme de leurs totaux est strictement égale à la commande d’origine, taxes comprises.

Tout se déclenche à la validation de la commande, et une découpe manuelle ligne par ligne est disponible sur chaque fiche commande.

Installation

  1. Téléversez le dossier dfavailsplit dans /modules/, ou installez l’archive ZIP via Modules > Module Manager > Téléverser un module.
  2. Cliquez sur Installer.
  3. Ouvrez la configuration via Configurer.

À l’installation, le module crée un état de commande dédié « En réapprovisionnement (Backorder) » (couleur orange). Cet état et l’historique des splits sont conservés à la désinstallation pour préserver vos données.

Configuration

Rendez-vous dans Modules > Module Manager > dfavailsplit > Configurer.

Activer le split automatique

Interrupteur principal. Désactivé, aucune commande n’est découpée automatiquement ; la découpe manuelle reste disponible sur la fiche commande.

État de commande backorder

État appliqué à la commande contenant les articles en rupture. Par défaut, l’état « En réapprovisionnement (Backorder) » créé à l’installation.

Surcharge de l’état de la commande expédiable

Optionnel. Activez cette option pour forcer un état précis (par exemple « Préparation en cours ») sur la commande expédiable. Désactivé, la commande conserve son état courant.

Port gratuit sur le backorder

Activé par défaut. Les frais de port restent sur la commande expédiable ; le reliquat est livré sans frais, car le client a déjà payé le port une seule fois.

Découpe des lignes partielles

Activé par défaut. Une ligne partiellement disponible (3 en stock sur 5 commandés) est scindée en 3 expédiés + 2 en reliquat. Désactivé, la ligne entière bascule en reliquat.

E-mail backorder

Envoie au client un e-mail dans sa langue (FR/EN/ES/DE/IT/PL fournis, repli anglais) l’informant que sa commande sera expédiée en plusieurs fois.

Régénération des factures après split

Désactivé par défaut. Laissez désactivé pour émettre les factures au moment de l’expédition réelle de chaque commande. Activé, le module régénère les factures des deux commandes après le split si l’état courant l’exige.

Journalisation

Enregistre chaque opération de split dans les journaux PrestaShop pour la traçabilité.

Comment fonctionne le split

La découpe automatique s’exécute juste après la validation de la commande (hook actionValidateOrderAfter, avec repli sur actionOrderStatusPostUpdate pour les flux qui ne l’émettent pas). Le module déduit la quantité expédiable de chaque ligne à partir de la pénurie réelle du stock, mutualisée par produit et déclinaison. Ce modèle reste juste même pour une découpe manuelle lancée des jours plus tard, quand le stock a bougé.

Trois cas se présentent :

  • Tout est disponible : aucune découpe. La commande suit son cours (option de forçage d’état possible).
  • Tout est en rupture : pas de découpe, la commande entière passe à l’état backorder.
  • Commande mixte : la commande d’origine conserve la part expédiable (port, remises, emballage, paiement) ; une nouvelle commande reliquat est créée pour le reste, avec la même référence.

Les totaux (produits, port, remises, emballage, poids) et la ventilation TVA sont recalculés au centime près, ligne par ligne. La somme des deux commandes égale exactement la commande d’origine, taxes comprises, y compris sur les factures régénérées et les rapports fiscaux. Le paiement, agrégé par référence, se réconcilie nativement.

La découpe est atomique : toutes les mutations (création du reliquat, déplacement des lignes, totaux, transporteur, factures) sont encadrées par une transaction SQL. Un échec en cours de route annule tout, jamais de commande à moitié découpée.

Découpe manuelle depuis la fiche commande

Sur chaque fiche commande non découpée, le panneau « Découpe par disponibilité » affiche un tableau ligne par ligne : produit, quantité commandée, stock actuel et quantité à mettre en reliquat. Les champs sont pré-remplis avec la suggestion de l’analyse de stock ; ajustez-les librement, 0 conservant la ligne sur la commande d’origine, puis cliquez sur « Découper cette commande maintenant ».

  • Disponible même quand la découpe automatique est désactivée.
  • Une commande déjà découpée ne peut jamais l’être une seconde fois.
  • La sélection est refusée si elle viderait entièrement l’une des deux commandes.
  • Les lignes personnalisées et le réglage « découpe des lignes partielles » sont respectés.

Sur la fiche commande (back-office)

Une fois la découpe effectuée, le panneau relie les deux commandes : depuis la commande expédiable, il renvoie vers le reliquat associé, et inversement. La référence partagée est rappelée dans les deux sens.

Page de confirmation et e-mail client

Sur la page de confirmation de commande, un bloc liste les articles qui seront expédiés séparément, avec le rappel de la référence commune et du port payé une seule fois. Le bloc fonctionne avec tous les thèmes : il s’appuie sur les trois ancres de confirmation (displayOrderConfirmation, displayOrderConfirmation1, displayOrderConfirmation2) et résout la commande depuis l’URL de confirmation avec vérification de la clé de sécurité, sans jamais s’afficher deux fois.

Si l’option e-mail est active, le client reçoit également un e-mail dans sa langue l’informant de l’expédition partielle et du reliquat livré sans frais supplémentaires. Les modèles FR, EN, ES, DE, IT et PL sont fournis dans le dossier mails/ du module, avec repli sur l’anglais pour toute autre langue.

L’e-mail de confirmation initial (commande complète) est envoyé par PrestaShop avant la découpe. L’e-mail backorder du module vient ensuite informer le client de l’expédition en plusieurs fois.

Cas particuliers et limites

  • Les produits virtuels ne sont jamais mis en reliquat.
  • Les produits en gestion avancée des stocks (ASM) sont exclus de la découpe et restent sur la commande expédiable.
  • Une ligne personnalisée n’est pas scindée : elle est routée entière vers l’une des deux commandes.
  • Si la gestion des stocks est désactivée dans PrestaShop, aucune découpe n’est effectuée.

Dépannage

Aucune commande n’est découpée

Vérifiez que le split est activé, que la gestion des stocks PrestaShop est active et que les produits concernés ne sont ni virtuels ni en gestion avancée des stocks. Un split automatique n’a lieu que pour une commande mixte (à la fois du disponible et de la rupture). Pour tout autre cas, utilisez la découpe manuelle sur la fiche commande.

Le reliquat affiche des frais de port

Activez l’option « Port gratuit sur le backorder ». Les frais restent alors uniquement sur la commande expédiable.

Le bloc n’apparaît pas sur la page de confirmation

Depuis la version 1.3.4, le bloc s’affiche avec tous les thèmes via trois ancres de confirmation. Si vous utilisez une version antérieure, mettez le module à jour.

Compatibilité

PrestaShop 8.x et 9.x, multiboutique, sans override ni Composer.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support