AURA

Gross or Net Sales: The Denominator That Changes Everything

The same venue shows two different food cost numbers because two people divide by different things. This page gives the statutory rates, the formula for a check’s effective rate and the single multiplication that converts a ratio from a gross base to a net one.

Published
21 min read4159 words
Aura editorialAuthor

Key takeaways

  • A percentage of sales means nothing without a named base: 74,000 PLN of food cost is 24.67 % on a gross base and 27.31 % on a net base in the same month.
  • A VAT-registered venue divides by net sales, because purchase invoices are already net — otherwise numerator and denominator sit on two different scales.
  • Food service gets 8 % through art. 41 ust. 12f read with art. 146ef ust. 1 pkt 2 of the Polish VAT act, not through "annex 3, item 12".
  • Drinks outside annexes 3 and 10 — coffee, tea, alcohol — go to 23 %, so a bill carries two rates and one effective rate, 10.70 % in the worked example.
  • You divide to get from gross to net, never subtract: the act itself writes 7.41 % and 18.70 % instead of 8 % and 23 % (art. 146eg).
  • GUS publishes gastronomy revenue with VAT included and Eurostat publishes net turnover — which is why a benchmark with no stated base is not a benchmark.

A percentage of sales is meaningless until you name the base it was divided by. In a VAT-registered restaurant, cost ratios belong on net sales — the till total without tax — because purchase invoices are already booked net. Put a net cost over a gross sales figure and every ratio you report comes out too low.

One kitchen, two food cost numbers, and both of them are arithmetically correct

Take a month any operator would recognise. The till closed at 300,000 PLN: 240,000 PLN from food and from drinks that stay inside the reduced rate, 60,000 PLN from coffee, alcohol and soft drinks that do not. Food purchases for the same month, from supplier invoices, came to 74,000 PLN. Payroll with all employer charges came to 84,000 PLN.

24.67%
The chef reports food cost as 74,000 ÷ 300,000 = 24.67 %.
27.31%
The bookkeeper reports food cost as 74,000 ÷ 271,002.71 = 27.31 %.

Nobody made a mistake. They divided by different things, and neither of them said so out loud.

RatioOn the gross base (300,000 PLN)On the net base (271,002.71 PLN)Where the conclusion moves
Food cost24.67 %27.31 %a menu that looks fine turns into a menu that needs repricing
Labour with employer charges28.00 %31.00 %a roster that looks affordable turns into a roster under review
Prime cost (food plus labour)52.67 %58.30 %a gap of 5.64 percentage points on the single number owners watch most
Rent7.33 %8.12 %a lease that looks light turns into a lease near the usual comfort line

The gap is not noise and not rounding. It is the tax, and it is the same multiplier in every row. This page does not compute prime cost or food cost — prime cost lives here and food cost lives here. It holds the denominator both of them stand on, which is why it is worth reading before either.

The reporting base: one sentence that has to be written down once for the whole venue

Gross sales — what guests paid, tax included. It is the number the till shows at close, and it is the number an owner quotes from memory.

Net sales — the till total for the period minus VAT, minus discounts granted, minus voided and comped bills. That wording is quoted verbatim from the margin pillar, where every margin uses net sales as its denominator; this page does not redefine it.

Reporting base — the amount a percentage is declared to be calculated against. Named once for the whole venue, otherwise two people computing the same ratio from the same data get two different answers and both are right.

The reason a VAT-registered restaurant lands on the net base is not aesthetics. Your cost side is already net: the tax on a supplier invoice is deductible input tax, not a cost of the goods, so 74,000 PLN of food is 74,000 PLN net. A ratio with a net numerator and a gross denominator is not a slightly smaller number — it has no meaning at all, because it compares two different scales.

There is exactly one venue where the two bases coincide: one not registered for VAT. The Polish exemption threshold is 240,000 PLN of sales, and the act measures that threshold excluding tax — art. 113 ust. 1 of the VAT act (consolidated text, Dz.U. 2025 poz. 775, opened 27.08.2026). Below it, purchases are booked gross too, so gross over gross is consistent. Above it, the mixed comparison starts, and so does this page.

Polish rates on restaurant items: the article, not the folklore

All the rate numbers here are Polish law, they apply to a venue selling in Poland, and each one is tied to an article you can open. Nothing on this page is quoted from memory or from a trade article.

