Skip to main content

Profit & Loss Report

The Profit & Loss report answers one simple question: after all costs, how much money did your shop actually make?

Open it from Reports → Profit & Loss in the Dashboard. It uses the same date range filter as the other reports.

What this report shows​

The report reads from top to bottom, like any profit and loss statement:

LineWhat it means
Money collectedMoney from paid orders in the date range, after refunds
− TaxTax you charged customers. You pass it on to the tax office, so it isn't your income
− Delivery feesShipping paid by customers. It goes to the courier
− Payment feesService fees from the payment provider
= Net salesWhat you earned from selling your own goods and services
− Cost of goods soldThe total cost price of the items you sold
= Gross profitNet sales minus cost of goods sold, with the margin as a percentage
− ExpensesRunning costs from the Expenses page, grouped by category. Includes Bad debt (write-offs) when receivables were written off
= Net profitYour shop's bottom line for the period
Profit & Loss report: cost price coverage warning, the lines from collected to net profit with margins, and expenses by categorydashboard.etalasse.comProfit & LossLast 30 daysExport CSVOnly 82% of units sold have a cost price, so profit is overstated.1,240 / 1,512 units have a cost price.Add cost prices to your products.Profit & Loss statementAMOUNTMARGINCollectedRp 52.400.000Less: Tax−Rp 4.760.000Less: Delivery−Rp 1.850.000Less: Payment fees−Rp 390.000Net salesRp 45.400.000Less: Cost of goods *−Rp 27.240.000Gross profitRp 18.160.00040.0%Less: Expenses−Rp 11.300.000Net profitRp 6.860.00015.1%* Units without a cost price count as zero cost.Expenses by categoryRentRp 5.000.000SalariesRp 4.200.000UtilitiesRp 1.250.000SuppliesRp 600.000Bad debt (write-offs)Rp 250.000Manage expenses →123
(1) The cost price coverage warning, (2) the gross margin in percent, (3) expenses by category. Net profit is the bottom line.

(1) The cost price coverage warning, (2) the gross margin in percent, (3) expenses by category. Net profit is the bottom line.

How to read each line​

Money collected and net sales​

Only paid orders count. Orders still waiting for payment, or canceled ones, are left out. If you issued a refund, the refunded money is already taken off.

Tax, delivery fees, and payment fees are removed because that money isn't the shop's. What's left is net sales.

Points that customers spend count as a discount, not as income. They don't add to money collected.

Cost of goods sold​

Cost of goods sold uses the cost price recorded at the moment each item was sold. If you change a product's cost price today, the profit on earlier sales stays the same.

For refunded items:

  • items put back in stock don't count as cost, because you still have them
  • items refunded without going back to stock still count, because they're gone (for example, damaged)

Gross profit and margin​

Gross profit = net sales − cost of goods sold.

Margin shows what percentage of net sales became gross profit. For example, net sales of Rp10,000,000 with gross profit of Rp3,000,000 is a 30% margin.

Expenses and net profit​

Every expense dated inside the report's date range is taken off gross profit. Expenses are shown by category — Rent, Salaries, Utilities, and so on — so you can see where most of your money goes.

The result is net profit. If it's negative, the shop made a loss for that period.

Bad debt and receivables outstanding​

If you use customer credit (on account), revenue is recognised on the day of the sale even though the money has not arrived. Receivables you write off (write-off) appear as the expense category Bad debt (write-offs) in the period they are written off, and reduce net profit. The report also shows receivables_outstanding: the money customers still owe right now. Revenue already includes it, cash does not. See How it affects reports.

Cost price coverage warning​

If some sold items have no cost price, the report shows a warning. It tells you what percentage of the units sold have a cost price.

This means items without a cost price are treated as costing nothing, so the profit shown is higher than it really is.

To fix it:

  1. go to Products and fill in the Cost Price on products and variants where it's empty
  2. your next sales will be recorded with that cost price

Adding a cost price doesn't change sales that already happened, so coverage climbs gradually as new sales come in.

First-time setup​

Do this once to make the report accurate:

  • fill in the Cost Price for all active products, including any variant whose cost is different — see Products
  • record this month's regular expenses (rent, salaries, utilities) in Expenses
  • get into the habit of recording new expenses every week
  • open this month's Profit & Loss report and check there's no cost price coverage warning

Who can see this report​

The Profit & Loss report shows cost prices and expenses, so only the owner and admins can open it. Cashiers can't see it. See Staff roles.