Product Icon

Avalara AvaTax for WooCommerce

Automate tax compliance for your WooCommerce store. From sales tax calculation and tax returns to exempt sales and more.

Latest release 2.7.0 renewal failure conflict with Woo Subscriptions – failed scheduled action

Woo Subscription renewals began failing immediately following upgrade from 2.6.1 to 2.7.0. These began appearing as failed scheduled actions in the WP dashboard and Woo log. Failure occurred prior to payment. Attempt to manually process renewals per Woo Subscription guidelines (link below) resulted in critical error.

Avatax plugin also had errors in log with corresponding timestamps to renewal failures every day since update (screenshots attached).

Reverting to 2.6.1 resolved the problem.

Woo Subscription Guidelines: woocommerce.com/document/scheduled-action-errors/?quid=d3c1837334a2f53f7fe19921c1403007#section-6

Critical Error Report:
WordPress version 6.4.2
Current plugin: Avalara AvaTax (version 2.7.0)
PHP version 8.2.14

Error Details
=============
An error of type E_ERROR was caused in line 300 of the file /www/wp-content/plugins/woocommerce-avatax/src/api/responses/class-wc-avatax-api-tax-response.php. Error message: Uncaught TypeError: array_reduce(): Argument #1 ($array) must be of type array, null given in /www/wp-content/plugins/woocommerce-avatax/src/api/responses/class-wc-avatax-api-tax-response.php:300
Stack trace:
#0 /www/wp-content/plugins/woocommerce-avatax/src/api/responses/class-wc-avatax-api-tax-response.php(300): array_reduce(NULL, Object(Closure), Array)
#1 /www/wp-content/plugins/woocommerce-avatax/src/api/responses/class-wc-avatax-api-tax-response.php(118): WC_AvaTax_API_Tax_Response->get_duplicate_tax_rate_codes(NULL)
#2 /www/wp-content/plugins/woocommerce-avatax/src/class-wc-avatax-order-handler.php(558): WC_AvaTax_API_Tax_Response->get_lines()
#3 /www/wp-content/plugins/woocommerce-avatax/src/integrations/class-wc-avatax-integrations.php(151): WC_AvaTax_Order_Handler->calculate_order_tax(Object(WC_Subscription), false, true)
#4 /wordpress/wp-includes/class-wp-hook.php(324): WC_AvaTax_Integrations->recalculate_renewal_taxes(Object(AutomatticWooCommerceAdminOverridesOrder), Object(WC_Subscription))
#5 /wordpress/wp-includes/plugin.php(205): WP_Hook->apply_filters(Object(AutomatticWooCommerceAdminOverridesOrder), Array)
#6 /www/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/wcs-renewal-functions.php(38): apply_filters(‘wcs_renewal_ord…’, Object(AutomatticWooCommerceAdminOverridesOrder), Object(WC_Subscription))
#7 /www/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php(141): wcs_create_renewal_order(Object(WC_Subscription))
#8 /www/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php(114): WC_Subscriptions_Manager::process_renewal(15687, ‘active’, ‘Subscription re…’)
#9 /wordpress/wp-includes/class-wp-hook.php(324): WC_Subscriptions_Manager::prepare_renewal(15687)
#10 /wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#11 /wordpress/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#12 /www/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-meta-boxes.php(244): do_action(‘woocommerce_sch…’, 15687)
#13 /wordpress/wp-includes/class-wp-hook.php(324): WCS_Admin_Meta_Boxes::process_renewal_action_request(Object(WC_Subscription))
#14 /wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(”, Array)
#15 /wordpress/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#16 /www/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-actions.php(173): do_action(‘woocommerce_ord…’, Object(WC_Subscription))
#17 /wordpress/wp-includes/class-wp-hook.php(324): WC_Meta_Box_Order_Actions::save(15687, Object(WP_Post))
#18 /wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#19 /wordpress/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#20 /www/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-meta-boxes.php(263): do_action(‘woocommerce_pro…’, 15687, Object(WP_Post))
#21 /wordpress/wp-includes/class-wp-hook.php(326): WC_Admin_Meta_Boxes->save_meta_boxes(15687, Object(WP_Post))
#22 /wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(”, Array)
#23 /wordpress/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#24 /wordpress/wp-includes/post.php(4760): do_action(‘save_post’, 15687, Object(WP_Post), true)
#25 /wordpress/wp-includes/post.php(4862): wp_insert_post(Array, false, true)
#26 /wordpress/wp-admin/includes/post.php(453): wp_update_post(Array)
#27 /wordpress/wp-admin/post.php(227): edit_post()
#28 {main}
thrown

Screenshots

Author

ropbrands

Current Status

Open

Last updated: January 19, 2024

0 comments

Log in to comment on this feature request.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.