What the act actually says

22%
The body of the VAT act sets the basic rate at 22 % in art. 41 ust. 1, and the reduced rates at 7 % (ust. 2, goods and services listed in annex 3) and 5 % (ust. 2a, annex 10).

Both reduced provisions carry the same exclusion in their own text: "innych niz klasyfikowane wedlug Polskiej Klasyfikacji Wyrobow i Uslug w grupowaniu uslugi zwiazane z wyzywieniem (PKWiU 56)". Read literally, food service is thrown out of both annex lists.

Food service comes back in through a separate provision, art. 41 ust. 12f: the rate from ust. 2 applies to supplies classified under PKWiU 56, food and beverage service activities, excluding drinks other than those listed in annex 3 or annex 10 including their preparation and serving, goods not processed by the taxpayer, and dishes containing goods excluded from items 2 and 11 of annex 10.

The rates you actually charge are the transitional ones.

23%
Art. 146ef ust. 1 raises the ust. 1 rate to 23 % and the ust. 2 rate to 8 % for the period that began on 1 January 2024 and runs until the end of the year in which defence spending crosses the threshold the article names.

All of this sits in the consolidated text kept by the Chancellery of the Sejm, header dated 20 July 2026 (Ustawa o podatku od towarow i uslug, consolidated text, opened 27.08.2026); the register card for the same act reports status: obowiazujacy (ELI register entry, opened 27.08.2026).

Category on a restaurant billRateWhere it is written
Food service under PKWiU 56, the general case8 %art. 41 ust. 12f sends it to the ust. 2 rate; art. 146ef ust. 1 pkt 2 sets that rate at 8 %
Drinks not listed in annex 3 or annex 10 — coffee, tea, carbonated soft drinks, alcohol — including their preparation and serving23 %art. 41 ust. 12f pkt 1 excludes them; art. 146ef ust. 1 pkt 1 sets the basic rate at 23 %
Drinks that are on the annex 10 list, such as a soft drink with at least 20 % juice content by mass, or yoghurt and kefir drinks containing no coffee8 %not excluded by art. 41 ust. 12f pkt 1, so the ust. 2 rate applies
Unprocessed goods resold as they were bought, unless they sit in annex 3 or annex 1023 %art. 41 ust. 12f pkt 2

One footnote that trade articles keep getting wrong

8%
You will read very often that restaurants get 8 % "through annex 3, item 12".

They do not. The annexes reach food service only via art. 41 ust. 12f, and the annex provisions themselves exclude PKWiU 56 by name. That is not pedantry: an operator who cites the annex directly is citing a rule that does not say what he thinks it says.

A mixed check has no single rate, and that is why the base has to be computed

8%
A venue selling only 8 % items has a trivial conversion.

A venue that sells coffee has two rates on one bill, and the split moves with the season, the daypart and the menu: a brunch place and a cocktail bar with identical gross sales have very different net sales.

8%
That is why "our VAT is 8 %" is not usable input for a report.

What a report needs is the blended rate the period actually produced.

Effective VAT rate of a check — the blended rate of a check that mixes items taxed differently. Not a rate from any list — it depends on the mix.

Food cost percentage — this page does not define it; the definition belongs to the food cost pillar and is quoted from there. What this page adds is the base it is divided by.

Computing the effective rate, and the weighting mistake that quietly breaks it

Effective VAT rate of a check = Σ (Net sales of a rate group × Its rate) ÷ Σ Net sales of all rate groups

  • Net sales of a rate group — the period's sales in one rate group, taken without tax, PLN;
  • Its rate — the statutory rate of that group as a decimal, dimensionless;
  • the result is a dimensionless rate that always lies between the lowest and the highest rate on the bill, and equals one of them only when the venue sells a single rate group.
8%
For the month above: 240,000 ÷ 1.08 = 222,222.22 PLN net at 8 %, and 60,000 ÷ 1.23 = 48,780.49 PLN net at 23 %.

Net sales are 271,002.71 PLN and the tax sitting inside the till total is 28,997.29 PLN.

10.70%
(222,222.22 × 0.08 + 48,780.49 × 0.23) ÷ 271,002.71 = 28,997.29 ÷ 271,002.71 = 0.1070, that is 10.70 %.

