Set your margin once. Import your supplier’s price list. Get finished, well-rounded prices.
Cost & Margin Pricing calculates sale prices from your purchase prices — with support for purchase prices in foreign currencies, daily exchange rates, margin or markup rules, psychological price rounding and a recurring supplier price list import with a full change preview.
Built on WooCommerce core fields: the selected purchase cost is always written back to WooCommerce’s own Cost of Goods Sold (COGS) field, so Woo’s reports, exports and every third-party COGS integration keep working. No parallel cost fields, ever.
Safe by design
EU Omnibus ready
Marketing a price cut in the EU requires showing the product’s lowest price of the last 30 days — data WooCommerce does not keep. This plugin does: every price change is logged (including ones made outside the plugin), and each product’s 30-day lowest price is computed for you. Show it to customers with the [pihlcmp_lowest_price] shortcode — a discreet, theme-friendly line like “Lowest price last 30 days: 199 kr” with CSS classes for styling, and a label attribute to change or remove the text. Nothing is ever added to your storefront unless you place it yourself.
Free version
Everything above is included and fully functional — nothing here is locked, limited or time-restricted.
A separate commercial plugin, Pihlfelt Cost & Margin Pricing Pro, is available from pihlfelt.se for stores that need more: several suppliers per product with a cost strategy, master-list and Excel import, rules per category/supplier/product, margin-based sale prices, a margin floor, extra scheduling intervals with email reports, and margin/supplier reports. It is a different plugin with its own code — it is not unlocked from within this one.
This plugin fetches currency exchange rates from two services: on a daily schedule, when a new currency first needs a rate (e.g. during an import preview), and when you click “Fetch rates now” — and only when you use purchase prices in a currency other than your store currency.
European Central Bank (ECB) reference rates — the primary source. The plugin requests the public daily reference rate file. No personal data and no data about your store is sent; it is a plain file download. Terms: https://www.ecb.europa.eu/services/disclaimer/html/index.en.html
ExchangeRate-API open endpoint (open.er-api.com) — used as fallback when the ECB feed is unavailable, and for currencies the ECB does not publish. The request URL contains only your store’s base currency code; no personal data and no other data about your store is sent. Terms: https://www.exchangerate-api.com/terms — attribution is shown on the plugin’s settings page as required.
Rates are indicative reference rates intended for price calculation suggestions, not for payment processing.