E-mail address missing in order

NOTE: This is not an answer, per se, but I wanted to add my own experiences with this issue where I can format it more easily.

I have seen the same issue. It's something I have not had a chance to delve into completely, but from what I have seen, it's a combination of the following factors:

  1. A registered customer.
  2. Persistent shopping cart.

If a customer has previously registered on the site, but is not logged in, and the persistent shopping cart is on (or indeed the cookie is present for the customer after the persistent shopping cart has been turned off) then the issue seems to occur.

I have not seen this occur with customers that have not registered, but it makes me wonder if it's something to do with a shared computer account and two different customers, one that has registered and one that has not.

I am going to keep investigating this as well, we automatically tie a customer to a customer group, so this issues means that the order is not assigned to a customer group.

Edit: we are using Firecheckout, not OSC


Ensure you are running OSC 4.0.7.

We had this problem using Magento 1.7.0.2 and OSC 4.0.6 . It turned out to be a bug in OneStepCheckout where it was not handling users being recognized by the persistent shopping cart correctly. We communicated this to OSC and they gave us a hotfix (but I believe it has been fixed in 4.0.7: http://www.onestepcheckout.com/wiki/index.php/Changelogs#OneStepCheckout_4.0.7_changes

Grep for $this->getQuote()->setCustomerId(0); in app\code\local\Idev\OneStepCheckout\Block\Checkout.php (should give 5 matches), since that was basically the hotfix.

Edit: this should've been a comment.. not really an answer.