Guest Order Link

49,00 €
v1.0.0 Mis à jour le 15 oct. 2026

Guest Order Link

Rattache à un compte client les commandes passées en invité avec la même adresse email, après preuve de l'adresse, y compris pour l'historique.
Compatible Hyvä Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
49,00 €
Essayer la démo en ligne
  • Mises à jour et support inclus pendant 12 mois
  • Clé de licence livrée immédiatement par email
  • Garantie satisfait ou remboursé 30 jours
  • Documentation complète incluse
  • Compatible avec les thèmes Hyvä
  • Installation prête pour Composer

Guest Order Link

Un client commande en invité, puis crée un compte : « Mes commandes » est vide. Wimakeit_GuestOrderLink rattache au compte les commandes passées en invité avec la même adresse email, à la création du compte, à la commande suivante, et pour tout l'historique déjà en base.

Le rattachement ne se fait pas sur la seule égalité d'adresse. Magento ne confirme pas les adresses email par défaut : sans précaution, il suffirait de s'inscrire avec l'adresse d'un acheteur invité pour lire ses commandes, ses adresses et son téléphone. Par défaut, le module attend que le titulaire du compte ait cliqué sur un lien reçu à cette adresse.

À qui ça s'adresse

  • Boutiques qui autorisent le guest checkout et reçoivent des tickets « je ne retrouve pas ma commande dans mon compte »
  • Marchands qui veulent faire passer leurs acheteurs invités au compte client sans leur faire perdre leur historique
  • Boutiques dont les clients ont un compte mais commandent en invité par facilité
  • Agences qui reprennent un catalogue avec des années de commandes invité à rattacher en une passe

Bénéfices clés

  • Rattachement à la création du compte — le client qui a déjà commandé en invité reçoit l'email « Ajoutez vos commandes précédentes à votre compte » ; un clic, et ses commandes apparaissent dans « Mes commandes ».
  • Preuve de l'adresse email — le lien est signé, limité dans le temps (7 jours par défaut) et ne fait rien sans une session connectée au compte concerné. La confirmation de compte Magento et la réinitialisation du mot de passe par email valent aussi preuve. Activée par défaut, désactivable par website.
  • Rattachement dès la commande — une commande invité passée avec l'adresse d'un compte existant lui est attribuée au moment où elle est validée. Le client la retrouve dans son compte sans rien faire.
  • Adresses comparées à l'identique — la collation SQL confond nom@gmaïl.com et nom@gmail.com. Le module compare lui-même les adresses : le titulaire d'une adresse sosie ne récupère pas les commandes d'un autre.
  • Carnet d'adresses, sur option — l'adresse de livraison et/ou de facturation des commandes rattachées est ajoutée au carnet du compte, sans doublon, et ne devient l'adresse par défaut que si le compte n'en a pas.
  • Rattrapage de l'historique en CLI — bin/magento wimakeit:guest-orders:link, avec simulation (--dry-run), filtre par website ou par adresse, et plafond par passage. Idempotente, et un seul email par client pendant la durée de validité du lien : la relancer ne relance pas les clients.
  • Message « aucun compte n'existe » — sur option, les formulaires de connexion et de mot de passe oublié disent clairement qu'aucun compte n'existe pour l'adresse saisie et proposent d'en créer un, formulaire prérempli.
  • Réglages par website, désactivé par défaut — rien n'est rattaché et aucun email ne part tant que le module n'est pas activé sur le website. Un échec ne bloque jamais la création du compte ni la commande.

Compatibilité

  • Magento 2.4.6-p4+ / Mage-OS 3.x
  • PHP 8.1 à 8.5
  • Nécessite wimakeit/module-core ^3.2
  • Aucun JavaScript ni fichier statique : pas de setup:static-content:deploy à prévoir, sales_order n'est pas modifiée
  • Testé sur le thème Luma ; l'email et les messages passent par les mécanismes standard de Magento
  • Traductions livrées pour l'anglais (en_US), le français (fr_FR), le néerlandais (nl_NL) et l'espagnol (es_ES)

Installez ce module via Composer. Assurez-vous que votre auth.json est configuré avec vos identifiants Wimakeit.

Terminal
$ composer require wimakeit/module-guest-order-link:^1.0.0
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required dependency

This module requires wimakeit/module-core ^3.2. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

What the installation changes

  • Two tables are created: wimakeit_guest_order_link_proof (which accounts proved their address; stores a hash, not the address) and wimakeit_guest_order_link_claim (when the last email was sent).
  • sales_order is not altered.
  • No JavaScript and no static file: setup:static-content:deploy is not needed for this module.

Nothing happens until you enable it

The module is off by default. While it is off, nothing is linked and no email is sent. Enable it per website under Stores → Configuration → Wimakeit → Guest Order Link, or:

bin/magento config:set --scope=websites --scope-code=<code> wimakeit_guest_order_link/general/enabled 1
bin/magento cache:clean config

ACL permissions

After installation, the following ACL resource is available under System → Permissions → User Roles:

ResourceDefault
Wimakeit_GuestOrderLink::config (edit module configuration, under Wimakeit)granted to Administrator role only

Configuration

All settings are scoped to the website, because a customer account is: a customer who ordered on two store views of the same website gets both orders back.

Guest orders - link to the customer account

SettingDefault
Enable linkingNo
Require proof of email ownershipYes
Link new guest orders of existing accountsYes
Also overwrite the order's customer groupNo
Save the shipping address in the address bookNo
Save the billing address in the address bookNo

