{"id":342913,"date":"2026-07-21T12:00:48","date_gmt":"2026-07-21T12:00:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tendforge-profit-lens-for-woocommerce\/"},"modified":"2026-07-21T12:00:14","modified_gmt":"2026-07-21T12:00:14","slug":"tendforge-margin-lens-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tendforge-margin-lens-for-woocommerce\/","author":23528604,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Tendforge Margin Lens for WooCommerce","header_author":"Tendforge","header_description":"Profit & COGS reports for WooCommerce. Gross profit dashboard, per-order profit, and top products by margin \u2014 built on WooCommerce's native Cost of Goods Sold.","assets_banners_color":"162032","last_updated":"2026-07-21 12:00:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/tendforge.com\/en\/profit-lens\/","header_author_uri":"https:\/\/tendforge.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"tendforge","date":"2026-07-21 12:00:14"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3617071,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3617071,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3617071,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3617071,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3617071,"resolution":"1","location":"assets","locale":"","width":2316,"height":1304},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3617071,"resolution":"2","location":"assets","locale":"","width":2316,"height":918},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3617071,"resolution":"3","location":"assets","locale":"","width":2316,"height":2674}},"screenshots":{"1":"The free profit dashboard: gross-profit KPIs, revenue vs. profit chart, top products by margin.","2":"(Pro) True net profit after ad spend, and customer lifetime value.","3":"(Pro) Settings: historical cost backfill, low-margin alerts, scheduled email reports."}},"plugin_section":[],"plugin_tags":[232,233971,6882,3654,286],"plugin_category":[36,45],"plugin_contributors":[271433],"plugin_business_model":[],"class_list":["post-342913","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-cogs","plugin_tags-profit","plugin_tags-reports","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-tendforge","plugin_committers-tendforge"],"banners":{"banner":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/banner-772x250.png?rev=3617071","banner_2x":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/banner-1544x500.png?rev=3617071","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/icon-128x128.png?rev=3617071","icon_2x":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/icon-256x256.png?rev=3617071","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/screenshot-1.png?rev=3617071","caption":"The free profit dashboard: gross-profit KPIs, revenue vs. profit chart, top products by margin."},{"src":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/screenshot-2.png?rev=3617071","caption":"(Pro) True net profit after ad spend, and customer lifetime value."},{"src":"https:\/\/ps.w.org\/tendforge-margin-lens-for-woocommerce\/assets\/screenshot-3.png?rev=3617071","caption":"(Pro) Settings: historical cost backfill, low-margin alerts, scheduled email reports."}],"raw_content":"<!--section=description-->\n<p>WooCommerce 10.3 added Cost of Goods Sold (COGS) to core \u2014 but it ships with <strong>no reports<\/strong>. You can record what every product costs you, yet there is nowhere to see what you actually earn.<\/p>\n\n<p><strong>Margin Lens fills that gap.<\/strong> It turns WooCommerce's own COGS data into the profit dashboard your store is missing:<\/p>\n\n<ul>\n<li><strong>Profit dashboard<\/strong> \u2014 revenue, cost of goods, gross profit, margin %, and profit per order for any date range, with comparison against the previous period<\/li>\n<li><strong>Daily profit chart<\/strong> \u2014 revenue vs. profit over time, so you spot expensive weeks at a glance<\/li>\n<li><strong>Top products by profit<\/strong> \u2014 find out which products make you money and which only make you busy<\/li>\n<li><strong>Profit column on the orders list<\/strong> \u2014 see each order's profit and margin without opening it<\/li>\n<li><strong>Cost column + filter on the products list<\/strong> \u2014 instantly find products that still have no cost set, and update costs right from Quick Edit<\/li>\n<li><strong>Profit from day one<\/strong> \u2014 new orders record their cost automatically. (Margin Lens Pro can backfill costs onto your existing orders.)<\/li>\n<li><strong>One-click setup<\/strong> \u2014 enables WooCommerce's COGS feature for you and walks you through the rest<\/li>\n<\/ul>\n\n<h4>Built the right way<\/h4>\n\n<ul>\n<li>Uses <strong>WooCommerce's native COGS fields<\/strong> \u2014 no duplicate cost database, no lock-in. Your data stays in WooCommerce even if you remove this plugin.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 works with High-Performance Order Storage and legacy storage alike.<\/li>\n<li><strong>Fast<\/strong> \u2014 reports read from WooCommerce's indexed analytics tables with caching; nothing runs on your storefront.<\/li>\n<li><strong>Light<\/strong> \u2014 no ads, no admin-wide notices, no tracking.<\/li>\n<\/ul>\n\n<h4>Margin Lens Pro<\/h4>\n\n<p>Free shows your <strong>gross<\/strong> profit. <strong>Pro shows your real, bottom-line profit \u2014 and what's eating it:<\/strong><\/p>\n\n<ul>\n<li><strong>True net profit<\/strong> \u2014 gross profit minus payment-gateway fees, shipping costs and handling, per order<\/li>\n<li><strong>Net after marketing<\/strong> \u2014 log your ad spend by channel and date; Pro prorates it to the report range and subtracts it, so you see what you actually pocket<\/li>\n<li><strong>Low-margin product alerts<\/strong> \u2014 automatically flags products earning below a margin threshold you set, on the dashboard and in your email report, so you know exactly what to reprice or drop<\/li>\n<li><strong>Customer depth<\/strong> \u2014 top customers by profit <em>with lifetime value<\/em>, plus a new-vs-returning breakdown<\/li>\n<li><strong>CSV exports<\/strong> \u2014 products, customers and daily figures for your accountant or spreadsheet<\/li>\n<li><strong>Scheduled email reports<\/strong> \u2014 a weekly or monthly profit summary, including low-margin products, straight to your inbox<\/li>\n<\/ul>\n\n<p>Everything stays on your own site \u2014 no monthly SaaS fee, no sending your sales data to a third party.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WooCommerce 9.5 or newer (10.3+ recommended, where COGS is a stable feature)<\/li>\n<\/ul>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>This plugin bundles the following third-party library. It is included unmodified and is not loaded from any external service:<\/p>\n\n<ul>\n<li><strong>Chart.js<\/strong> v4.5.1 \u2014 renders the report charts in the admin screen.\n\n<ul>\n<li>License: MIT<\/li>\n<li>Project: https:\/\/www.chartjs.org<\/li>\n<li>License text: https:\/\/github.com\/chartjs\/Chart.js\/blob\/v4.5.1\/LICENSE.md<\/li>\n<li>Unminified source: https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.5.1\/dist\/chart.umd.js<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. Requires WooCommerce to be installed and active.<\/li>\n<li>In the WordPress admin, open <strong>WooCommerce \u2192 Profit<\/strong> (the \"Profit Reports\" screen).<\/li>\n<li>Set your product costs (Margin Lens can enable WooCommerce's Cost of Goods Sold feature in one click, then each product gets a \"Cost of goods\" field) so margins are accurate. The report then shows revenue, cost of goods, gross profit and margin per order and per product for any date range.<\/li>\n<li>Use the Settings tab to record payment, processing and shipping fees, low-margin alert thresholds and marketing\/ad spend, export your figures to CSV, and turn on the optional scheduled email profit summary.<\/li>\n<li>(Optional) Upgrade to Pro for net profit after fees, shipping and ad spend, new-vs-returning customers and top customers.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20enter%20my%20product%20costs%3F\"><h3>Where do I enter my product costs?<\/h3><\/dt>\n<dd><p>Once the COGS feature is enabled (Margin Lens offers a one-click button), every product gets a \"Cost of goods\" field in Product data \u2192 General. WooCommerce's CSV importer also supports the cost column for bulk updates.<\/p><\/dd>\n<dt id=\"my%20past%20orders%20show%20no%20profit.%20why%3F\"><h3>My past orders show no profit. Why?<\/h3><\/dt>\n<dd><p>WooCommerce captures cost at checkout time, so orders placed before you enabled COGS have no cost data \u2014 those are shown without profit rather than guessed at. New orders are tracked automatically from here on; <strong>Margin Lens Pro<\/strong> can backfill costs onto your existing orders in one pass.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20refunds%3F\"><h3>Does it work with refunds?<\/h3><\/dt>\n<dd><p>Yes. Refunded items are subtracted from cost and revenue, matching WooCommerce's own calculation.<\/p><\/dd>\n<dt id=\"does%20it%20support%20variable%20products%3F\"><h3>Does it support variable products?<\/h3><\/dt>\n<dd><p>Yes. Costs can be set per variation (or inherited from the parent product), exactly as WooCommerce core implements it.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>No. The plugin loads only in the admin, and report queries run against WooCommerce's indexed lookup tables with a short cache.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed from Profit Lens to Margin Lens (no functional change) to avoid conflict with a third party's registered trademark on \"ProfitLens\" in the same product category.<\/li>\n<li>Updated the bundled Chart.js library to v4.5.1 and fixed a dead link in the third-party library notice below.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Initial public release: a WooCommerce profit dashboard built on native Cost of Goods Sold, showing per-product and per-order profit and margin, top products by profit, order-list and product-list cost columns, with Pro adding net profit after fees, shipping and ad spend, low-margin alerts, CSV export, scheduled email summaries and customer insights.<\/li>\n<\/ul>","raw_excerpt":"See your real profit, not just revenue. Gross profit dashboard, per-order profit and margins, built on WooCommerce&#039;s native Cost of Goods Sold.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/342913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=342913"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tendforge"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=342913"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=342913"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=342913"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=342913"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=342913"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=342913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}