Weight by net, never by gross

11.00%
Weight the same two groups by their gross amounts instead and you get (240,000 × 0.08 + 60,000 × 0.23) ÷ 300,000 = 11.00 %.

It looks like rounding. It is not: 300,000 ÷ 1.11 = 270,270.27 PLN, which is 732.44 PLN away from real net sales. The identity Gross = Net × (1 + rate) holds only when the weights are net, because net is what the rate is applied to.

If your point-of-sale export already gives net sales per rate group — most do, because the fiscal report is built that way — you never have to compute the weights at all. Getting that export to land in the same place as the cost side is what an integration layer is for, and it is the commonest place where one system reports gross and the other net without either saying so.

Converting a percentage from a gross base to a net base

You do not have to recompute anything from raw data to fix an old report. The conversion is one multiplication.

Net sales = Gross sales ÷ (1 + Effective VAT rate)

  • Gross sales — the till total for the period, tax included, PLN;
  • Effective VAT rate — the blended rate of the same period as a decimal, dimensionless;
  • result: PLN ÷ dimensionless = PLN.

True % on net = Reported % on gross × (1 + Effective VAT rate)

  • Reported % on gross — the percentage somebody computed against the gross till total;
  • Effective VAT rate — the same blended rate as a decimal;
  • result: percent × dimensionless = percent.

Understatement in percentage points = Reported % on gross × Effective VAT rate

  • both inputs as above; result: percent × dimensionless = percentage points, not percent.

Check it on the month above: 24.6667 % × 1.107 = 27.306 %, which is exactly 74,000 ÷ 271,002.71. And 24.6667 % × 0.107 = 2.64 percentage points, which is exactly the gap in the first table. Reverse the multiplication and you travel back: a ratio quoted on net becomes its gross twin when divided by 1.107.

Divide, do not subtract — and the act says so itself

The most expensive error here is not choosing the wrong base. It is trying to get from gross to net by subtracting the rate.

8%
Take a venue selling only at 8 %: 300,000 minus 8 % is 276,000, while 300,000 ÷ 1.08 is 277,777.78.

The subtraction removes 24,000 of tax where the real tax is 22,222.22 — it overstates the tax by exactly the factor 1.08, and the higher the rate the worse it gets.

23%
On a bar at 23 %, 100,000 minus 23 % is 77,000 against a true net of 81,300.81, a hole of 4,300.81 PLN in one month.

You do not have to take this from us. The act carries the correct coefficients in its own text.

18.70%
Art. 146eg states that for services including trade and food service, the tax amount is computed as the value of the supply multiplied by 18.70 % for items taxed at 23 % and 7.41 % for items taxed at 8 %.

Those are 0.23 ÷ 1.23 = 18.6992 % and 0.08 ÷ 1.08 = 7.4074 %, rounded. The legislator wrote the division out for you because subtracting is the mistake everyone makes.

The degenerate cases, printed rather than hidden

If the venue sells a single rate group, the effective rate equals the statutory rate — the conversion still runs, it is just uninteresting. If the venue is not a VAT payer, the effective rate is zero, the two bases are the same number, and none of the formulas above do anything. If a period contains no sales at all, the effective rate has no value: the denominator of the weighting formula is zero, and the honest output is a blank cell, not a zero. A zero would read as "no tax", which is a statement about the month rather than about the absence of data.

Tips and service charges: what lands in the denominator and what does not

Service charge — an amount added by the venue to the bill. Its treatment in the denominator follows how it is recorded, and that is an accounting fact of the venue, not a rule of this page.

That is a boundary, not a dodge, and here is the reasoning behind it. The taxable base under art. 29a ust. 1 is everything that constitutes the payment the supplier has received or is to receive from the buyer. Ust. 6 pkt 2 then states that the base includes additional costs such as commissions, packaging, transport and insurance charged by the supplier to the buyer. A charge the venue itself adds to the bill and collects as its own revenue therefore behaves like part of the price — it is inside gross sales, and it carries tax at the rate of what it accompanies.

A voluntary tip a guest hands to a server, or adds to a card payment for the staff, is a different animal: the venue is not selling anything for it. Which of the two your arrangement is depends on how the money is documented and paid out, and that is a matter for your accountant, not for a web page. What this page insists on is narrower and enforceable: whatever you decide, the decision has to be the same in the numerator's period and the denominator's period, and it has to be written next to the ratio. A service charge inside the denominator in January and outside it in February produces a food cost trend that is pure bookkeeping.

