wc-smooth-generator icon indicating copy to clipboard operation
wc-smooth-generator copied to clipboard

Blank ($0.00) Orders Generated

Open zackeryfretty opened this issue 8 months ago • 6 comments

Prerequisites

  • [x] I have carried out troubleshooting steps and I believe I have found a bug.
  • [x] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.

Describe the bug

I'm using the following command to generate 100 orders for a single day:

wp wc generate orders 100 --date-start="2025-02-01" --date-end="2025-02-01" --status="processing"

While it mostly works the system seems to randomly generate $0.00 orders that have no items attached:

Image

The process seemingly runs fine (no errors displayed).

I've done this same command for multiple days across ~25 sites and I seem to get the same issue (the sites are clones of each other, so very similar).

WordPress Environment

System Status Report
### WordPress Environment ###

WordPress address (URL): [Redacted]
Site address (URL): [Redacted]
WC Version: 9.7.0
Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site.
Action Scheduler Version: ✔ 3.9.0
Log Directory Writable: ✔
WP Version: 6.7.2
WP Multisite: –
WP Memory Limit: 512 MB
WP Debug Mode: –
WP Cron: ✔
Language: en_US
External object cache: ✔

### Server Environment ###

Server Info: Apache/2.4.63 (Debian)
PHP Version: 8.1.31
PHP Post Max Size: 50 MB
PHP Time Limit: 60
PHP Max Input Vars: 2500
cURL Version: 7.74.0
OpenSSL/1.1.1w

SUHOSIN Installed: –
MySQL Version: 10.6.21-MariaDB-deb11-log
Max Upload Size: 50 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔

### Database ###

[REDACTED]

### Post Type Counts ###

acf-field: 5
acf-field-group: 3
attachment: 720
custom_css: 1
fl-builder-history: 1
fl-builder-template: 5
fl-theme-layout: 3
nav_menu_item: 12
page: 18
post: 1
product: 104
product_variation: 458
revision: 133
shop_order: 57130
shop_order_refund: 1797
warranty_request: 755
wp_global_styles: 1
yaymail_template: 15

### Security ###

Secure connection (HTTPS): ✔
Hide errors from visitors: ✔

### Active Plugins (51) ###

Advanced Custom Fields PRO: by WP Engine – 6.3.12
The SEO Framework: by The SEO Framework Team – 5.1.2
Beaver Builder Plugin (Pro Version): by The Beaver Builder Team – 2.8.6.1
Beaver Themer: by The Beaver Builder Team – 1.4.11.2
Ultimate Addons for Beaver Builder: by Brainstorm Force – 1.36.1
Checkout Rate Limiter: by BrianHenryIE – 1.3.1
Breeze: by Cloudways – 2.2.4
Classic Widgets: by WordPress Contributors – 0.3
Code Snippets Pro (Premium): by Code Snippets Pro – 3.6.9
Disable Blog: by Joshua David Nelson – 0.5.4
Disable Comments: by WPDeveloper – 2.4.7
Disable Emails: by WebAware – 1.8.2
FacetWP - Beaver Builder: by FacetWP
LLC – 1.4.2

FacetWP - Conditional Logic: by FacetWP
LLC – 1.5

FacetWP - Relevanssi integration: by FacetWP
LLC – 0.8.2

FacetWP: by FacetWP
LLC – 4.3.6

