Documentation

Cost & Margin Pricing for WooCommerce

The right margin on every product — automatic, safe and always undoable

Cost & Margin Pricing calculates your sale prices from purchase prices: margin or markup rules, supplier price lists imported with a full preview, daily exchange rates and psychological price rounding. Here you find guides for every part of the plugin. The big picture:

  • The calculation chain is always the same: real cost → FX buffer → landed costs → margin/markup → VAT → rounding. The "Calculation" column shows the steps with numbers for every single product.
  • Nothing is applied without a preview. Every run is journaled and can be undone with one click — in the free version too.
  • Manual work always wins. Hand-edited prices are detected and protected, locked products are skipped, and a manual sale price trumps every rule.
  • Free vs Pro: one supplier per product and one global rule are free — including the entire safety net. Pro adds multiple suppliers, rules per category/supplier/product, the master list, margin-based sales, reports and scheduled runs at any interval.

The guides below cover getting started, the calculation chain, imports, the sale model, the write guards, exchange rates and troubleshooting. Can't find your answer? Contact support.

Questions & answers

Common Questions

No — it builds on it. The plugin stores supplier, currency and rate details, and always writes the resulting cost to WooCommerce core's Cost of Goods Sold field. Woo's reports, exports and third-party integrations keep working exactly as before, and the data remains even if you uninstall.
Only if you explicitly enable scheduled automatic runs in the settings — and even then, changes above your confirmation threshold are never auto-applied, locked and manually re-priced products are never touched, and every run is journaled and undoable. With the feature off (the default), every rule run and import produces a preview that you apply yourself.
Markup is calculated on the cost (cost 100 + 50% markup = 150). Margin is calculated on the sale price (cost 100 at 50% margin = 200, because half the price should be profit). The plugin supports both — you choose per rule, and the preview always shows the real margin the final price yields.
A sale price can come from two places, and you always win. If you type a sale price into Woo's normal field yourself, the plugin leaves the whole product alone until you remove it. In Pro, the plugin sets margin-based sale prices: rules decide the sale margin, a per-product flag (checkbox or an on_sale column in the import file) decides which products, and Woo's normal date fields decide when. The Sales page lists everything and ends sales with one click.
Blank always means "leave unchanged". A file can never accidentally clear something by omitting a column. The only required columns are a cost column and one identifier (supplier SKU, GTIN or SKU). To explicitly clear a sale date, put a dash (-) in the cell.
All major currencies via the ECB daily reference rates (~31), and roughly 130 more via the automatic fallback source. You can also enter rates manually — manual rates always beat fetched ones, and the plugin works entirely without external calls if you only use manual rates or your store's own currency.
Yes. Every variation has its own cost fields and is priced individually, and imports match on the variation's own identifiers (SKU, GTIN or supplier SKU).
Most plugins in the category only track costs for reporting. Cost & Margin Pricing also calculates the actual sale prices: currency conversion, landed costs, margin rules, VAT and rounding — and keeps them updated as price lists and rates change. Think cost tracker plus pricing engine in one, built on top of Woo's own cost field instead of beside it.
Nothing. Every price the plugin wrote is a plain WooCommerce price in the database — there is no frontend code and no price filters. Uninstall the plugin and prices stay exactly as they were, with costs still in Woo's COGS field. The plugin's own data is preserved too, unless you actively choose to delete it on uninstall.
Paste the license key from your receipt email (or your account page) under Settings → License and click Activate. The key can be moved between sites — deactivate on the old site first, or release the site from your account page on pihlfelt.se.
Yes. Decimal commas, semicolon-separated CSVs and ISO-8859-1 encoding are recognized automatically, as are title rows from Numbers exports. In Pro you can upload the supplier's .xlsx file directly without re-saving it as CSV.
Yes. The plugin logs every price change — including ones made outside the plugin, e.g. in the product editor or by other plugins — and computes the lowest price of the last 30 days per product: the reference value the EU Omnibus directive requires when a price cut is marketed. To show it to customers, use the [pihlcmp_lowest_price] shortcode; the plugin never adds anything to your storefront on its own. History starts when the plugin is activated.
The plugin keeps working, but without updates and with Pro features paused. Your data, prices and journals remain, and scheduled runs automatically fall back to monthly (the free tier) instead of stopping. Renew later and everything wakes up again.

Need help?

Need more help?

Our support team is happy to help you with questions about the plugin.

Contact Us