Stock Issue
-
I am not sure exactly what to call this – but here is what’s happening.
I am selling an item which started with an In Stock amount of 500. I set it to stop selling and not allow back orders. I am currently sold out of this product, but when I look at how many were sold – the total comes to 520!
I started digging and found two orders, back to back, where the stock reduction was recorded, but something is wrong.
Order A – January 1, 2019 at 11:17 pm – Stock levels reduced: Saturday Jan 26, 2019 – 7:00 – 9:00 pm (DD-1-26-7-9) 22→20
Order B – January 2, 2019 at 10:30 am – Stock levels reduced: Saturday Jan 26, 2019 – 7:00 – 9:00 pm (DD-1-26-7-9) 23→20
How is this possible? The first order shows it reduced stock but then the next order starts with a higher amount of stock than the previous?
-
This topic was modified 6 years, 2 months ago by
jedfirestone. Reason: spelling error
-
This topic was modified 6 years, 2 months ago by
-
Ohh… and I have checked to see if a Refund and Restock happened and they did not happen around this time. Even so… I should never be able to sell more than the original amount.
Hello @jedfirestone,
That definitely sounds a bit peculiar. Let’s see if we can’t figure this out. I have a few clarifying questions for you if you don’t mind:
I am currently sold out of this product, but when I look at how many were sold – the total comes to 520!
Where are you currently looking to see how many were sold?
For the following orders:
Order A – January 1, 2019 at 11:17 pm – Stock levels reduced: Saturday Jan 26, 2019 – 7:00 – 9:00 pm (DD-1-26-7-9) 22→20
Order B – January 2, 2019 at 10:30 am – Stock levels reduced: Saturday Jan 26, 2019 – 7:00 – 9:00 pm (DD-1-26-7-9) 23→20
Did this information come from logs? WP Debug? Where are you seeing this information relayed?
How is this possible? The first order shows it reduced stock but then the next order starts with a higher amount of stock than the previous
This can happen occasionally depending on how long you have your stock sitting in you cart. Please go to: WooCommerce > Settings > Products > Inventory and can you tell me how long you’ve set your “Hold Stock” to? It is possible for someone to leave the purchase in the cart and it will reflect a lower stock until that time has been reached.
That said, do you know if the stock reduction is incorrect every time? Is it for a specific item? Or different items? Do you use different payment gateways? Is there a pattern that emerges there? Intermittent issues can be rather hard to diagnose, but let’s see if we can find the culprit here.
Thanks so much for the reply Erica! I’ve checked two places – both in the Woocommerce Reports area and had it show me how many items were sold for just the one event. I also added a plugin called “Export Orders” where I can get a spreadsheet with all the data and that shows more sold than there should have been.
The info you asked about is from the Order Details page when I drill into the order. It’s contained on the right side of the page where the details of the transaction (changed to pending, transaction ID for money etc.) I’ve tried to find in the DB directly where this info comes from but haven’t been able to. I’d love to export it and track it to see where it happens.
We seem to have 2 different items (possibly, it’s tough to tell with the way my client keeps adjusting also). Only one payment gateway so no issues there and it doesn’t appear coupon usage directly affects it.
Incidentally, I tracked down what happened with the one I referenced above! I found the refunded transaction accidentally where stock went from 20->23! So that’s good. But, then I found two in a row that went from 480-478… And I haven’t found a refund that coincides.
Maybe you CAN help with what I suggested above? Exporting the data that tells how the stock was adjusted? Then I can follow along and maybe see exactly where it went wrong?
Ok… I found it again in a NEW product we just started selling. There are some quirks though…
Order A – Jan 8 12:09pm – Stock levels reduced: Saturday February 23, 2019 – 7-9pm (MS-2-23) 417→415
Order B – Jan 9 1:40pm – 100% Discount code used – Stock levels reduced: Saturday February 23, 2019 – 7-9pm (MS-2-23) 417→415
Order C – Jan 9 1:52pm – Order FAILED for 2 tickets – no stock movement shown
Order D – Jan 9 3:54pm – Stock levels reduced: Saturday February 23, 2019 – 7-9pm (MS-2-23) 417→4143 in a row, all starting their count at 417!
A couple of other notes. WooCommerce Reports shows 110 sold. The last order shows ending quantity of 394 (which says 106 were sold).
Somethings up… but what?
Still coming up with more orders doing this today.
Ohh, and i have HOLD STOCK set to 10 mins.
The two orders today were completed at 9:39am & 9:51am respectively. No Idea if they were overlapped in the cart.
-
This reply was modified 6 years, 2 months ago by
jedfirestone.
Thanks for providing those details. I am kind of curious how your store is set up if you don’t mind. There is definitely something fishy going on here. To get a better idea of what is going on, I’m going to need the following:
System Status Report
Could you please share a copy of your site’s System Status? You can find it via WooCommerce > Status. Select “Get system report” and then “Copy for support”.? Once you’ve done that, paste it here in your response.One thing to keep in mind is that inventory is changed based on the order status of the order, except in the case of manual orders:
Note that adding an order manually has no effect on stock/inventory. You would need to manually subtract or adjust inventory for those items.
So if you’re taking manual orders, this could be an issue. Otherwise I’m looking for plugins on your site that may be changing the order.
And finally, can you give me some insight into your order process?
Thanks again for your help! Here is that report.
————–
### WordPress Environment ### Home URL: https://gograpevinetickets.com Site URL: https://gograpevinetickets.com WC Version: 3.5.3 Log Directory Writable: ? WP Version: ? 4.9.9 - There is a newer version of WordPress available (5.0.3) WP Multisite: – WP Memory Limit: 256 MB WP Debug Mode: – WP Cron: ? Language: en_US External object cache: – ### Server Environment ### Server Info: Apache PHP Version: 7.1.25 - We recommend using PHP version 7.2 or above for greater performance and security. How to update your PHP version PHP Post Max Size: 128 MB PHP Time Limit: 30 PHP Max Input Vars: 1000 cURL Version: 7.62.0 OpenSSL/1.0.2q SUHOSIN Installed: – MySQL Version: 5.5.5-10.2.21-MariaDB Max Upload Size: 128 MB Default Timezone is UTC: ? fsockopen/cURL: ? SoapClient: ? DOMDocument: ? GZip: ? Multibyte String: ? Remote Post: ? Remote Get: ? ### Database ### WC Database Version: 3.5.3 WC Database Prefix: wp_ Total Database Size: 74.78MB Database Data Size: 44.24MB Database Index Size: 30.54MB wp_woocommerce_sessions: Data: 0.23MB + Index: 0.02MB wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.05MB wp_woocommerce_order_items: Data: 0.34MB + Index: 0.13MB wp_woocommerce_order_itemmeta: Data: 11.52MB + Index: 3.03MB wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.05MB wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.05MB wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB wp_woocommerce_log: Data: 0.00MB + Index: 0.00MB simpletix_button: Data: 0.01MB + Index: 0.00MB simpletix_event: Data: 0.00MB + Index: 0.00MB wp_commentmeta: Data: 0.02MB + Index: 0.03MB wp_comments: Data: 2.52MB + Index: 1.23MB wp_events_answer: Data: 0.00MB + Index: 0.00MB wp_events_attendee: Data: 0.00MB + Index: 0.00MB wp_events_attendee_meta: Data: 0.00MB + Index: 0.00MB wp_events_category_detail: Data: 0.00MB + Index: 0.00MB wp_events_category_rel: Data: 0.00MB + Index: 0.00MB wp_events_detail: Data: 0.00MB + Index: 0.02MB wp_events_discount_codes: Data: 0.00MB + Index: 0.00MB wp_events_discount_rel: Data: 0.00MB + Index: 0.00MB wp_events_email: Data: 0.00MB + Index: 0.00MB wp_events_locale: Data: 0.00MB + Index: 0.00MB wp_events_locale_rel: Data: 0.00MB + Index: 0.00MB wp_events_meta: Data: 0.00MB + Index: 0.00MB wp_events_multi_event_registration_id_group: Data: 0.00MB + Index: 0.00MB wp_events_personnel: Data: 0.00MB + Index: 0.00MB wp_events_personnel_rel: Data: 0.00MB + Index: 0.00MB wp_events_prices: Data: 0.00MB + Index: 0.00MB wp_events_qst_group: Data: 0.00MB + Index: 0.00MB wp_events_qst_group_rel: Data: 0.00MB + Index: 0.00MB wp_events_question: Data: 0.00MB + Index: 0.00MB wp_events_start_end: Data: 0.00MB + Index: 0.00MB wp_events_venue: Data: 0.00MB + Index: 0.00MB wp_events_venue_rel: Data: 0.00MB + Index: 0.00MB wp_gmb_maps: Data: 0.00MB + Index: 0.00MB wp_gmb_maps_meta: Data: 0.00MB + Index: 0.00MB wp_gmb_marker_category: Data: 0.00MB + Index: 0.00MB wp_gmb_marker_themes: Data: 0.00MB + Index: 0.00MB wp_gmb_plugin_settings: Data: 0.00MB + Index: 0.00MB wp_gmp_icons: Data: 0.00MB + Index: 0.00MB wp_gmp_maps: Data: 0.00MB + Index: 0.00MB wp_gmp_markers: Data: 0.00MB + Index: 0.00MB wp_gmp_marker_groups: Data: 0.00MB + Index: 0.00MB wp_gmp_membership_presets: Data: 0.00MB + Index: 0.00MB wp_gmp_modules: Data: 0.00MB + Index: 0.00MB wp_gmp_modules_type: Data: 0.00MB + Index: 0.00MB wp_gmp_options: Data: 0.00MB + Index: 0.00MB wp_gmp_options_categories: Data: 0.00MB + Index: 0.00MB wp_gmp_usage_stat: Data: 0.00MB + Index: 0.00MB wp_g_circles: Data: 0.00MB + Index: 0.00MB wp_g_maps: Data: 0.00MB + Index: 0.00MB wp_g_markers: Data: 0.00MB + Index: 0.00MB wp_g_polygones: Data: 0.00MB + Index: 0.00MB wp_g_polylines: Data: 0.00MB + Index: 0.00MB wp_huge_itslider_images: Data: 0.00MB + Index: 0.00MB wp_huge_itslider_params: Data: 0.00MB + Index: 0.00MB wp_huge_itslider_sliders: Data: 0.00MB + Index: 0.00MB wp_links: Data: 0.02MB + Index: 0.02MB wp_ms_snippets: Data: 0.00MB + Index: 0.00MB wp_my_calendar: Data: 0.00MB + Index: 0.00MB wp_my_calendar_categories: Data: 0.00MB + Index: 0.00MB wp_my_calendar_events: Data: 0.00MB + Index: 0.00MB wp_my_calendar_locations: Data: 0.00MB + Index: 0.00MB wp_options: Data: 7.47MB + Index: 0.48MB wp_postmeta: Data: 12.52MB + Index: 16.03MB wp_posts: Data: 7.52MB + Index: 6.02MB wp_pta_sus_sheets: Data: 0.00MB + Index: 0.00MB wp_pta_sus_signups: Data: 0.00MB + Index: 0.00MB wp_pta_sus_tasks: Data: 0.00MB + Index: 0.00MB wp_snippets: Data: 0.01MB + Index: 0.00MB wp_termmeta: Data: 0.02MB + Index: 0.03MB wp_terms: Data: 0.02MB + Index: 0.03MB wp_term_relationships: Data: 0.02MB + Index: 0.02MB wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB wp_tz_plusgallery_images: Data: 0.02MB + Index: 0.00MB wp_tz_plusgallery_item: Data: 0.00MB + Index: 0.00MB wp_tz_plusgallery_options: Data: 0.00MB + Index: 0.00MB wp_tz_plusgallery_type: Data: 0.00MB + Index: 0.00MB wp_usermeta: Data: 1.52MB + Index: 3.03MB wp_users: Data: 0.11MB + Index: 0.08MB wp_wc_download_log: Data: 0.00MB + Index: 0.00MB wp_wc_webhooks: Data: 0.00MB + Index: 0.00MB wp_wdslayer: Data: 0.00MB + Index: 0.00MB wp_wdsslide: Data: 0.00MB + Index: 0.00MB wp_wdsslider: Data: 0.00MB + Index: 0.00MB wp_wpfront_ure_login_redirect: Data: 0.00MB + Index: 0.00MB wp_wpfront_ure_options: Data: 0.01MB + Index: 0.00MB wp_wpgmza: Data: 0.02MB + Index: 0.00MB wp_wpgmza_categories: Data: 0.02MB + Index: 0.00MB wp_wpgmza_category_maps: Data: 0.02MB + Index: 0.00MB wp_wpgmza_maps: Data: 0.02MB + Index: 0.00MB wp_wpgmza_polygon: Data: 0.02MB + Index: 0.00MB wp_wpgmza_polylines: Data: 0.02MB + Index: 0.00MB ### Post Type Counts ### attachment: 111 custom_css: 2 custom-css-js: 2 customize_changeset: 47 da_image: 1 fa_gallery: 1 fagp_gallery: 2 ich_cpt: 3 jetpack_migration: 2 mc-events: 5 mt-payments: 882 nav_menu_item: 3 oembed_cache: 3 page: 25 post: 7 product: 45 revision: 515 shop_coupon: 6 shop_order: 3582 shop_order_refund: 484 tablepress_table: 1 tc_api_keys: 18 tc_events: 20 tc_form_fields: 10 tc_forms: 3 tc_seat_charts: 1 tc_templates: 26 tc_tickets: 9 tc_tickets_instances: 12283 ### Security ### Secure connection (HTTPS): ? Hide errors from visitors: ? ### Active Plugins (27) ### Tickera: by Tickera.com – 3.3.2 Tickera Bridge for WooCommerce: by Tickera – 1.1.6.3 – Not tested with the active version of WooCommerce Tickera Check-in Notifications: by Tickera.com – 1.1.2 Code Snippets: by Shea Bunge – 2.13.0 Tickera CSV Export: by Tickera.com – 1.2.5.1 Simple Custom CSS and JS: by SilkyPress.com – 3.22 Tickera - Custom Forms Add-on: by Tickera.com – 1.2.2.6 Tickera - Custom Ticket Template Fonts: by Tickera.com – 1.0.3 Easy Google Fonts: by Titanium Themes – 1.4.3 Easy Logo: by Varun Kumar – 1.9.1 Image Caption Hover Pro: by WebCodingPlace – 18.9.5 Members: by Justin Tadlock – 2.1.0 Menu Image: by Alex Davyskiba aka Zviryatko – 2.9.1 Postcode Based Order Restriction: by PrecursorWeb – 1.0 – Not tested with the active version of WooCommerce Regenerate Thumbnails: by Alex Mills (Viper007Bond) – 3.1.0 Tickera Seating Charts: by Tickera.com – 0.47 Twilio SMS Notifications for Tickera: by Tickera.com – 1.2.0 WooCommerce - Autocomplete Orders: by Serious Plugins – 1.1.4 – Not tested with the active version of WooCommerce WooCommerce Checkout Manager: by Visser Labs – 4.2.5 WooCommerce Coupons By Location: by Store Apps – 1.3.0 – Not tested with the active version of WooCommerce WooCommerce Email Validation: by Hugh Lashbrooke – 2.1.1 – Not tested with the active version of WooCommerce WooCommerce Filter Orders by Product: by Md. Kowsar Hossain – 2.0.7 – Not tested with the active version of WooCommerce WooCommerce Max Quantity: by Isabel Castillo – 1.5.1 – Not tested with the active version of WooCommerce WooCommerce Menu Cart: by Jeremiah Prummer Ewout Fernhout – 2.7.3 Advanced Order Export For WooCommerce (Pro): by AlgolPlus – 2.0.1 WooCommerce Square: by WooCommerce – 1.0.34 WooCommerce: by Automattic – 3.5.3 ### Settings ### API Enabled: ? Force SSL: ? Currency: USD ($) Currency Position: left Thousand Separator: , Decimal Separator: . Number of Decimals: 2 Taxonomies: Product Types: external (external) grouped (grouped) simple (simple) variable (variable) Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5) ### WC Pages ### Shop base: #142 - /index.php/get-tickets/ Cart: #3039 - /index.php/cart/ Checkout: #3040 - /index.php/checkout/ My account: #3041 - /index.php/my-account/ Terms and conditions: ? Page not set ### Theme ### Name: GeneratePress Version: 2.2.1 Author URL: https://tomusborne.com Child Theme: ? – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme WooCommerce Support: ? ### Templates ### Overrides: –
——————-
I am unsure what their process is aside from users ordering through the store, or if they are creating manual orders somehow, but I asked them to see.
Also, You’ll notice Tickera in there, and since these products are tickets, I asked them first. They checked into my site and believe the issue is WooCommerce and not their plugin.
Troubleshooting WooCommerce and a third party plugin can be tricky sometimes as we’re unaware of how their plugin is set up, but I have some thoughts on how you can troubleshoot this.
And before any changes, make sure to back up your site!
Things I noticed in the SSR:
1. Tickera will still be something that we will need to test out, even if they said it was WooCommerce’s issue.
2. WooCommerce – Autocomplete Orders: This would directly affect the order status and something we will need to look into further.
3. WooCommerce Square: If you’re using it for inventory purposes (other than just a payment gateway), this could also be creating an issue somehow.Next Steps:
To test, I recommend putting the site in Maintenance mode (if possible), use a staging site you may have, or look into installing the Health Check plugin. It allows you to temporarily disable plugins and switch themes without impacting your users.
If you’re not wanting to do a full conflict test (where you would disable everything put WooCommerce, Storefront (theme), and Tickera to see if the inventory issue persists.), then these are the tests I recommend at the very least.
1. Disable Autocomplete Orders and Square. Make a test purchase. Does the duplicate inventory issue persist?
2. Disable all Tickera plugins. Create a simple product and go through the purchase workflow again. Does the multiple inventory issue continue? Or is it only affecting Ticket products? What we’re doing here is looking to see if it is just one kind of product that has the inventory/stock reducing mismatch. If only ticket products, and not regular WooCommerce (simple/variable, etc.) products, then you’re going to need to reach out to them to address that.
3. If after disabling those 3 plugins, you’re still finding errors, I do recommend going through the full conflict test instructions to find where the disconnect is here.So you’re looking for the following outcomes:
1. If the stock reduction issue disappears when disabling Autocomplete Orders and Square, then it is one of those plugins causing the problem. Enable one at a time to see which is the case.
2. If the stock reduction issue disappears when disabling Tickera, then that plugin is the issue and you need to reach out to the devs.
3. If the stock reduction issue continues with just WooCommerce and Storefront (theme) enabled, then there is something deeper going on there. (Databases? Who knows?)Thanks for all the suggestions!
I guess we will have to test this slowly and see what happens. Sadly (not really but sort of) it doesn’t happen with every order, just appears to be totally random, I’d have to somehow be able to process 30-100 orders and even then I may never see the problem.
We need Square for charges, and there is no way to check that without money exchange – but since we don’t use it for inventory, I’ll make sure that there is no inventory exchange with Square – like you said, maybe that’s where it’s getting goofed up.
I’ll look into that Autocomplete orders thing first. I guess it means more work for me, but then maybe it will let me see exactly when the stock count goes wacky.
Thanks again!
-
This reply was modified 6 years, 2 months ago by
- The topic ‘Stock Issue’ is closed to new replies.