Linux 软件免费装
Banner图

Pihlfelt Cost & Margin Pricing for WooCommerce

开发者 pihlfelt
更新时间 2026年10月7日 17:11
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

pricing supplier margin cost of goods purchase price

下载

1.0.0 1.1.0 1.1.1

详情介绍:

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 "Lowest price (30 days)" block — or the [pihlcmp_lowest_price] shortcode — a discreet, theme-friendly line like "Lowest price last 30 days: 199 kr" that you can restyle or relabel. For a variable product it shows the lowest price any of its variations had. 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.

屏幕截图:

  • Import, step 2 — the supplier's file with auto-detected separator and encoding; map the columns once and the mapping is remembered per supplier.
  • Import, step 3 — every row matched to your products with cost changes, calculated prices and the full calculation breakdown; large changes wait for your tick.
  • Pricing rules — set the margin or markup once, add landed costs, and land prices on psychological endings like …199. Rounding rules are defined on the same page.
  • Suppliers — currencies, FX buffers, lead times and minimum order values in one place.
  • Settings — the two safety thresholds, manual exchange rates, and current rates with their source.
  • Automatic runs — optional scheduled repricing (explicit opt-in) with the full safety net spelled out, plus how long the change journal is kept.
  • The product's Cost & Margin tab — supplier and purchase price in the supplier's currency, price lock, and the full "Why this price?" breakdown: cost, exchange rate, buffers, rule, VAT and rounding, with the 30-day lowest price (Omnibus reference) and the product's recent price changes.

常见问题:

Does this replace WooCommerce's Cost of Goods field?

No — it builds on it. The plugin stores supplier, currency and exchange rate details, and always writes the resulting cost to WooCommerce core's COGS field. Woo's own reports and exports keep working.

Can prices be changed without my approval?

Only if you explicitly enable scheduled automatic runs in 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 diff that you apply explicitly. Products you have adjusted manually are detected and skipped until you actively release them.

How do sale prices work?

This plugin calculates and maintains your ordinary prices — it does not generate sale prices. A sale price on a product is yours: type it in WooCommerce's normal sale price field (a weekend campaign at a fixed price, say) and the plugin leaves that product's price alone for as long as the campaign is running or scheduled. When the campaign has ended, the product is priced by your rules again. The product's cost keeps being written to WooCommerce's cost field throughout. If you would rather keep ordinary prices up to date during campaigns, turn on "Let runs update the regular price even while a product is on sale" in Settings. A rule price that would land at or below your sale price is still never written — WooCommerce would delete the sale price — and the row is reported instead. Margin-based sale prices, on-sale flags and scheduled campaigns are part of the separate Pro plugin (see the link below).

What do blank cells in the import file mean?

Blank always means "leave unchanged" — a file can never accidentally clear something by omitting it. The only required columns are a cost column and one identifier column (product ID, supplier SKU, GTIN or SKU).

Does the plugin track price history?

Yes. Every change the plugin makes is journaled, and price/cost edits made anywhere else (the product editor, other plugins, the REST API, scheduled sales) are logged too — visible under "Recent changes" on the product's Cost & Margin tab. This also gives you the lowest price of the last 30 days per product, the reference value the EU Omnibus rules require when marketing a price cut. The log starts at plugin activation; earlier history cannot be known.

How do I show the 30-day lowest price to customers?

Add the "Lowest price (30 days)" block where you want it — in the Single Product template, a product description or a product grid; inside a product context it finds the product on its own, and its sidebar lets you change or hide the label and set colours and size. Classic themes and page builders can use the [pihlcmp_lowest_price] shortcode instead (label="Your text:" changes the text, label="" shows the bare price, id="123" targets a product outside a product context). Both render the same discreet line: "Lowest price last 30 days: 199 kr". The output carries the CSS classes pihlcmp-lowest-price, pihlcmp-lowest-price-label and pihlcmp-lowest-price-value so you can style every part; no styling is imposed. The plugin never adds anything to your storefront on its own.

How many suppliers can I have?

As many as you like. Each product is priced from one supplier's cost: pick the supplier on the product's Cost & Margin tab (or in each variation's box), enter the cost and save. To move a product to a different supplier, select the new supplier, enter its cost and tick "Remove cost row" — the old row is replaced in one save. Imports run one supplier's price list at a time, and the products list has a supplier column and filter so you can always see who supplies what.

Which currencies are supported?

All major currencies via the ECB daily reference rates (about 30), and roughly 130 more via the automatic fallback source. You can also enter exchange rates manually — manual rates always win.

更新日志:

1.1.1 1.1.0 1.0.0