Discounts, voids and comps: two of them touch the base and one of them does not

The definition quoted above already removes discounts granted and voided or comped bills from net sales. Polish law arrives at nearly the same place from its own direction, and the mechanics are worth knowing because they decide which period the reduction belongs to.

  • A discount applied at the moment of sale never enters the base at all: art. 29a ust. 7 pkt 2 excludes price reductions and discounts granted to the buyer and taken into account at the time of sale.
  • A discount granted after the sale reduces the base afterwards: art. 29a ust. 10 pkt 1 lowers the taxable base by the amount of post-sale rebates and price reductions.
  • A comped meal is not a discount on a sale — it is a meal with no sale. The food left the kitchen, so it stays in the cost numerator; no money arrived, so it never enters the denominator. This is the commonest way a food cost ratio drifts upward for no visible reason, and it is why staff meals and manager comps deserve their own line in the report.

The practical rule that falls out of this: a promotion booked as a discount and a promotion booked as a comp move your food cost ratio in opposite directions, on identical plates of food. If you cannot say which way your till books them, your month-over-month comparison is measuring your till configuration.

Why an industry percentage is unusable until you know what it was divided by

Now the part that costs real money. Two official sources publish restaurant revenue on two different bases, and both say so in writing.

The GUS yearbook Rynek wewnetrzny w 2024 r. defines its headline gastronomy figure on page 34 as "PRZYCHODY Z DZIALALNOSCI GASTRONOMICZNEJ (lacznie z podatkiem VAT)" — tax included (GUS, Rynek wewnetrzny w 2024 r., Warsaw 2025, p. 34, opened 27.08.2026). Ten pages later, the same volume's glossary defines enterprise turnover as "OBROTY, tj. przychody ze sprzedazy … bez podatku od towarow i uslug (VAT)" — without tax (same document, p. 44). One publisher, one volume, two bases, each honestly labelled.

Eurostat puts the base into the indicator's own name: the structural business statistics series for NACE I56 in Poland reports NETTUR_MEUR, "Net turnover — million euro" (Eurostat, sbs_ovw_act, geo PL, NACE I56, 2023, opened 27.08.2026). What "net" means there is fixed in EU law: for variable 140301, "Excluded from net turnover are: — all taxes, duties or levies linked directly to revenue" (Commission Implementing Regulation (EU) 2020/1197, Annex I, opened 27.08.2026). Tax charged on the bill is exactly such a levy.

Two consequences follow, and neither is optional.

First, a ratio built on a GUS revenue denominator and a ratio built on a Eurostat turnover denominator are not comparable, even though both are official, current and correct. The sector totals live on the official data page; what belongs here is only the fact that they sit on different bases.

Second — and this is the whole reason the page exists — a benchmark from a vendor deck or a trade article almost never names its base at all. It cannot even be converted, because the conversion needs the effective rate of its sample, not yours. A range quoted without a base is not a weak benchmark; it is not a benchmark. Compare your venue to your own previous period on your own fixed base, which is what an analytics layer is for.

The same trap runs through the delivery channel, where the platform's commission is charged on one base while your own accounting sits on another — the delivery margin page works that through end to end. It also runs through average check, which matters the moment you feed it into a seat-hour yield calculation.

What to fix in the habit so the argument never comes back

Six things, and none of them takes a project.

  1. Write the base into the report header, not into anyone's memory. "All ratios on net sales" is five words and it ends the argument permanently. A report that carries its own base is the point of an automated reporting layer, and it is the shortest description of what an owner's screen should show.
  2. Use one base for every ratio on the same screen. Mixed bases on one dashboard are worse than the wrong base consistently applied, because nothing on the screen looks broken. One denominator for the whole dashboard is a configuration decision, made once.
  3. Store net sales per rate group, not one blended sales number. Then the effective rate is derived rather than estimated, and a change in the menu mix shows up as a change in the rate instead of as unexplained drift in the ratios.
  4. Decide where service charges sit, keep the decision, and write it next to the ratio.
  5. Fix the base in the accounting layer, not in the report. A base that lives in a spreadsheet formula survives until the person who wrote the formula leaves. That is the practical difference between reporting and the system underneath it — the same argument as choosing which system layer to add next; the invoicing side of it is covered in the KSeF article.
  6. For more than one site, fix the base once for the group. Two venues on two bases produce a ranking that measures bookkeeping, not management — exactly the failure mode described in the multi-site article.