hCaptcha for WP: by hCaptcha – 4.5.0
Object Cache Pro: by Rhubarb Group – 1.22.0
Q1 Auto-Add Sim: by Giuseppe D'Aristotile – 1.0.2
Really Simple Security: by Really Simple Security – 9.3.1
Redirection: by John Godley – 5.5.2
Relevanssi Premium: by Mikko Saari – 2.25.0
Slim Maintenance Mode: by Johannes Ries – 1.4.3
Ultimate Dashboard PRO: by David Vongries – 3.10.4
Ultimate Dashboard: by David Vongries – 3.8.5
User Switching: by John Blackbourn – 1.9.1
WooCommerce Smooth Generator: by Automattic – 1.2.1
Widget CSS Classes: by Jory Hogeveen – 1.5.4.1
Widget Logic: by Widget Logic – 6.02
WooCommerce.com Update Manager: by Automattic – 1.0.3
Variation Swatches for WooCommerce: by Emran Ahmed – 2.2.0
WooCommerce Address Validation: by SkyVerge – 2.11.3
Avalara AvaTax: by Avalara – 2.10.1 (update to version 2.10.2 is available)
Eye4Fraud for WooCommerce: by Eye4Fraud – 3.12.3
WooCommerce Gateway Affirm: by WooCommerce – 2.4.7
Braintree for WooCommerce Payment Gateway: by WooCommerce – 3.2.6
Google Analytics for WooCommerce: by WooCommerce – 2.1.2
WooCommerce Sequential Order Numbers Pro: by SkyVerge – 1.21.4
WooCommerce Smart Coupons: by StoreApps – 9.29.0
WooCommerce Warranty Requests: by WooCommerce – 2.5.6 (update to version 2.6.1 is available)
WooCommerce: by Automattic – 9.7.0
WooPack for Beaver Builder: by Team IdeaBox - Beaver Addons – 1.5.5.1
WP All Export Pro: by Soflyy – 1.9.2
WP All Import Pro: by Soflyy – 4.8.5
WP Mail SMTP: by WP Mail SMTP – 4.3.0
WP All Export - User Export Add-On Pro: by Soflyy – 1.0.7
WP All Export - WooCommerce Export Add-On Pro: by Soflyy – 1.0.10-beta-2.5
WP All Import - ACF Add-On: by Soflyy – 3.3.8
WP All Import - WooCommerce Import Add-On Pro: by Soflyy – 4.0.0
Page Builder Framework Premium Addon: by David Vongries – 2.10.2
YayMail Pro - WooCommerce Email Customizer: by YayCommerce – 3.3.9.1

### Inactive Plugins (3) ###

Google reCaptcha for WooCommerce: by KoalaApps – 1.4.0 (update to version 1.5.0 is available)
MalCare WordPress Security Plugin - Malware Scanner, Cleaner, Security Firewall: by MalCare Security – 5.47
WP All Export - WooCommerce Order Export Add-On: by Soflyy – 1.0.3

### Dropin Plugins () ###

advanced-cache.php: advanced-cache.php
object-cache.php: Object Cache Pro (Drop-in)

### Settings ###

Legacy 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)
visible (visible)

Connected to WooCommerce.com: ✔
Enforce Approved Product Download Directories: –
HPOS feature enabled: –
Order datastore: WC_Order_Data_Store_CPT
HPOS data sync enabled: –

### Logging ###

Enabled: ✔
Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
Retention period: 30 days
Level threshold: –
Log directory size: 201 MB

### WC Pages ###

Shop base: #8 - /shop/
Cart: #9 - /cart/ -  Contains the woocommerce_cart shortcode
Checkout: #10 - /checkout/ -  Contains the woocommerce_checkout shortcode
My account: #11 - /my-account/ -  Contains the [woocommerce_my_account] shortcode
Terms and conditions: #293 - /shipping-terms-conditions/

### Admin ###

Enabled Features: activity-panels
analytics
product-block-editor
coupons
core-profiler
customize-store
customer-effort-score-tracks
import-products-task
experimental-fashion-sample-products
shipping-smart-defaults
shipping-setting-tour
homescreen
marketing
mobile-app-banner
onboarding
onboarding-tasks
pattern-toolkit-full-composability
product-custom-fields
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
printful
shipping-label-banner
subscriptions
store-alerts
transient-notices
woo-mobile-welcome
wc-pay-promotion
wc-pay-welcome-page
launch-your-store
add-to-cart-with-options-stepper-layout

Disabled Features: product-data-views
experimental-blocks
coming-soon-newsletter-template
minified-js
product-pre-publish-modal
settings
async-product-editor-category-field
product-editor-template-system
blueprint
reactify-classic-payments-settings
use-wp-horizon
blockified-add-to-cart

Daily Cron: ✔ Next scheduled: 2025-03-04 08:22:21 -05:00
Options: ✔
Notes: 34
Onboarding: completed

### Address Validation ###

Active Provider: Loqate
Configured: ✔
Validate international addresses: Yes
Debug Mode: No
Geocode Addresses: No
Classify Addresses: Yes
Force Customer to look-up address via Postcode: No