Email "Add your orders to your account"

SettingDefault
Email SenderGeneral Contact
Email Templatethe module's template (can be overridden in Marketing → Email Templates)
Link lifetime (days)7

Login - message when no account exists

SettingDefault
Say that no account exists for the addressNo

How proof of email ownership works

With Require proof of email ownership on, guest orders are linked only once the account holder has clicked a link received at the account's address:

EventEffect
An account is created and guest orders exist for its addressThe email is sent
The customer clicks the link while logged in to that accountOrders are linked
Magento account confirmation (when customer/create_account/confirm is on)Orders are linked, no extra email
Password set or reset through the link received by emailOrders are linked

The link is signed with the installation's encryption key and expires. It does nothing without a session logged in to the account, so a mail scanner opening it triggers nothing. One email is sent per link lifetime, however many guest orders the customer places in the meantime.

Linking the existing order history

At installation no account has proved its address yet. Run the catch-up command once. It covers every website unless you pass --website, and it sends emails only on the websites where linking is enabled:

bin/magento wimakeit:guest-orders:link --dry-run     # 1. count, writes nothing, sends nothing
bin/magento wimakeit:guest-orders:link               # 2. run
bin/magento wimakeit:guest-orders:link --dry-run     # 3. check
OptionEffect
--dry-runSimulation: shows what would be done, writes nothing and sends no email
--website=<code> / -w <code>Restricts to one website (code or ID). Default: all
--email=<address>Restricts to a single address
--limit=<n>Caps the number of accounts processed, to split the work into several runs
--ignore-proofAlso links accounts that have not proved their address
-vDetails account by account

Accounts that have proved their address get their orders linked. The others receive the email, and their orders are linked as they click. The first real run therefore sends one email to each account that has guest orders: check the count with --dry-run first.

Worth knowing

  • Turning proof off. Orders are then linked as soon as the account is created, and later guest orders placed with an account's address go straight to it. Only do this on a store where Magento's account confirmation is required: otherwise whoever registers with someone else's address reads that person's guest orders.
  • Linking at order placement. Anyone can place a guest order with the address of a proven account, and it lands in that account's history. Nothing leaks from the account, but its holder sees an order they did not place. With the address book options on, the address typed at checkout is also added to the account.
  • "No account exists" message. It lets anyone check whether an address has an account, which Magento's native messages avoid on purpose. Forgotten password requests stay rate-limited by Magento. On the login form, enable it only with a captcha (customer/captcha/forms).
  • Customer group. The group stored on an order is a snapshot taken at purchase time and it carries a tax class. Overwriting it relabels past sales in reports without recalculating the tax already stored, which is why the option is off by default.
  • Order save. Each linked order goes through OrderRepository::save(): the order grid is resynchronised and sales_order_save_after observers run. Test it on a project that exports orders to an ERP on save.
  • Up to 50 orders are linked per customer action, to keep the request fast. The catch-up command picks up the rest.
  • Password reset as proof relies on the core passing the account's email to AccountManagement::resetPassword(), verified on Magento 2.4.6-p4, 2.4.7 and Mage-OS 3.x. On older cores this path links nothing; the email link and the account confirmation still work.
  • Large order tables. No index is added on sales_order.customer_email. Beyond roughly 100,000 orders, add an index on (customer_email, store_id) in your project.
  • A failure never blocks account creation or the order: it is logged in var/log/ (lines starting with Guest order link:).

Cron jobs

None.

Version
v1.0.0
Support
12 mois
Dernière mise à jour
15 oct. 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Compatible
Package
wimakeit/module-guest-order-link

Vérifier la compatibilité

Indiquez votre stack pour vérifier la compatibilité du module.

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[1.0.0] - 2026-10-02

Feature

  • Guest orders linked to the account created afterwards. A customer who ordered as a guest and then creates an account finds those orders in "My Orders", across the store views of the website.
  • Linking at order placement. A guest order placed with the email address of an existing account is given to that account when it is placed.
  • Address book. Optionally, the shipping and/or billing address of the linked orders is added to the account's address book, without duplicates and without replacing an existing default address.
  • Catch-up command. bin/magento wimakeit:guest-orders:link links the existing order history, with a simulation mode and filters by website or address.
  • "No account exists" message. Optionally, the login and forgotten password forms say that no account exists for the address entered and link to account creation.

Security

  • Proof of email ownership, on by default. Orders are linked only after the account holder has clicked a signed, time-limited link received at the account's address, confirmed the account, or reset the password by email. Registering with someone else's address does not give access to their guest orders.
  • Exact address comparison. Look-alike addresses that the database treats as equal (name@gmaïl.com and name@gmail.com) are told apart.

Admin

  • Per-website settings under Stores → Configuration → Wimakeit → Guest Order Link. Linking is off by default.
  • Translations for English, French, Dutch and Spanish.

Vous avez trouvé un bug ? Faites-nous-en part.

Un court formulaire s'ouvre dans un nouvel onglet — le nom du module et votre langue sont déjà pré-remplis. Décrivez ce que vous avez tenté, ce qui n'a pas fonctionné, et nous vous répondrons sous un jour ouvré.

Signaler un bug pour Guest Order Link
SKU module : wimakeit-module-guest-order-link · Langue : fr_FR

Besoin d'aide ?

Notre équipe est disponible pour vous accompagner dans l'intégration.

Contactez-nous
Planifier un appel