Добрый день.
Беда может возникать если используется не стандартная корзина и не симпла.
Там есть код вычитания со склада. Он не будет работать на незнакомом чекауте.
Удалите в модуле это:
<!-- Вычитаем со склада нужное количество опций -->
<file name="catalog/model/checkout/order.php">
<operation>
<search position="replace"><![CDATA[$this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'");]]></search>
<add><![CDATA[
$this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] * (int)$option['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract > '0'");
]]></add>
</operation>
<operation>
<search position="before"><![CDATA[foreach ($data['products'] as $product) {]]></search>
<add><![CDATA[
$result_quantity = $this->db->query("SHOW COLUMNS FROM " . DB_PREFIX . "order_option LIKE 'quantity';");
if ($result_quantity->num_rows == 0) {
$this->db->query("ALTER TABLE " . DB_PREFIX . "order_option ADD COLUMN quantity int(4) NOT NULL DEFAULT 0;");
}
]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[order_option SET]]></search>
<add><![CDATA[order_option SET quantity='".(int)$option['subtract']."', ]]></add>
</operation>
</file>
<file name="catalog/controller/checkout/confirm.php">
<operation>
<search position="before"><![CDATA['option_value_id' => $option['option_value_id'],]]></search>
<add><![CDATA[
'subtract' => $option['subtract'],
]]></add>
</operation>
</file>
<file name="catalog/controller/checkout/simplecheckout.php" error="skip">
<operation>
<search position="before"><![CDATA['option_value_id' => $option['option_value_id'],]]></search>
<add><![CDATA[
'subtract' => $option['subtract'],
]]></add>
</operation>
</file>