### Braintree (Credit Card) ###

Environment: Sandbox
Tokenization Enabled: –
Debug Mode: Off

### Braintree (PayPal) ###

Environment: Production
Tokenization Enabled: –
Debug Mode: Off

### Action Scheduler ###

Complete: 6,585
Oldest: 2025-02-01 12:15:17 -0500
Newest: 2025-03-04 12:14:57 -0500

Failed: 16
Oldest: 2023-05-25 17:01:55 -0400
Newest: 2024-11-18 15:17:53 -0500

Pending: 4
Oldest: 2025-03-04 12:14:58 -0500
Newest: 2025-03-10 01:46:50 -0400


### Smart Coupons related settings ###

⠀* Number of coupons to show: 5
⠀* Number of characters in auto-generated coupon code: 
⠀* Valid order status for auto-generating coupon: Processing | Completed
⠀* Automatic deletion: ❌ No
⠀* Coupon emails: ❌ No
⠀* Printing coupons: ✔ Yes
⠀* Sell gift cards at less price?: ❌ No
⠀* Use gift card applied in first subscription order for subsequent renewals until credit reaches zero: ✔ Yes
⠀* Allow sending of coupons to others: ✔ Yes
⠀* Allow schedule sending of coupons?: 
⠀* Combine emails: ❌ No
⠀* Auto generated coupon email: ❌ No
⠀* Combined auto generated coupons email: ❌ No
⠀* Acknowledgement email: ❌ No
⠀* Include tax in the amount of the generated gift card: 
⠀* Deduct credit/gift before doing tax calculations: ❌ No
⠀* Gift Card discount is inclusive of tax: ❌ No
⠀* Enable taxes: ✔ Yes
⠀* Prices entered with tax: ❌ No
⠀* Display prices in the shop: ❌ Excl
⠀* Display prices during cart and checkout: ❌ Excl
⠀* Rounding: ❌ No
⠀* Display tax totals: Single
⠀* Enable the use of coupon codes: ✔ Yes
⠀* Calculate coupon discounts sequentially: ❌ No
⠀* Account endpoints > Coupons: wc-smart-coupons
⠀* WooCommerce Account Connected: ✔ Yes

### Status report information ###

Generated at: 2025-03-04 12:15:01 -05:00

Isolating the problem

  • [ ] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce and WooCommerce Smooth Generator plugins are active.
  • [ ] This bug happens with a default WordPress theme active, or Storefront.
  • [x] I can reproduce this bug consistently using the steps above.

zackeryfretty avatar Mar 04 '25 17:03 zackeryfretty

@zackeryfretty Do the $0 orders actually have line items in them, or are they empty?

coreymckrill avatar Mar 04 '25 23:03 coreymckrill

No line items, empty.

zackeryfretty avatar Mar 04 '25 23:03 zackeryfretty

Hmm, I'm not able to reproduce. Every order should have at least one product line item in it. How many products does your store have?

Looking at the code, it might be possible that if you have a variable product that does not have any variations yet, you might end up with a situation where 0 products would get added to an order. Is that a possibility in your case?

coreymckrill avatar Mar 05 '25 00:03 coreymckrill

It's a unique situation so that's a loaded question to answer.

The way we have this setup is we have a parent store where we've got about 550 products loaded and then we have ~25 child stores that sync products from the parent store nightly. The child stores should have between 100-550 depending but they'd all be exactly the same products.

That said I suppose if the issue is related to the products it would make sense why I would be able to recreate this on all the child sites.

Quite a few products have no variations in stock, but they all have at least one variation configured. It happens quite frequently so I'd imagine it would have to be quite a few that way to show up as often as it does.

zackeryfretty avatar Mar 05 '25 02:03 zackeryfretty

Quite a few products have no variations in stock, but they all have at least one variation configured.

Ok, that's probably the issue. The generator uses the get_available_variations method, which excludes out of stock items unless you uncheck the "Hide out of stock items from the catalog" setting.

coreymckrill avatar Mar 07 '25 23:03 coreymckrill

Yes, all of the sites have "Hide Out of Stock Items" enabled.

zackeryfretty avatar Mar 08 '25 18:03 zackeryfretty