В шаблоне письма, отправляемого Битрикс после создания заказа, есть многие переменные, которых нет в шаблонах писем о смене статуса заказа, например, имя покупателя. Исправить это, а также добавить другие нужные поля, можно несколькими строками кода.

Для модификации полей почтового шаблона используем событие OnOrderStatusSendEmail модуля sale.

Допустим, нам нужны поля с суммой заказа и именем покупателя, добавляем в init.php:

AddEventHandler("sale", "OnOrderStatusSendEmail", "MyOnOrderStatusSendEmail");
function MyOnOrderStatusSendEmail($ID, &$eventName, &$arFields, $val)
{
    CModule::IncludeModule("sale");

    $arOrder = CSaleOrder::GetByID($ID);
    // сумма заказа
    $arFields["PRICE"] = $arOrder["PRICE"];

    // имя покупателя
    $dbProps = CSaleOrderProps::GetList(
        array("SORT" => "ASC"),
        array(
            "PERSON_TYPE_ID" => $arOrder["PERSON_TYPE_ID"],
            "IS_PAYER" => "Y"
        )
    );
    if ($arProps = $dbProps->Fetch()) {
        $dbVals = CSaleOrderPropsValue::GetList(
            array("SORT" => "ASC"),
            array(
                "ORDER_ID" => $aFields['ORDER_ID'],
                "ORDER_PROPS_ID" => $arProps["ID"]
            )
        );
        if ($arVals = $dbVals->Fetch()) {
            $arFields["ORDER_USER"] = $arVals["VALUE"];
        }
    }

    // и любые другие поля заносим в $arFields...
}

Получаем в почтовом шаблоне две новых переменных #PRICE# и #ORDER_USER#.