LotCost – Purchase Lot Costs for WooCommerce

Description

If you resell second-hand or one-of-a-kind pieces (thrift and vintage, antiques, estate sales, auction lots, liquidation pallets), you buy a lot for one price and sell it piece by piece. WooCommerce can only hold a cost per product, so the margin it shows is wrong until someone works out what each piece really cost.

LotCost does that sharing for you and connects it to the Cost of Goods Sold field that comes with WooCommerce 10.3 and later.

How it works

  1. Record a lot: the price you paid, the shipping, other costs (fees, taxes), where you bought it and when.
  2. Pick the pieces it holds from your WooCommerce products (simple products, or the variations of a variable product). A piece can hold several identical units.
  3. Choose how the cost is shared: in equal parts, in proportion to the selling prices, or by hand (LotCost tells you how much is still to give out). The shares always add up to the lot total, to the cent.
  4. One click writes each piece’s cost into WooCommerce. Orders, WooCommerce reports and anything else that reads the Cost of Goods Sold field use it from then on.

What you get

  • Unlimited lots and pieces, free. No quota, no trial, no paid tier.
  • Three ways to share a cost: equal parts, by selling price, by hand.
  • A fixed cost on a piece: it is taken out of the lot first and the rest is shared.
  • Lots with costs still to come (a shipping invoice that has not arrived): marked until you confirm them.
  • A status for every lot: up to date, to write, or incomplete (a piece has no cost, costs 0, or is gone from the store).
  • An estimate of how much of each lot has come back, by lot and by source, read from your stock: a piece counts as sold when it has left your stock. No order is read.
  • CSV export of your lots and the cost of every piece.
  • Nothing is sent anywhere. All data stays in your WordPress database.

Good to know

  • LotCost needs WooCommerce 10.3 or later, and the Cost of Goods Sold feature turned on (WooCommerce > Settings > Advanced > Features). LotCost tells you when it is off and links to the setting.
  • Costs are written to the Cost of Goods Sold field of the product, or of each variation. The “additive” option of variations is switched off on the variations LotCost writes, so the cost WooCommerce uses is exactly the cost LotCost computed.
  • A piece with a cost of 0 or without a cost is never written.
  • A product (or variation) belongs to one lot only, since it has one cost in WooCommerce.
  • Existing orders are never modified.
  • Amounts are handled in hundredths of the store currency.

Source code

The admin page is written in TypeScript and React and built with @wordpress/scripts. The source is in the src/ folder of the plugin. To rebuild the files in build/, run npm install and then npm run build in the plugin folder.

Screenshots

Installation

  1. Install and activate WooCommerce 10.3 or later.
  2. Install and activate LotCost.
  3. In WooCommerce > Settings > Advanced > Features, turn on Cost of Goods Sold.
  4. Open WooCommerce > LotCost.

FAQ

Do I need to turn on a WooCommerce setting?

Yes. WooCommerce ships the Cost of Goods Sold field but keeps it off by default. Turn it on in WooCommerce > Settings > Advanced > Features. Until then you can record lots and see the shared costs, but nothing is written.

What happens to orders I already have?

Nothing. LotCost only changes the cost of products, and WooCommerce records the cost on an order when the order is created. New orders use the new cost.

Which products can be pieces?

Simple products, and the variations of variable products (a shirt in size M is one piece, size L another). Other product types are not supported.

Can a piece be in two lots?

No. A product or variation has one cost in WooCommerce, so it belongs to one lot. When you try to add a piece that another lot holds, LotCost tells you which one.

How does LotCost know what has come back?

It reads no order. A piece counts as sold when it has left your stock (WooCommerce counts its stock, or its stock status is “out of stock”), and it is valued at its selling price today. A discount or a later price change is not seen, so every figure is an estimate, and pieces whose stock is not counted are set apart.

What does LotCost do with a lot that holds several identical units?

Each unit carries the same cost, rounded to the cent: three identical shirts in a lot of 1.00 cannot each cost 0.333…; the page tells you how much the rounding moves the total.

Does LotCost change my prices or my stock?

No. It only writes the Cost of Goods Sold field, and only when you press a write button.

Is my data sent to a server?

No. LotCost makes no external request and never reads orders or customers. Each lot is stored as a private entry in your WordPress database.

What happens when I delete the plugin?

By default your lots are kept, so nothing is lost by mistake. Turn on “Delete all LotCost data when the plugin is deleted” in the Settings tab if you want everything removed. The costs already written to WooCommerce are never touched.

Is it compatible with high-performance order storage and the block checkout?

Yes. LotCost declares compatibility with both and never reads or changes orders. It uses the standard WooCommerce product API to write costs.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“LotCost – Purchase Lot Costs for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.0

  • First release.