Where a model works here and where it does not. Nowhere on this page does artificial intelligence produce a number. Every figure above is division and multiplication, and you can reproduce all of them with a calculator. What software genuinely does here is clerical: it reads net sales per rate group out of the fiscal export, keeps them apart from the gross total, and prints the base label next to the ratio so a human cannot forget it. That is bookkeeping discipline enforced by a machine, not a prediction, and we would rather say so than let the word "AI" attach itself to arithmetic. The financial layer and the broader automation picture describe that boundary the same way.

Common questions about the sales base in a restaurant

Should restaurant cost percentages be calculated on gross or net sales?

On net sales, for any venue registered for VAT. The reason is consistency, not convention: the tax on a supplier invoice is deductible input tax, so your cost figures are already net. Dividing a net cost by gross sales compares two different scales and understates every ratio by the effective tax rate of your bill. A venue below the registration threshold books costs gross too, so for it the gross base is the consistent one.

What VAT rate applies to restaurant food and drinks in Poland?

Food service under PKWiU 56 is taxed at 8 % under art. 41 ust. 12f of the Polish VAT act read together with art. 146ef ust. 1 pkt 2. Drinks not listed in annex 3 or annex 10 — coffee, tea, most soft drinks, alcohol — are excluded from the reduced rate by art. 41 ust. 12f pkt 1 and are taxed at 23 %. All of this is Polish law and applies to venues selling in Poland; the consolidated text was opened on 27.08.2026 and the register entry for the act reads "obowiazujacy".

How do I convert a percentage from a gross base to a net base?

Multiply it by one plus the effective tax rate of the same period. A ratio of 24.6667 % computed on a gross till total, in a month whose blended rate is 10.70 %, becomes 24.6667 × 1.107 = 27.31 % on net. To go the other way, divide by the same factor. What you must not do is add or subtract the rate: the relationship is multiplicative, and the act itself writes the coefficients as 7.41 % and 18.70 % rather than 8 % and 23 % for exactly this reason.

What is the effective VAT rate of a mixed check?

It is the blended rate your actual sales mix produced: the sum of each rate group's net sales times its rate, divided by total net sales. It is not a rate you can look up, because it moves with the menu and the season. It always sits between the lowest and the highest rate on your bill, and equals a statutory rate only when the venue sells a single rate group. Recompute it for every period you report on.

Do tips and service charges belong in the sales denominator?

A charge the venue adds to the bill and books as its own revenue sits inside gross sales, because the taxable base under art. 29a ust. 6 pkt 2 includes additional amounts the supplier charges the buyer. A voluntary tip passed to staff is not revenue from a sale. Which of the two your arrangement is depends on how the money is documented and paid out, and your accountant decides that, not this page. The rule that holds either way: apply the same treatment in every period and write it next to the ratio.

Why do two restaurants with the same kitchen report different food cost?

Most often because one divided by the gross till total and the other by net sales, which on a typical mixed bill is two to three percentage points on food cost and more than five on prime cost. The next most common reason is the drinks mix: a venue selling more coffee and alcohol has a higher effective rate and a wider gap between its two bases. Before comparing two venues, confirm both denominators are net and both treat comps and discounts the same way.

Pick one base, write it into the report header today, and recompute last month on it — an afternoon of work that retires the argument for good. If you would rather have the ratios and their base carried automatically than by discipline, start from the restaurant section hub.

Related services

In this section

Let us look at your numbers

Tell us how enquiries are handled today — how many there are, who picks them up, where they get lost. Aura walks the process with you and shows what can be taken off a person, and what is better left alone.

Talk to Aura

The home page with Aura opens. Give a company name — she looks at it in public data and shows what a client sees. No promises of a result.

Prefer to write? marketing@auraglobal-merchants.com

Next step

Let us check whether Aura fits your place

We do not take everyone: first we look at your processes, sales and current systems and tell you honestly whether it makes sense for us to come in. A few questions, about five minutes.

Take the assessment →