=== OrderWorth – Cost of Goods & Profit Reports for WooCommerce ===
Tags: woocommerce, cost of goods, profit, profit margin, reports
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.10.18
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WooCommerce profit reports using cost of goods (COGS), payment and shipping expenses. Review order margins, missing costs and CSV imports.

== Description ==

**See estimated profit per WooCommerce order, with the costs and missing data behind the number.**

OrderWorth is a WooCommerce profit calculator and reporting tool using cost of goods sold (COGS) and your payment, shipping and packaging expenses. Find loss-making or low-margin orders and check missing costs before relying on the totals.

[Try Free live](https://orderworth.com/demo/?edition=free) | [Try Pro live](https://orderworth.com/demo/?edition=pro) | [Quickstart](https://orderworth.com/guide.html) | [Documentation](https://orderworth.com/docs.html)

Try the real plugins with fictional WooCommerce orders. No signup, password or licence key needed. Demo sessions last 30 minutes; no real payments or emails are sent.

= WooCommerce profit reports with clear cost coverage =

* **Profit and margins:** review revenue, product costs, expenses and estimated order profit for a selected period.
* **Missing-cost checks:** see order coverage and exclusion reasons. Incomplete orders stay out of aggregate profit.
* **Order reviews:** investigate estimated losses and low margins, inspect calculations and record missing or actual costs.
* **Historical costs:** use native order-item COGS. Editing today's product cost does not rewrite recorded order costs.
* **Refund review:** account for refunded revenue and explicitly confirm any recovered product costs.
* **HPOS and legacy orders:** see estimate columns in the WooCommerce order list with either order-storage system.

= Include payment, shipping and packaging expenses =

Set global payment fees as a percentage and fixed amount, plus shipping and packaging costs per order. Override an order when you know its actual expense. Set a target margin to highlight orders needing attention.

Defaults are assumptions, not retrieved gateway fees. New eligible orders capture expense snapshots; existing snapshots stay unchanged until explicitly reviewed.

= Import product costs from CSV =

Match product costs by ID or SKU. Preview changes, review every page and confirm before importing. Larger files continue in batches. Guarded undo is available for 24 hours while temporary records remain; it skips products changed later by another editor.

Imports update current product costs for future orders, preserving existing order costs.

= Free features you can keep using =

Manual reports, global expenses, order reviews and reviewed CSV imports are Free, with **no trial expiry, licence requirement or paid order-count or CSV-row quota**. Hosting and resource safeguards still apply.

Get a dedicated WordPress menu, optional Quickstart and focus mode with a visible exit. Reports run on your site. Domain sharing and email signup are optional.

= When Pro fits your workflow =

The separate **OrderWorth Pro** add-on includes:

* **Expense rules:** reuse different payment and shipping assumptions for different methods.
* **Profit insights:** compare periods, review change drivers, product/category allocations and weekly/monthly trends.
* **Background reports:** prepare reports and complete report packs without keeping the page open.
* **Scheduled reports:** prepare recurring summaries or report packs after your setup and confirmation.
* **Import and review tools:** reuse supplier mappings, confirm background cost imports and review supported payment-fee records in bulk.

[Compare Free and Pro](https://orderworth.com/pricing.html) or [explore the Pro demo](https://orderworth.com/demo/?edition=pro). Pro requires Free and initial site licence activation. Free remains usable without purchasing.

= Requirements and calculation scope =

Requires WordPress 6.7+, PHP 7.4+ and WooCommerce 9.9+ with native COGS enabled. Free supports simple products and variations in one store currency; subscriptions, bundles, marketplaces and currency conversion are outside its scope. [Documentation](https://orderworth.com/docs.html) and [release notes](https://orderworth.com/release.html) explain tested combinations and limits.

Estimates exclude advertising, overhead, income tax and unsupplied costs. Keep a backup and reconcile known orders against your records.

[Get support](https://orderworth.com/support.html)

== Installation ==

1. Activate WooCommerce 9.9+. Enable native Cost of Goods Sold and record product costs for new orders.
2. Activate OrderWorth. First individual activation opens OrderWorth > Cost assumptions.
3. Review and save expense assumptions. Quickstart is optional.
4. In Profit overview, choose a period, run a report and review missing costs.

**Exit focus mode** restores WordPress navigation; the preference is saved per user.

For ZIP updates, back up and choose Replace current with uploaded. Update Free first, then matching Pro, without uninstalling. Run fresh reports.

== Frequently Asked Questions ==

= How is WooCommerce order profit calculated? =

Order total minus tax and refunds net of refunded tax, minus original product costs, plus confirmed recovered product costs, minus payment/shipping/packaging expenses. Discounts are already in revenue; item COGS includes quantity. Customer-paid shipping is revenue, not carrier expense. This is an order-contribution estimate, not business net profit or an accounting statement.

= Does it use WooCommerce's native cost of goods? =

Yes, from order items. Product edits/imports do not backfill old costs; use the order review for missing historical costs. A native zero can mean unset, so confirm genuine zeros explicitly.

= Is the Free version limited to 5,000 orders or 100 import rows? =

No paid limits. Larger reports/imports continue in batches. Keep Free reports open; records expire after one hour. CSVs allow up to 8 MiB or the server limit, with a 24-hour preview/undo window. Resource/date/cache safeguards apply; incomplete scans never show complete totals. Details: PRIVACY.md.

= How are refunds and changed expenses handled? =

Later refunds affect the original order's creation-date period. Review recovered stock costs explicitly; a refund does not imply recovery. Payment assumptions remain unless overridden with actual expense. Changed global defaults preserve existing snapshots.

= What happens if I deactivate Pro or delete OrderWorth? =

Free remains usable. Pro shipping/fulfilment/returns records stay saved; affected orders are excluded until compatible processing returns. Deleting OrderWorth preserves financial settings and reviews. Stop optional sharing before uninstalling; newsletter unsubscribe is separate. See bundled PRIVACY.md for retention/removal details.

= Do I need an account or share my store data? =

No. Free works without an account, sharing or signup. Optional choices start unchecked. Website/demo links use the website privacy policy.

== Screenshots ==

1. WooCommerce profit report with order coverage and missing-data exclusions. Orders and amounts are fictional examples.
2. Payment, shipping and packaging expense assumptions. Example values, not suggested merchant fees.
3. Order-profit review with expenses, a missing-cost warning and manual cost fields. Fictional order.
4. Product-cost CSV preview before applying changes. Fictional products/values; existing order costs stay unchanged.
5. Optional Privacy choices: separate domain sharing and email signup, both unchecked. Free works without either.

== External services and privacy ==

Free reports run locally. After Quickstart or in Privacy choices, optionally share your public domain or request email tips, release news and offers. Choices start unchecked, email starts empty, and skipping sends nothing.

Only selected, saved choices connect to https://orderworth.com/newsletter-api/v1/plugin-welcome/:

* **Domain sharing:** sends the public domain without paths/queries, recording sites that chose to report using OrderWorth.
* **Email signup:** sends your entered address and installed Free/Pro edition, without the domain unless separately selected. Joining requires email confirmation; existing subscriptions/preferences stay unchanged.
* **Connection metadata:** random ID, protected credential, consent version, request/consent/report times and normal network metadata such as IP address. No orders, customer records, financial figures, WordPress/PHP versions or plugin lists are sent.

Selected details refresh at most weekly; email edition changes may refresh after an hour. A changed site address pauses sharing. Stop controls remove selected details locally and request remote removal, with Retry on failure. An unconfirmed request expires locally after 24 hours and needs cancellation before new choices. Uninstall makes no remote request; stop sharing first. A confirmed newsletter subscription is separate: use its unsubscribe link, including after deactivation or cancelling Pro.

Storage, retention, privacy export/erasure and removal details: bundled PRIVACY.md. [Service privacy and retention](https://orderworth.com/privacy.html#plugin-choices) | [Service terms](https://orderworth.com/terms.html).

== Changelog ==

= 1.10.18 =
* Keep one verified settings context across every batch of a Free manual report.
* Improve workspace contrast in dark mode and focused secondary buttons.
* Matching Pro fixes improve refund rounding, timezone checks and export progress feedback.

Full release history is included in changelog.txt.

== Upgrade Notice ==

= 1.10.18 =
Update Free first, then matching Pro if installed, without uninstalling. Run fresh reports after updating. Existing order costs and saved reviews are retained.
