Descripció
A1 Profit Reports for WooCommerce adds the reporting layer WooCommerce’s own Cost of Goods Sold feature doesn’t provide:
- Sortable Profit and Margin columns on the product list.
- A Profit row on every order, and a Profit column on the orders list — refund-aware.
- A date-range Cost of Goods report: summary cards, a per-product profit breakdown, and CSV export.
- Quick-select date presets (Last 30 Days, This Month, This Quarter, Last Quarter, This Year, Last Year).
- A tool to recalculate historical cost for orders that predate Cost of Goods tracking.
- Configurable order statuses for what counts as a sale in reports.
This plugin reads and writes cost data through WooCommerce’s own Cost of Goods Sold field (WC_Product::get_cogs_value() / get_cogs_total_value()), so cost entry, Quick Edit, and Bulk Edit all work the way they already do in WooCommerce — this plugin doesn’t duplicate that, it reports on top of it.
Requirements
- WooCommerce 9.5 or newer (this plugin reports on top of WooCommerce’s own native Cost of Goods Sold field, which isn’t available on older versions).
- WooCommerce’s Cost of Goods Sold feature must be enabled (WooCommerce Settings Advanced Features). The plugin turns this on automatically on activation.
Scale
Not recommended for stores exceeding roughly 10,000 sales/month, particularly when using wide date ranges like «This Year» — report data is cached, but a first-time computation over a very large order volume can still be slow.
Instal·lació
- Upload the plugin files to
/wp-content/plugins/a1-profit-reports-for-woocommerce, or install through the WordPress admin’s Plugins screen. - Activate the plugin. This automatically enables WooCommerce’s Cost of Goods Sold feature if it isn’t already on.
- Set a cost on your products (Product data Pricing, or via Quick Edit / Bulk Edit).
- Find your report under WooCommerce Cost of Goods.
PMF
-
Why don’t I see cost data on old orders?
-
Orders placed before the Cost of Goods feature was enabled never had a cost snapshotted. Use the «Recalculate Historical Cost for This Range» button on the report page — it applies each product’s current cost retroactively. This is an approximation, not a historical record: if a product’s cost has changed since the sale, the recalculated value won’t match what it actually cost at the time.
-
Why is the report missing cost for some products?
-
The report flags products sold in the period that currently have no Cost of Goods value set. They’re counted at $0 cost until you add one.
Ressenyes
No hi ha ressenyes per a aquesta extensió.
Col·laboradors i desenvolupadors
«A1 Profit Reports for WooCommerce» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradorsTraduïu «A1 Profit Reports for WooCommerce» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
1.2.8
- Fix:
Plugin URIin the plugin header still pointed at the pre-rename/a1-woocog/URL (404, flagged in wp.org review round 2) — now points to/a1-profit-reports-for-woocommerce/. - Add:
Requires Plugins: woocommerceheader, per the reviewer’s optional suggestion. - Fix: the (Pro-only) report page’s date-preset
<select>had its JS in a hardcoded<script>tag instead of being enqueued. This file is excluded from the free/wp.org build by Freemius’s__premium_onlycode-stripping (confirmed empirically against the built free zip — the file, and every<script>tag, is absent), but it does ship in the premium build, so fixed it the same way as the earlier product-list CSS finding: registered/enqueued viawp_enqueue_script()/wp_add_inline_script().
1.2.7
- Packaging: added
premium_slugandwp_org_gatekeeperto the Freemiusfs_dynamic_init()config, per Freemius’s dashboard after the plugin rename. No functional change.
1.2.6
- Rename the Freemius-provided «Account» submenu item (WooCommerce Account) to «A1 Profit» so it’s identifiable as belonging to this plugin instead of reading as a generic, unrelated menu item.
1.2.5
- Rename: renamed from «A1-WooCOG» to «A1 Profit Reports for WooCommerce» (wp.org review round 2) — the reviewer flagged the old name for fusing WooCommerce’s «Woo» trademark into the plugin name in a way that implies affiliation. Text domain changed to
a1-profit-reports-for-woocommerceto match. Internal constants, function/class prefixes, database meta keys, and the Freemius product slug (tied to existing license records) are unchanged. - Fix: the product list’s column-width CSS (
admin_head-edit.phpprinting a raw<style>tag) is now registered and enqueued viawp_enqueue_style()/wp_add_inline_style(), per WordPress.org’s Plugin Check.
1.2.4
- Fix: WordPress.org’s automated submission scan hard-blocked on the bundled Freemius SDK’s update-checking code (
plugin_updater_detected). Per Freemius support, this check is waived for SDKs placed under avendor/folder — moved the SDK fromfreemius/tovendor/freemius/(matching A1-WooBay’s existing structure) and updated the bootstrap require path accordingly. No functional change.
1.2.3
- Fix:
Plugin URIandAuthor URIin the plugin header were identical, which WordPress.org’s submission check rejects.Plugin URInow points to the plugin’s own product page (https://a1plugins.com/a1-woocog/) instead of duplicating the author/company URL.
1.2.2
- No functional/behavior changes. Adds a checked-in release build script (bin/build-release.sh, excluded from the shipped zip itself) replacing an ad-hoc manual process — version bump needed only so Freemius has a distinct build to stage after 1.2.1 was already uploaded.
1.2.1
- Fix: plugin header was missing the required
License/License URIlines (found by WordPress.org’s Plugin Check tool). - Fix:
wc_price()output (which returns HTML) was echoed unescaped in several places — the report page, the order detail Profit row, the orders list Profit column, and the product list Profit column. All wrapped inwp_kses_post(). - Packaging: release zips now also exclude
.gitignore(in addition to the dev-only files already excluded).
1.2.0
- WordPress.org submission compliance (Guideline 5, no trialware): the Cost of Goods Report is now removed entirely from the free build via Freemius’s code-stripping (
__premium_only), not just gated behind a license check.has_premium_versionis now true — Freemius generates a separate free zip (for wp.org) and premium zip (for paying/trial customers). Existing customers who unlocked Pro in-place under the old model now need to download and install the separate premium zip from their Freemius account instead.
1.1.0
- Add a «Profit by Product» bar chart to the report page (top 10 products by profit), rendered with plain CSS — no charting library added, to keep the plugin lightweight. CSV export is unchanged.
1.0.1
- Fix: license activation had no visible entry point. Freemius silently defaulted
has_premium_versionto matchhas_paid_plans(true) since it was never set, so the plugin was treated as a dual-zip product requiring a separate premium download instead of unlocking Pro in place. Sethas_premium_versionto false and added a proper Account menu (nested under WooCommerce) so «Activate License» now appears on the Plugins page as expected.
1.0.0
- First public release.
0.5.0
- Connect the real Freemius product (id 35412, slug a1-woocog) – license activation and updates now work.
- Add free/Pro gating: the Cost of Goods Report page (summary, per-product breakdown, CSV export, historical recalculation, and settings) is now a Pro feature. Profit and Margin columns stay free on every plan.
0.4.0
- Add Freemius SDK integration scaffolding (licensing/updates), pending the real Plugin ID and Public Key.
- Add this readme.txt with a proper changelog.
0.3.1
- Fix: Profit/Margin columns silently failed to render on the product list, due to a WooCommerce filter-priority conflict.
- Removed the redundant Cost column/row now duplicated by WooCommerce’s own native Cost of Goods Sold display.
0.3.0
- Add a tool to recalculate historical cost for orders that predate Cost of Goods tracking.
- Add configurable order statuses for what counts as a sale in reports.
0.2.4
- Cache report data for performance, invalidated automatically on order status changes and refunds.
0.2.3
- Add quick-select date range presets to the report page.
0.2.2
- Fix: cost/profit/margin cache now syncs when a product is created, not just when it’s updated.
0.2.1
- Add uninstall cleanup for the plugin’s own cached data.
0.2.0
- Migrate to WooCommerce’s native Cost of Goods Sold field instead of a custom cost field. Adds refund-aware profit calculations and native Quick Edit / Bulk Edit support for cost.
0.1.2
- Add CSV export to the Cost of Goods report.
0.1.1
- Fix sortable Cost/Profit/Margin product columns.
0.1.0
- Initial release: cost tracking, profit columns, and a date-range report.