www/apps/resources/app/commerce-modules/customer/customer-accounts/page.mdx
export const metadata = {
title: Customer Accounts,
}
In this document, you’ll learn how registered and unregistered accounts are distinguished in the Medusa application.
<Note title="Looking for no-code docs?">Refer to this Medusa Admin User Guide to learn how to manage customers using the dashboard.
</Note>has_account PropertyThe Customer data model has a has_account property, which is a boolean that indicates whether a customer is registered.
When a guest customer places an order, a new Customer record is created with has_account set to false.
When this or another guest customer registers an account with the same email, a new Customer record is created with has_account set to true.
The above behavior means that two Customer records may exist with the same email address. However, the main difference is the has_account property's value.
So, there can only be one guest customer (having has_account=false) and one registered customer (having has_account=true) with the same email address.
When a merchant deletes a customer, the Customer record is soft-deleted, meaning it is not permanently removed from the database.
When using the Medusa Application with the Auth Module, possible confusion may arise in the following scenarios:
[email protected], and a customer tries to register with the same email address.[email protected], and another customer tries to register with the same email address.In these and similar scenarios, the customer trying to register will receive an error message indicating that the email address is already in use:
{
"type": "unauthorized",
"message": "Identity with email already exists"
}
To resolve this, you can amend the registration flow to:
You can learn more about how to implement this flow in the following guides: