Every cost, off every order.

GAINKAT takes cost of goods, payment fees, shipping, returns and ad spend off each Shopify order. The dashboard, the orders list, reports and Billy all read the same figure.
$84.00Order revenue−$31.20Cost of goods−$2.74Payment fee−$6.90Shipping−$12.40Ad spend$30.76Profit

Example orders. Pick one to see its costs fall away.

Seven cost lines, one engine.

Each line says where it came from and whether it was recorded or estimated, so you can always tell a courier's real charge from an assumption.
Cost of goodsRecordedYour product costs, priced as of each order's own date
Payment feeRecorded, else estimatedShopify's reported fee, else your gateway's percentage plus fixed fee
ShippingEstimatedCourier cost by flat rate or weight tier, per country
HandlingEstimatedYour per-order packing and handling cost
Return freightEstimatedShipping back on returns and refused deliveries
Ad spendRecordedMeta and Google Ads spend attributed to the order
Fixed expensesRecordedSalaries, rent and tools, spread across any date range
gainkat.com/dashboard/orders
The Orders page, listing revenue, costs, profit and margin for each order

The Orders page, with example figures. Losing orders sort to the top.

Rules that keep the number honest.

The engine was built against a reference implementation whose reconciliation suite matches to the penny, 24 cases out of 24. No language model computes a figure.

Costs as of the order date

A supplier price rise never rewrites last quarter's margin. Each order is costed with the price you paid when it sold.

Returns carry freight, not stock

A returned order used no stock, so it has no cost of goods. It still paid for shipping both ways, and that is counted.

Cash on delivery counts at the door

An unpaid cash-on-delivery order is a promise. It becomes revenue when the customer pays, not when they click.

Unknown, never zero

If a product has no cost on file, that order's profit shows as unknown and says why. It is never reported as 100% margin.

Fixed costs are spread per day, so a seven-day view and a month carry the same salary at the same rate, and February is never cheaper than March.

Find the orders that lose money.

We'll walk through your store's real numbers with you and show you which orders, products and campaigns make money.

Someone from the team replies by email, usually within a working day.

Profit engine — GAINKAT