Guest Order Link

€ 49,00
v1.0.0 Updated 15 okt. 2026

Guest Order Link

Koppelt bestellingen die als gast zijn geplaatst aan het klantaccount met hetzelfde e-mailadres, na bewijs van het adres, ook voor de historiek.
Hyvä Compatibel 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
Probeer de live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Compatible with Hyvä themes
  • Composer-ready installation

Guest Order Link

Een klant bestelt als gast en maakt daarna een account aan: "Mijn bestellingen" is leeg. Wimakeit_GuestOrderLink koppelt de bestellingen die als gast met hetzelfde e-mailadres zijn geplaatst aan dat account — bij het aanmaken van het account, bij de volgende bestelling, en voor de volledige historiek die al in de database staat.

De koppeling steunt niet alleen op een gelijk e-mailadres. Magento bevestigt e-mailadressen standaard niet: zonder voorzorg zou het volstaan om zich te registreren met het adres van een gastkoper om diens bestellingen, adressen en telefoonnummer te lezen. Standaard wacht de module tot de accounthouder op een link heeft geklikt die op dat adres is ontvangen.

Voor wie

  • Winkels die guest checkout toelaten en tickets krijgen als "ik vind mijn bestelling niet terug in mijn account"
  • Handelaars die hun gastkopers naar een klantaccount willen brengen zonder dat ze hun historiek verliezen
  • Winkels waarvan klanten een account hebben maar uit gemak als gast bestellen
  • Bureaus die een catalogus overnemen met jaren aan gastbestellingen die in één keer gekoppeld moeten worden

Belangrijkste voordelen

  • Koppeling bij het aanmaken van het account — een klant die al als gast bestelde, ontvangt de e-mail "Voeg uw eerdere bestellingen toe aan uw account"; één klik en de bestellingen staan in "Mijn bestellingen".
  • Bewijs van het e-mailadres — de link is ondertekend, beperkt in de tijd (standaard 7 dagen) en doet niets zonder een sessie die op dat account is ingelogd. De accountbevestiging van Magento en een wachtwoordreset per e-mail gelden ook als bewijs. Standaard aan, per website uit te schakelen.
  • Koppeling bij de bestelling — een gastbestelling met het adres van een bestaand account wordt bij het plaatsen aan dat account toegewezen. De klant vindt ze terug in zijn account zonder iets te doen.
  • Adressen exact vergeleken — de SQL-collatie beschouwt naam@gmaïl.com en naam@gmail.com als gelijk. De module vergelijkt de adressen zelf: de houder van een lookalike-adres krijgt de bestellingen van iemand anders niet.
  • Adresboek, optioneel — het verzend- en/of factuuradres van de gekoppelde bestellingen wordt aan het adresboek van het account toegevoegd, zonder dubbels, en wordt enkel het standaardadres als het account er geen heeft.
  • Historiek inhalen via CLI — bin/magento wimakeit:guest-orders:link, met simulatie (--dry-run), filter per website of per adres, en een limiet per run. Idempotent, en één e-mail per klant zolang de link geldig is: opnieuw uitvoeren valt klanten niet opnieuw lastig.
  • Melding "er bestaat geen account" — optioneel zeggen de formulieren voor inloggen en wachtwoord vergeten duidelijk dat er geen account bestaat voor het ingevulde adres, met een link om er één aan te maken en een vooraf ingevuld formulier.
  • Instellingen per website, standaard uit — er wordt niets gekoppeld en geen e-mail verstuurd zolang de module niet op de website is ingeschakeld. Een fout blokkeert nooit het aanmaken van het account of de bestelling.

Compatibiliteit

  • Magento 2.4.6-p4+ / Mage-OS 3.x
  • PHP 8.1 tot 8.5
  • Vereist wimakeit/module-core ^3.2
  • Geen JavaScript of statisch bestand: geen setup:static-content:deploy nodig, sales_order wordt niet gewijzigd
  • Getest op het Luma-theme; de e-mail en de meldingen gebruiken de standaardmechanismen van Magento
  • Vertalingen meegeleverd voor Engels (en_US), Frans (fr_FR), Nederlands (nl_NL) en Spaans (es_ES)

Installeer deze module via Composer. Zorg ervoor dat uw auth.json is geconfigureerd met uw Wimakeit-inloggegevens.

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.

Versie
v1.0.0
Ondersteuning
12 maanden
Last updated
15 okt. 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ä
Compatibel
Pakket
wimakeit/module-guest-order-link

Compatibility checker

Pick your stack to see if this module fits.

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.

Een bug gevonden? Laat het ons weten.

Een kort formulier opent in een nieuw tabblad — de modulenaam en uw taal zijn al ingevuld. Beschrijf wat u probeerde, wat misging, en wij komen binnen één werkdag bij u terug.

Een bug melden voor Guest Order Link
Module SKU: wimakeit-module-guest-order-link · Taal: nl_NL

Hulp nodig?

Ons team helpt u graag met de integratie.

Neem contact op
Plan een gesprek