Calculation. True.
That is what the name stands for, and it is the whole promise. Every profit
figure here is a calculation you can follow back to the order it came from,
and it stays true after the fact.
WooCommerce tells you what you sold. Caltru Ledger tells you what you kept,
after the cost of the goods, the parcel and the payment fee, so you can decide
what to push, what to reprice and what to stop selling on numbers that hold.
The cost of every order line is written down at the moment of the sale.
Change a supplier price tomorrow and last month’s profit does not move. That
is the thing a spreadsheet cannot do for you, and it is what WooCommerce
itself does not do: it works an order’s cost out again from today’s product
cost whenever the order is recalculated.
Refunds work the same way. The sale stays on its date, the refund lands on
the refund’s date, so a closed month never changes underneath you.
What an order cost to deliver is written once too, on the day it was sold.
Your carrier can put its prices up tomorrow without moving last month.
A profit figure built on missing costs is worse than no figure, so this
plugin never quietly invents one. Revenue with no cost behind it is reported
as its own number and flagged on every product it affects. Costs filled in
after a sale are marked as estimates, and you can exclude them entirely.
The Cost data screen lists the gaps in the order of how much profit each one
is overstating, with a box to type the answer into.
Delivery is treated the same way. WooCommerce does not record what the
carrier charged you, and most gateways never write their fee onto the order.
So you tell it once what each shipping method and payment method costs you.
A method you have not priced is reported as not priced, never as free: a
shop giving away delivery on a third of its orders would otherwise read
every one of them as costing nothing, and believe a margin it does not have.
Typing 0 says something different, and is recorded as 0.
Since 9.5 WooCommerce has a Cost of Goods Sold field of its own. This plugin
writes to that field rather than keeping a private copy, so your costs stay
with your products whatever you do next. It also hands WooCommerce back the
historical figure, so the core order screens show what the order actually
cost, not what the product costs today.
Costs from WPFactory’s Cost of Goods, SkyVerge’s Cost of Goods and ATUM can be
imported, including — where those plugins recorded it — what each past order
cost at the time. That is better evidence than today’s price, and it is
preferred over it.
Every feature described above is in this plugin, with no time limit, history
limit or licence key, and it stays that way: nothing published free here will
ever move to a paid version.
A separate add-on for shops that want the work done for them. It adds new
screens, columns and reports; it unlocks nothing in this plugin.
Charts are drawn with Chart.js 4.5.1 (MIT licence, https://www.chartjs.org),
bundled unmodified in assets/vendor.