# reach-digital/magento2-guesttoshadowcustomer

`composer require reach-digital/magento2-guesttoshadowcustomer`

Canonical URL: https://packagento.com/reach-digital/magento2-guesttoshadowcustomer

## At a glance

- **Vendor**: reach-digital (https://packagento.com/reach-digital.md)
- **Latest version**: v1.4.2 — released 2026-06-03
- **Pricing**: Free
- **Package type**: Magento 2 module
- **Status**: active, accepting new buyers

## Installation

Packagento is licence-gated, so even free packages need a licence on a project before Composer can resolve them.

1. **Sign in or create an account** at https://packagento.com/customer/account/.

2. **Add the package to your account.** Open https://packagento.com/reach-digital/magento2-guesttoshadowcustomer and complete the free checkout. A licence is minted automatically.

3. **Create or pick a project, then activate the licence on it.**
   - Projects represent the Magento installs you deploy to. Manage them at https://packagento.com/projects/.
   - Activate the new licence on the project you'll deploy this package to. Activation is what generates the Composer credentials scoped to that project.

4. **Add the project credentials to your Magento codebase.**

   Grab the project's public + private key from https://packagento.com/projects/ (open the project, then its Credentials tab), and add them to `auth.json`:

   ```json
   {
     "http-basic": {
       "packagento.com": {
         "username": "ppk_live_...",
         "password": "psk_live_..."
       }
     }
   }
   ```

   Add the Packagento Composer repository to `composer.json`:

   ```json
   {
     "repositories": [
       { "type": "composer", "url": "https://packagento.com" }
     ]
   }
   ```

5. **Install and apply.**

   ```bash
   composer require reach-digital/magento2-guesttoshadowcustomer:*
   bin/magento setup:upgrade
   bin/magento setup:di:compile
   bin/magento cache:flush
   ```

## README

### Installation
`composer require reach-digital/magento2-guesttoshadowcustomer`

### Cron Usage
`n98-magerun2 sys:cron:run <number> reachdigital_guesttoshadowcustomer_convert`

### Introduction
- Create more insight into the total amount of orders per unique visitors
- In the backend there should be a possibility to create reorders for guests
- Possibility to save Guests payment information

### Functionalities
- Create Shadow Customer if new guest order is placed.
- Loop through all historical guest orders and create shadow customers.
- Loop through all historical guest orders and link Guest to existing "Customer/Shadow Customer".
- Added "Shadow Customer" column in Admin > Customer/Order Grid.
- Added "Is Shadow Customer" information on Admin > Customer/Order Edit page.

### Known Issues
- Cancelling an MSP payment does not restore the cart properly (for a fix see [this commit](https://github.com/ho-nl/magento2-ReachDigital_GuestToShadowCustomer/compare/master...msp-restore-fix))
  - A similar fix is already applied for Mollie, see [this commit](https://github.com/ho-nl/magento2-ReachDigital_GuestToShadowCustomer/commit/99e987bea62e81c2bbc391e8a72b9fe89fe240f1)

### TODO

- Config setting for enabling or disabling the blocking of password reset function if customer is shadow
- Correctly set is_shadow if resetting password is enabled for shadow customers

#### Implement more tests:

- Test that is_shadow flag is 0 when user registers
- Test that is_shadow flag value is maintained when customer is updated through webapi
- Test that is_shadow flag is 1 when shadow customer is automatically created
- Test that password reset is not allowed if not enabled and customer is shadow
- Test that password reset is allowed if enabled and customer is shadow
- Test correct updating of customer is_shadow flag in customer_grid_flat table (see
  `\Magento\Customer\Model\ResourceModel\Grid\CollectionTest::testGetItemByIdForUpdateOnSchedule` and
  `\Magento\Customer\Model\Indexer\AttributeProvider`
  )

## Recent Versions

| Version | Released |
|---|---|
| v1.4.2 | 2026-06-03 |
| 1.4.1 | 2026-05-29 |
| 1.4.0 | 2026-05-29 |
| 1.3.4 | 2025-05-14 |
| 1.3.3 | 2024-11-12 |
| 1.3.2 | 2024-05-22 |
| 1.3.1 | 2023-10-25 |
| 1.3.0 | 2023-10-19 |
| 1.2.0 | 2023-07-31 |
| 1.1.7 | 2022-11-28 |

Showing 10 of 18 versions. Full release history on https://packagento.com/reach-digital/magento2-guesttoshadowcustomer.

## Dependencies

### Require

| Package | Constraint |
|---|---|
| magento/framework | ~103.0.0 |
| php | ~8.3 |

## Licence and pricing

Free. A licence is still minted on checkout and bound to your project for Composer access — no payment step.

Refundable within 14 days of first purchase via https://packagento.com/account/refunds/.

## Install via Claude Code or any MCP client

The Packagento MCP server can run the licence + project + Composer steps above in one tool call:

```
purchase_and_install_packages(
  composer_names=["reach-digital/magento2-guesttoshadowcustomer"],
  project_id="proj_xxx"
)
```

This handles cart, checkout, licence minting, project activation, and writes auth.json credentials. Connect a client with `claude mcp add packagento https://mcp.packagento.com`. Full setup at https://packagento.com/docs/mcp-setup.

## Vendor

reach-digital is a Magento 2 vendor on Packagento. See https://packagento.com/reach-digital.md for their full catalogue.

