Skip to main content

FluentCart Data Integrity Issues

Verified Bugs

1. No Protection Against Deleting Variations / Products with Active Licenses (CRITICAL)

FC allows deleting variations and products that have active licenses. Once order is completed (not pending), deletion succeeds with no warning.

Result:

  • Deleted variation β†’ license variation_title becomes empty in API
  • Deleted product β†’ license displays "Unknown Product" to customer
  • License still activates (functional) but customer has no idea what it's for

Steps: Purchase product β†’ Complete order β†’ Delete variation or product β†’ Check customer license view

2. Bundle Purchase Skips Deleted Children (CRITICAL)

Delete a bundle child variation β†’ bundle still purchasable β†’ customer pays full price but only receives licenses for existing children.

Steps: Create bundle A+B β†’ Delete variation from B β†’ Purchase bundle β†’ Only A license issued, charged for both.

3. No Dependency Check on Deletion

Variations and products can be deleted while referenced in bundle_child_ids. No warning, silent corruption.

4. Bundle Display Hides Deleted Children

Product page omits deleted children from display but keeps original price. Misleading.


Suggested Additional Tests

Licensing

  • License renewal for deleted variation?
  • License upgrade/downgrade to deleted variation?
  • License transfer when product deleted?
  • Activation limit enforcement after variation deleted?

Subscriptions & Recurring

  • Delete variation with active subscription β†’ renewal behavior?
  • Delete product with active subscription β†’ orphaned renewals?
  • Subscription upgrade to deleted variation?

Installments

  • Delete variation mid-installment plan β†’ remaining payments?
  • Installment completion for deleted variation?

Bumps (FC Pro) - Same Cascade Risk as Bundles

  • Delete variation referenced by bump β†’ bump still offered?
  • Purchase with bump for deleted variation β†’ silent skip?
  • Bump display after variation deletion β†’ misleading pricing?
  • Delete product referenced by bump β†’ orphaned bump data?

Refunds

  • Refund order with orphaned variation?
  • Partial refund on bundle with deleted child?

Bundle Edge Cases

  • Delete ALL bundle children β†’ empty bundle purchasable?
  • Bundle with same child variation twice β†’ double orphan?

Downloads

  • Download file after product/variation deletion?

API & Reports

  • Sales reports with orphaned orders β†’ accurate totals?
  • Webhook payloads for orphaned data?

Testing performed on LocalWP with FluentCart Pro

Matthew Hawthorn

Following

Sarkar Ripon

Checking...

Jeff Mapes

found a few others for the ninjas to look into...

Licensing Settings Drift

  • Disable licensing toggle on product with active licenses β†’ what happens to existing licenses?
  • Change activation limit on variation with active licenses β†’ enforcement behavior?
  • Change validity period on variation with active licenses β†’ existing vs new licenses?

Variation Settings Drift

  • Change payment_type (onetime ↔ subscription) on variation with orders β†’ subscription renewal behavior?
  • Change installment months (other_info.times) mid-plan β†’ remaining payments?
  • Change fulfillment_type (digital ↔ physical) with active licenses β†’ download access?

Jeff Mapes

Did anything ever become of this Shahjahan Jewel? I think the best fix for this is to not break licenses when a product or variation is deleted. This is a potential customer service nightmare for store owners who had no idea that products can NEVER be deleted once you sold a product, without breaking all licenses sold. Why is license linked to product after the sale? The license should stand on it's own.