Why the error happens on registration
The error fires when both conditions are true at the point of integration:- The Grants account access flag is enabled for the mobile phone field.
- A new customer tries to register with a phone number that is already tied to an existing profile where that same flag is enabled.
“Grants account access” means the contact (phone or email) can be used to log in to the customer’s account. Two profiles cannot share the same account-access contact.
Why the error happens during file import
A similar error can appear when you import customers from a file:Customer with email test@example.com is already registered. Enter a different email or use password recovery.The root cause is the same — a uniqueness conflict on an account-access contact — but the trigger is different. During import, Maestra could not unambiguously identify which existing profile to update, so it tried to create a new one. The new profile collided with the existing profile’s phone (or email), and the import row failed.
Example
You have a customer in your database:| Field | Value |
|---|---|
| SiteID | 100 |
| Mobile phone | 15551234567 (grants account access) |
| Field | Value |
|---|---|
| SiteID | ”New” 100 |
| Mobile phone | 15551234567 (grants account access) |
How to fix it
Confirm the profile already exists
Search Maestra for the phone number. If you find an existing profile with the same number and the Grants account access flag, that is the profile blocking the new registration or import row.
For end-user registration, offer password recovery
Update your registration UI to detect this error and prompt the user to recover the password on their existing account instead of registering again.
For imports, match on a unique identifier the existing profile already has
Make sure each import row carries an identifier (SiteID, email, or another customer key) that Maestra can use to find and update the existing profile rather than create a new one. If the row should update the existing customer, send the existing SiteID — not a new one.