Margly
Settings

VAT settings

How Margly calculates and displays VAT — business country, payer status, Incl./Excl. VAT toggle, and per-product rates.

8 min read

Three independent toggles#

Margly has three VAT settings that behave separately:

  1. Business country — determines the VAT rate for reverse-charge calculation on ad invoices (Google Ads, Meta, Sklik) and serves as a fallback default rate for products for which the e-shop doesn't itself return VAT.
  2. VAT payer status (yes/no) — serves as information for billing from Margly via Stripe. Doesn't enter margin calculations or how numbers are displayed in the dashboard.
  3. Price display — Incl. VAT / Excl. VAT — switches how Margly in the dashboard displays revenue, margins, and spend. Default state: Incl. VAT.

Business country#

You enter the business country in onboarding (and later you can change it). Margly based on it:

  • Applies the rate for reverse-charge calculation on ad invoices (Google Ads, Meta, Sklik typically bill EU companies without VAT — Margly computes the rate of your country on top). CZ = 21 %, SK = 23 %, DE = 19 %, etc. Full list see the table below.
  • Sets the fallback VAT rate for products for which the e-shop doesn't provide its own VAT rate. For Shoptet and Upgates Margly takes VAT primarily from the product feed. For Shopify (if a product doesn't have taxable=false), the country fallback kicks in.
  • Selects the timezone for reports (CZ = Europe/Prague, SK = Europe/Bratislava, …) — all charts and dashboards respect your country's calendar.
  • Determines the billing currency from Margly (CZ → CZK, other supported countries → EUR).

You change the country in the Billing section — the "Business country" field in Billing details.

VAT rates by country#

CountryStandard rateSelectable rates for per-product override
Czech Republic (CZ)21 %0, 12, 15, 21
Slovakia (SK)23 %0, 5, 10, 19, 23
Germany (DE)19 %0, 7, 19
Austria (AT)20 %0, 10, 13, 20
Poland (PL)23 %0, 5, 8, 23
Hungary (HU)27 %0, 5, 18, 27
Slovenia (SI)22 %0, 5, 9.5, 22
United Kingdom (GB)20 %0, 5, 20
France (FR)20 %0, 2.1, 5.5, 10, 20
Italy (IT)22 %0, 4, 5, 10, 22
Spain (ES)21 %0, 4, 10, 21

Plus another 30+ countries (EU, GB, CH, NO, US, CA, AU, NZ, JP, SG, IL, IN, MX, BR, TR, ZA…).

VAT payer status (informative field)#

In billing details you indicate whether your company is or is not a VAT payer (the "VAT payer status" field — options "Yes" / "No").

This field is purely informative in Margly and doesn't play a role in any actual calculations:

  • Doesn't affect margins or the display of numbers in the dashboard (that is driven by the "Price display" toggle below).
  • Doesn't enter reverse-charge calculation for ad platforms (for that Margly takes the rate of your business country, not this toggle).
  • Isn't passed to Stripe. Whether Stripe issues you an invoice with VAT or without VAT (reverse-charge regime) is decided exclusively by your tax ID and billing address entered into Stripe Checkout, not this choice in Margly.

Margly keeps the toggle only as a record about your company (display in the UI, audit of accounting work). Feel free to leave it at the default value — it won't affect billing.

How Stripe actually decides about VAT on the invoice#

For completeness: invoice issuance from Margly is handled by Stripe Tax automatically according to your billing address and tax ID, which you enter in Stripe Checkout when selecting a plan (and later can edit in the Billing → Billing details section):

  • No tax ID → Stripe adds VAT according to the rules of your address country (e.g., a CZ company without a tax ID receives an invoice with Czech 21 % VAT).
  • Tax ID with the correct prefix of your country → Stripe recognizes an intra-EU B2B transaction and applies reverse-charge regime (invoice without VAT, tax you handle in your country). Stripe checks the format right at checkout, definitive verification of the tax ID against the register (VIES for EU, HMRC for UK, ABR for AU) runs asynchronously after payment.
  • Detail of the entire flow in Trial and upgrade to a paid plan → Currency and VAT.

