Title: Flavors Commerce Intelligence – Profit &amp; Inventory Reports for WooCommerce
Author: flavorswp
Published: <strong>October 1, 2026</strong>
Last modified: October 1, 2026

---

Search plugins

![](https://ps.w.org/flavors-commerce-intelligence/assets/banner-772x250.png?rev
=3723244)

![](https://ps.w.org/flavors-commerce-intelligence/assets/icon-256x256.png?rev=3723244)

# Flavors Commerce Intelligence – Profit & Inventory Reports for WooCommerce

 By [flavorswp](https://profiles.wordpress.org/flavorswp/)

[Download](https://downloads.wordpress.org/plugin/flavors-commerce-intelligence.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/flavors-commerce-intelligence/#description)
 * [Reviews](https://wordpress.org/plugins/flavors-commerce-intelligence/#reviews)
 *  [Installation](https://wordpress.org/plugins/flavors-commerce-intelligence/#installation)
 * [Development](https://wordpress.org/plugins/flavors-commerce-intelligence/#developers)

 [Support](https://wordpress.org/support/plugin/flavors-commerce-intelligence/)

## Description

See which products earn gross profit, which stock needs attention and which catalog
issues need fixing. Flavors Commerce Intelligence brings WooCommerce profit reports,
cost of goods, inventory checks and customer and refund reports into your WordPress
dashboard.

Enter product costs manually, import a CSV or copy costs from supported cost plugins.
Historical costs are stored on order lines so later cost changes do not rewrite 
recorded profit. Gross profit means product net revenue minus cost of goods; it 
does not deduct advertising, payment processing, shipping or operating expenses.

All reports are calculated inside your own WordPress site. No external account, 
subscription or service connection is required. Optional checkout-funnel tracking
is off by default.

**Overview**

 * Gross sales (order totals), net revenue (product line totals after discounts,
   excluding tax and shipping, minus product refunds), orders, average order value,
   units sold, customers, refunds and discounts for any date range.
 * Date presets (last 7, 30 or 90 days, this month, last month) and a comparison
   with the previous period of the same length.
 * A daily net revenue chart drawn inside the page (no external library), with the
   numbers available as a table.
 * Average order value leaves out fully refunded orders. Only orders in the store
   currency are added up; orders in other currencies are counted and shown as excluded.
 * A store health score combining catalog, inventory and feed-readiness scores, 
   with the formula shown on screen. A part that cannot be measured yet (no full
   catalog scan, no stock-managed products) shows “Not yet measured” instead of 
   a score.
 * A setup checklist on the Overview tab (add costs, run a catalog scan, review 
   inventory thresholds, and the optional tracking and privacy steps) with live 
   progress. Each user can dismiss it.

**Dashboard widget**

 * A “Commerce Intelligence” widget on the WordPress Dashboard for users who can
   view reports: net revenue, orders and average order value for yesterday and the
   last 7 days, gross profit, margin and cost coverage (only for users allowed to
   see profit), the store health score and open catalog issues by severity. Figures
   are cached for 15 minutes. The widget can be hidden per user through Screen Options,
   or turned off for everyone in Settings.

**Catalog**

 * Checks every published product for an empty title, missing featured image, missing
   description, missing SKU and a missing or zero price. For variable products the
   variations are checked too (SKU, price and image), and a parent is not flagged
   when its variations are complete.
 * Products are re-checked automatically whenever they are saved; issues are resolved
   automatically when a product is fixed, unpublished, trashed or deleted.
 * A full scan runs in the background in batches of 100 products (Action Scheduler,
   with a WP-Cron fallback) and shows its progress and last run time.
 * Catalog score normalized by product count and issue severity.

**Inventory**

 * Stock-managed products, out-of-stock, low-stock (per-product or store threshold)
   and dead-stock counts and tables.
 * Stock value at cost.

**Profit**

 * Adds a “Cost price (Commerce Intelligence)” field to simple products and to every
   variation. Each change is kept in a cost history.
 * Bulk cost entry: a Cost column plus Quick Edit and Bulk Edit (“change to”) on
   the Products list; a CSV import (by SKU or product ID, optional effective date)
   with a preview of matched, unmatched and invalid rows before anything changes,
   applied in background batches for large files; a CSV template and a “Download
   current costs” export for round trips.
 * The CSV import reads costs written with either decimal separator (“1,234.56” 
   or “1.234,56”). Choose Auto, Dot or Comma; the preview shows each cost as written
   next to the value that will be saved.
 * The list of products missing a cost is paginated and lets you type costs directly
   into it.
 * One-click import of costs already stored by WooCommerce’s Cost of Goods Sold 
   feature, Cost of Goods for WooCommerce (SkyVerge or WPFactory) or ATUM Inventory
   Management, with counts shown before running. Existing costs are kept unless 
   you choose to overwrite them.
 * WooCommerce Cost of Goods Sold interop: when that WooCommerce feature is enabled,
   its Cost field is the cost source, the duplicate field is not shown, and orders
   use the cost WooCommerce recorded on each line.
 * Bundles and composite products (WooCommerce Product Bundles, Composite Products,
   WPC Product Bundles) are costed once: the items inside carry the cost when they
   all have one, otherwise the bundle’s own cost is used.
 * When an order is paid or completed, each line’s unit cost is frozen onto the 
   order, so later cost changes never rewrite past profit.
 * Net revenue (discounted product-line totals minus product refunds, including 
   lump sums but excluding refunded tax, shipping and fees), cost of goods, gross
   profit, gross margin and cost coverage for any date range, compared with the 
   previous period, plus a list of products still missing a cost.
 * Gross profit and margin by product (top and bottom 20, sortable) and by category,
   using the costs frozen on each order line.
 * A Profit column on the WooCommerce Orders list and a Profit box on the order 
   screen (both HPOS and legacy order storage), shown only to users allowed to see
   profit. The box explains when a product’s cost has changed since the order.

**Customers**

 * Customers, repeat customers and repeat rate for any date range, and the top customers
   by net spend.

**Checkout funnel (optional, off by default)**

 * Cart, checkout and purchase sessions and checkout conversion (capped at 100% 
   by definition), next to the number of orders in the period.

**Returns**

 * Refunded amount, refund rate, orders with refunds, units refunded and the most
   refunded products, with each rate’s definition shown on screen.

**Feeds**

 * Local feed-readiness check (title, image, price, stock). The plugin does not 
   generate or submit feeds.

**CSV export**

 * Every report tab (Overview, Catalog, Inventory, Profit and missing costs, Customers,
   Checkout, Returns, Feeds) has an “Export CSV” button that honours the current
   filters. Exports are streamed, never stored on the server, require the same permission
   as the tab, and neutralise spreadsheet formulas.

**REST API**

 * Read-only report endpoints (including profit by product and by category) and 
   a cost endpoint under `ciowc/v1`, protected by the plugin’s own capabilities (`
   ciowc_view`, `ciowc_manage`, `ciowc_view_profit`, `ciowc_view_customers`, `ciowc_view_tracking`),
   granted to Administrators and Shop Managers. Checkout-funnel data needs `ciowc_view_tracking`,
   like tracking health.

**Performance**

 * Sales reports are added up in SQL from WooCommerce’s own Analytics tables when
   they exist and hold the same orders as WooCommerce. Otherwise the plugin reads
   orders in pages, capped at 20,000 orders per report, and the screen says when
   a report was capped.
 * Inventory and feed checks read WooCommerce’s product lookup table instead of 
   loading every product.
 * Reports are cached per kind of data: a sale refreshes sales and stock reports
   without discarding catalog and cost reports.

**Optional paid Pro add-on — distributed separately**

Every feature described above is included in this free plugin. Flavors Commerce 
Intelligence Pro is a separate paid add-on for stores that need deeper analysis 
and operational workflows:

 * Contribution profit after payment, shipping, advertising and other selling costs,
   plus profit and loss with operating expenses.
 * Inventory forecasts, reorder recommendations, suppliers, purchase orders and 
   receiving with landed costs.
 * Customer segments, cohorts and lifetime value, plus consent-aware abandoned-cart
   recovery emails.
 * Marketing attribution and configured ad-platform integrations, plus payment reconciliation
   for supported providers.
 * Custom dashboards, scheduled reports, recommendations and automation with explicit
   approval for supported actions.
 * Scoped MCP access for AI assistants and an optional AI advisor using your own
   provider credentials.

Pro requires this free plugin. WooCommerce Subscriptions analytics requires the 
separate WooCommerce Subscriptions extension. External integrations require merchant
credentials and provider access; available functions depend on the provider. Pro
is not included in the WordPress.org download. This free plugin remains complete
on its own, with no locked features or trial limits, and its only in-plugin Pro 
information appears on its own “Pro add-on” tab.

### Privacy

This plugin does not send any data to external services and includes no telemetry.

Checkout-funnel tracking is disabled by default. When a store administrator enables
it:

 * The tracker runs only on the cart, checkout and order-received pages.
 * By default it requires statistics consent through a configured consent manager
   using the [WP Consent API](https://wordpress.org/plugins/wp-consent-api/). Until
   consent is given, nothing runs and nothing is written to the visitor’s browser
   storage. Installing the API alone does not count as consent; if consent is required
   and no compatible consent manager has configured it, no visitor is tracked. An
   explicit statistics denial is respected even if the optional consent requirement
   is turned off.
 * A random identifier is stored in the visitor’s browser (localStorage key `ciowc_sid`).
   Only an HMAC-hashed version of it is stored in the site database, together with
   the event type, the time and, for purchases, the order ID (so each order is counted
   once).
 * Whenever the WP Consent API is installed, nothing is written to browser storage
   until a consent manager has recorded the visitor’s choice, even when the store
   does not require consent.
 * Each event must carry the security token (nonce) printed on the page, so events
   cannot be sent without loading a page of your store. Pages served from a full-
   page cache older than about a day send expired tokens, and those events are not
   recorded.
 * No IP address, name or email address is stored in the events table. IP addresses
   are used only transiently, hashed, for rate limiting.
 * Events are deleted after the retention period chosen in Settings (default 90 
   days).
 * Purchase events linked to a customer’s orders are included in WordPress’s personal
   data export and erasure tools.
 * When Flavors Commerce Intelligence Pro is active this plugin stays dormant, but
   it still deletes its own old events on schedule and keeps them in the export 
   and erasure tools.

Suggested privacy policy text is added to Settings > Privacy.

## Screenshots

[⌊Overview with daily net revenue, period comparisons and store health. Demo store
with sample products and orders.⌉⌊Overview with daily net revenue, period comparisons
and store health. Demo store with sample products and orders.⌉[

Overview with daily net revenue, period comparisons and store health. Demo store
with sample products and orders.

[⌊Gross profit, historical product costs, cost coverage and bulk cost tools. Demo
store with sample products and orders.⌉⌊Gross profit, historical product costs, 
cost coverage and bulk cost tools. Demo store with sample products and orders.⌉[

Gross profit, historical product costs, cost coverage and bulk cost tools. Demo 
store with sample products and orders.

[⌊Inventory report with out-of-stock and low-stock products and stock value at cost.
Demo store with sample products and orders.⌉⌊Inventory report with out-of-stock 
and low-stock products and stock value at cost. Demo store with sample products 
and orders.⌉[

Inventory report with out-of-stock and low-stock products and stock value at cost.
Demo store with sample products and orders.

[⌊Catalog scan with product issues and severity. Demo store with sample products
and orders.⌉⌊Catalog scan with product issues and severity. Demo store with sample
products and orders.⌉[

Catalog scan with product issues and severity. Demo store with sample products and
orders.

## Installation

 1. Install and activate WooCommerce.
 2. Install and activate Flavors Commerce Intelligence.
 3. Open Commerce Intelligence in the admin menu (just below WooCommerce).
 4. On the Catalog tab, click “Run full scan”.
 5. Enter product costs to see gross margin: in the product editor, with Quick Edit
    on the Products list, by CSV import on the Profit tab, or by copying them from 
    another cost plugin.
 6. Optionally enable checkout-funnel tracking on the Settings tab.

## FAQ

### Does the plugin send my store data anywhere?

No. All calculations run inside your WordPress site and the plugin makes no outbound
requests.

### Where do I enter product costs?

In the product editor: the “Cost price (Commerce Intelligence)” field on the General
tab for simple products, or in each variation’s pricing fields. Variations without
their own cost use the parent product’s cost. You can also use Quick Edit and Bulk
Edit on the Products list, import a CSV on the Profit tab, copy costs from another
cost plugin, or use the REST API. If WooCommerce’s own Cost of Goods Sold feature
is enabled, enter costs in its Cost field instead.

### What does the CSV import expect?

A header row naming the columns `sku` or `product_id`, `cost` and optionally `effective_date`(
YYYY-MM-DD). Comma or semicolon separated, UTF-8, up to 5 MB and 20,000 rows. Download
the template or your current costs from the Profit tab. Nothing changes until you
confirm the preview.

### How are bundles counted?

For WooCommerce Product Bundles, Composite Products and WPC Product Bundles, revenue
is the sum of the order lines as usual. Cost of goods is counted once: when every
item inside the bundle has a cost, those costs are used and the bundle line counts
as zero; otherwise the bundle product’s own cost is used and the items inside count
as zero. Units sold count the items inside a bundle, not the bundle line itself.

### If I change a cost, does my past profit change?

No. When an order is paid or completed, the cost in effect at that time is stored
on each order line. Orders placed before you entered any cost use the cost in effect
on the order date from the cost history, or the current cost if there is no earlier
entry.

### How is net revenue calculated?

Sum of product line totals after discounts, excluding tax and shipping, minus product
refunds. A refund entered against a product line reduces that line. A refund entered
only as an amount is first reduced by any refunded tax, shipping and fee lines, 
and the rest is shared across the order’s product lines in proportion to their revenue.
Gross sales (order totals including tax and shipping) are shown separately.

### How is average order value calculated?

Gross sales divided by the number of orders, leaving out orders that were fully 
refunded, so a cancelled sale neither lowers nor raises the average.

### My store sells in more than one currency.

Amounts in different currencies cannot be added up, so reports include only orders
in the store currency and show how many orders in other currencies were left out.

### My site is behind a proxy or CDN.

The tracking endpoint’s rate limit uses the connecting IP address (REMOTE_ADDR).
Behind a proxy every visitor may share that address. If you trust your proxy, return
the visitor’s real address from the `ciowc_client_ip` filter; the limit per address
per minute can be changed with the `ciowc_event_rate_limit` filter.

### Why is dead stock empty or limited right after installing?

Last-sale dates are recorded from the day the plugin is installed. Until then, a
stock-managed product counts as dead stock only if it has stock, was created more
than 90 days ago and has no recorded sale.

### Why does the checkout funnel show fewer purchases than orders?

Only visitors who were tracked are counted: tracking must be enabled and, when consent
is required, the visitor must have given statistics consent. Orders in the period
are shown next to the funnel for comparison.

### Does it work with HPOS and the block checkout?

Yes. The plugin declares compatibility with High-Performance Order Storage and the
Cart and Checkout blocks and uses WooCommerce’s order and product APIs.

### What does uninstalling remove?

Nothing, unless you tick “Delete all Flavors Commerce Intelligence data when the
plugin is deleted” in Settings. Then the plugin tables, settings, product costs,
last-sale dates, order line cost snapshots, capabilities and scheduled tasks are
removed.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Flavors Commerce Intelligence – Profit & Inventory Reports for WooCommerce” is 
open source software. The following people have contributed to this plugin.

Contributors

 *   [ flavorswp ](https://profiles.wordpress.org/flavorswp/)

[Translate “Flavors Commerce Intelligence – Profit & Inventory Reports for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/flavors-commerce-intelligence)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/flavors-commerce-intelligence/),
check out the [SVN repository](https://plugins.svn.wordpress.org/flavors-commerce-intelligence/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/flavors-commerce-intelligence/)
by [RSS](https://plugins.trac.wordpress.org/log/flavors-commerce-intelligence/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.
 * Overview: gross sales, net revenue (excluding tax and shipping, minus product
   refunds), orders, average order value, units, customers, refunds and discounts
   for any date range, with date presets, previous-period comparison and a daily
   net revenue chart.
 * Store health score with the formula on screen, a setup checklist and a WordPress
   Dashboard widget.
 * Catalog checks (title, image, description, SKU, price) including variations, 
   re-checked on save, with a background full scan.
 * Inventory: out-of-stock, low-stock and dead-stock tables and stock value at cost.
 * Profit: cost price field with cost history, costs frozen onto order lines when
   orders are paid, gross profit and margin by product and by category, a Profit
   column on the Orders list and a Profit box on the order screen.
 * Bulk cost entry: Quick Edit and Bulk Edit, CSV import with preview and decimal-
   separator choice, and one-click import from WooCommerce Cost of Goods Sold, SkyVerge
   or WPFactory Cost of Goods and ATUM.
 * Bundle and composite products costed once.
 * Customers, returns and feed-readiness reports.
 * Optional checkout-funnel tracking (off by default) that respects the WP Consent
   API.
 * CSV export on every report tab and a read-only REST API under `ciowc/v1`.
 * Its own Commerce Intelligence admin menu, placed just below WooCommerce.
 * Compatible with High-Performance Order Storage and the Cart and Checkout blocks.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [analytics](https://wordpress.org/plugins/tags/analytics/)[cost of goods](https://wordpress.org/plugins/tags/cost-of-goods/)
   [inventory](https://wordpress.org/plugins/tags/inventory/)[profit](https://wordpress.org/plugins/tags/profit/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/flavors-commerce-intelligence/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/flavors-commerce-intelligence/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/flavors-commerce-intelligence/reviews/)

## Contributors

 *   [ flavorswp ](https://profiles.wordpress.org/flavorswp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/flavors-commerce-intelligence/)