WordPress.org

Plugin Directory

Flavors Commerce Intelligence – Profit & Inventory Reports for WooCommerce

Flavors Commerce Intelligence – Profit & Inventory Reports for WooCommerce

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. 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

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

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.