
Drupal Commerce comes with an Account Information section on the checkout form where anonymous users must specify a contact e-mail address for their orders. If this e-mail is not already associated with a user account, a checkout rule creates a new user account and sends an email with the login information. Note that this email will also be the username.
Both authenticated and anonymous users will still have to fill out any information required by customer profiles. Customer profiles are not user profiles (multiple data fields per user), they are uniquely assigned to each order (multiple data fields per order). This allows the same customer to have multiple addresses for each order and other types of situations.
Finally, have always in your mind the Commerce Checkout Redirect module - http://drupal.org/project/commerce_checkout_redirect. This module redirects anonymous users to a page where they can login or create a new account when they try to checkout. After the user logs in or registers, he is redirected to the checkout in order to finalize his order.
In case this article leaves any of your questions or concerns unanswered, please feel welcome to email us or post a public question.
More than (just) Themes
http://www.morethanthemes.com/