When submitting an order for payment, the customer sees this error and cannot proceed:
Error:
vmTable store insertObject
Couldn't create order
We also see this entry in the VM error logs:
2023-07-25 08:06:41 ERROR vmError: vmTable store insertObject #__virtuemart_orders Data too long for column 'order_billTax' at row 1 INSERT INTO `jos_virtuemart_orders`
(`virtuemart_order_id`,`virtuemart_user_id`,`virtuemart_vendor_id`,`order_note`,`order_number`,`order_pass`,`order_create_invoice_pass`,`invoice_locked`,`customer_number`,`order_total`,`order_salesPrice`,`order_billTaxAmount`,`order_billTax`,`order_billDiscountAmount`,`order_discountAmount`,`order_subtotal`,`order_tax`,`order_shipment`,`order_shipment_tax`,`order_payment`,`order_payment_tax`,`coupon_discount`,`order_discount`,`order_currency`,`order_status`,`user_currency_id`,`user_currency_rate`,`user_shoppergroups`,`payment_currency_id`,`payment_currency_rate`,`virtuemart_paymentmethod_id`,`virtuemart_shipmentmethod_id`,`ip_address`,`order_language`,`STsameAsBT`,`paid`,`o_hash`,`locked_by`,`created_on`,`created_by`) VALUES
('0','4848','1','','UBB503474','p_QMQrdnTj','90CK7Jui','0','BOd9b09f3','168.56964839','152.9924','34.68964839','{
\"1\": {
\"virtuemart_calc_id\": 1,
\"calc_name\": \"VAT - Spain\",
\"calc_value\": \"21.0000\",
\"result\": 28.1148
},
\"4\": {
\"virtuemart_calc_id\": 4,
\"calc_name\": \"Product tax 5.2%\",
\"calc_value\": 4.2975,
\"result\": 6.57484839
},
\"5\": {
\"virtuemart_calc_id\": 5,
\"calc_name\": \"Shipping Tax 5.2%\",
\"calc_value\": 0.0,
\"result\": 0.0
}
}','0','0','126.44','26.5524','7.44','1.5624','0','0','0','0','47','P','47','1','2,11','47','1','1','417','2.136.55.xx','es-ES','1','0','75185a17f1339b05371877010ccc063c','0','2023-07-25 08:06:41','4848')<pre>#0 vmError() called at [/home/[dom]/public_html/administrator/components/com_virtuemart/helpers/vmtable.php:1338]
#1 VmTable->store() called at [/home/[dom]/public_html/administrator/components/com_virtuemart/helpers/vmtable.php:2031]
#2 VmTable->bindChecknStoreNoLang() called at [/home/[dom]/public_html/administrator/components/com_virtuemart/helpers/vmtable.php:1966]
#3 VmTable->bindChecknStore() called at [/home/[dom]/public_html/administrator/components/com_virtuemart/models/orders.php:1812]
#4 VirtueMartModelOrders->_createOrder() called at [/home/[dom]/public_html/administrator/components/com_virtuemart/models/orders.php:1644]
#5 VirtueMartModelOrders->createOrderFromCart() called at [/home/[dom]/public_html/components/com_virtuemart/helpers/cart.php:1887]
#6 VirtueMartCart->confirmedOrder() called at [/home/[dom]/public_html/components/com_virtuemart/helpers/cart.php:1597]
</pre>
We think it is due to a custom tax plugin, but are not sure how to remedy it. Any advice??
We see this field in the jos_virtuemart_orders table:
order_billTax varchar(400) utf8_general_ci Yes NULL
Does it need to be resized? If so, how? Is this a VM bug? Help would be appreciated as some customers are unable to place their orders.
No letting people know your version of VM PHP And Joomla.. is a sure way to not get any replies..
Thanks for the tip!
VirtueMart: 4.0.22 10864
PHP: 8.0 (ea-php80)
Joomla: 4.3.3
Have u tried increasing the field size?
ALTER TABLE `xxx_virtuemart_orders` CHANGE `order_billTax` `order_billTax` VARCHAR(800) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;