Price display — Incl. VAT / Excl. VAT (key toggle)#

This decides how Margly in the dashboard displays ALL financial numbers — revenue, margins, spend, ROAS, ad spend, KPIs, AI Advisor.

Default state: Incl. VAT. If you never change the toggle, Margly shows everything with VAT.

WhenRecommended setting
You are a non-VAT-payerIncl. VAT (default). You see what you actually take and pay.
You are a VAT payerExcl. VAT. VAT is a pass-through item — your profit is from net amounts.
You want comparison with the cash registerIncl. VAT — the cash register shows gross amounts.
You want to compare with an ad platformExcl. VAT — Google Ads, Sklik, Meta bill without VAT.

You'll find the toggle in the Billing section — the "Price display" card with buttons "Incl. VAT" and "Excl. VAT".

Per-product VAT override#

Margly supports per-product VAT rates. Some products have different VAT (books 12 %, food 12 %, …).

How VAT is determined#

  1. From the e-shop feed — Shoptet (CSV and API) and Upgates send the VAT rate for each product, Margly uses it directly.
  2. From the country default — if the feed doesn't contain the rate (typically Shopify for products without a taxable flag), the default rate of your business country kicks in.
  3. From manual edit in Margly — you can override the rate directly in the Products section by clicking the VAT cell of a specific product (dropdown with rates for your country). After saving:
    • Margly remembers you set the rate manually.
    • The next data load from the e-shop won't overwrite this rate — protects your manual selection.
    • Margly immediately (synchronously) recalculates margins of all orders with this product — no waiting for the next data load.

Available rates in the dropdown#

Margly offers in the dropdown only rates relevant for your country (e.g., in CZ only 0, 12, 15, 21). Full list see the table above.

When to manually override#

  • The e-shop has wrong VAT set (error in the import feed)
  • You have a product with unusual VAT (e.g., discounted books 0 %)
  • You changed the rate, but after the next data update Shoptet reverted it

Per-invoice VAT#

In PDF invoice import and Excel import the AI extracts the VAT rate from the invoice. The AI is instructed to recognize reverse-charge invoices automatically (typically intra-EU invoices without VAT with a note "Reverse charge", "NI art.41", "Exempt") and set 0 % VAT for them. Sometimes it can make a mistake and apply the standard rate — therefore always check the VAT rate for each item before saving and manually correct if necessary.

Reverse-charge on ad invoices#

Most ad platforms bill EU companies without VAT (intra-EU B2B, reverse-charge regime). Margly computes it automatically according to the rate of your business country:

  • Google Ads — API returns spend without VAT; Margly computes the variant with VAT.
  • Meta Ads — API returns spend without VAT; Margly computes the variant with VAT.
  • Sklik — Drak / Fénix API returns spend without VAT (in CZK); Margly computes the variant with the Czech or Slovak rate (according to your country).
  • Heureka — Conversion Measurement API returns both variants directly (incl. and excl. VAT), Margly therefore doesn't compute anything and stores both.

In the "Incl. VAT" display you see in the dashboard higher (gross) numbers comparable with the cash register. In "Excl. VAT" you see the net spend corresponding to invoices from the platforms.

Special cases outside the EU#

  • USA / Brazil: sales tax / ICMS per state = very complex. Margly by default sets 0 %. Set per-product manually.
  • Canada: federal GST 5 %, but provincial PST/HST is not applied. Margly takes 0 %, override per product.
  • Switzerland: 8.1 % default. Margly with VAT works.

What to do when numbers don't match#

  1. Revenue is lower than at the cash register — you have the "Price display" toggle on "Excl. VAT". Switch to "Incl. VAT".
  2. Margins are oddly high — typically missing or very low purchase prices in the e-shop, or wrong VAT set for products. Check purchase prices in the e-shop (Margly only displays them, doesn't store them itself).
  3. Per-product VAT you changed, but the margin hasn't yet been recalculated — this shouldn't happen (Margly recalculates synchronously on save). If you still see old values, refresh the page in your browser. If the problem persists, write to support@margly.io.

What's next#

Was this helpful?

Related articles