How VAT is calculated

How Bilify works out line tax, discounts, rounding, reverse charge and advance invoices, and what is frozen when you issue a document.

5 min read Updated 04.10.2026

This article explains how Bilify turns the lines you type into the subtotal, tax and total on a document, so you can predict every figure before you click Issue.

The short version

  1. Each line has a quantity, a unit price, an optional discount and a tax rate.
  2. Bilify works out the line's net amount (quantity times unit price, minus the discount).
  3. The tax for the line is the net amount times the line's tax rate.
  4. Lines are grouped by tax rate into a Tax breakdown (base and tax per rate).
  5. The document total is the subtotal plus the tax, except for reverse charge and advance invoices, which work differently (see below).

The totals under the lines update while you edit the draft. If you see Totals will appear once a document type, tax rates and at least one complete line are set., pick a document type and complete at least one line.

Lines, discounts and tax rates

Column What it does
Qty Any positive number, with up to three decimals (for example 2.5 hours).
Unit price The price of one unit, before tax, in the document currency.
Discount Choose % for a percentage of the line, or the currency code (for example MKD) for a fixed amount taken off the whole line, not off each unit. Leave it on - for no discount.
Tax rate One of your country's VAT rates, or Custom to type your own percentage.

When you pick a saved product or service, Bilify fills in its default price and default tax rate. You can still change both on the line. See Add products and services.

Prices are entered without VAT

On offers, pro-forma invoices and invoices the unit price is the net price, and VAT is added on top. The only exception is the advance invoice, where the amount you type already includes VAT.

Rounding: per line or once per document

Every amount is rounded to two decimals (deni or cents), halves rounded up. Where the rounding happens depends on the document type:

  • Rounded per line. Each line's net and tax are rounded first, then added up. The totals equal the sum of what each printed line shows. Offers (Offer) and pro-forma invoices (Pro-Forma Invoice) work this way.
  • Rounded once per document. Lines are added up at full precision, and only the totals and the tax breakdown are rounded at the end. This is how the UJP e-Faktura system recalculates an invoice, so Bilify does the same for Invoice, Advance Invoice and Invoice (Article 32 reverse charge).

Why a total can differ by one deni from your calculator

On invoices rounded once per document, the line amounts on screen are rounded for display, but the total is calculated from the exact values. Adding up the printed lines by hand can therefore be one deni away from the printed total. The printed total is the one UJP expects.

You cannot change the rounding of a document type. It is part of the type's definition, which Bilify sets per country.

Reverse charge (Article 32)

On an Invoice (Article 32 reverse charge) the VAT is calculated per line for disclosure only. It is not added to the total, because the tax liability passes to the buyer.

  • The Tax total on the document is zero.
  • The draft shows Transferred tax (reverse charge) with the amount that was calculated.
  • At issue, the legal note required by Article 32-a is printed in the footer with that amount filled in.

Read Article 32 reverse charge invoices for when to use this type.

Advance invoices

On an Advance Invoice the amount you enter is the gross prepayment, VAT included. Bilify takes the VAT out of it instead of adding it on top:

VAT = amount x rate / (100 + rate)

For example, an advance of 11,800 MKD at 18% contains 1,800 MKD of VAT on a base of 10,000 MKD. The subtotal is always the total minus the tax, so the three figures always add up. See Advance invoices.

Custom tax percentages

Choosing Custom on a line lets you type any percentage from 0 to 100 (for example 7.5) in Custom tax percent. Lines with different custom percentages get separate rows in the tax breakdown. Use this only when none of your country's rates fit, and check with your accountant first.

What is frozen when you issue

While a document is a draft, Bilify recalculates it every time you change it. When you click Issue, Bilify calculates it one last time and stores the result. From then on the document never changes, even if a rate, a client or your company details change later. Frozen at issue:

  • every line's tax percentage, net, tax and total,
  • the subtotal, tax total, total and the tax breakdown,
  • the legal notes (such as the Article 32 note) with their amounts,
  • your company details and the client's details as they were that day,
  • the payment details of the chosen payment method,
  • the exchange rate, for documents in a currency other than your company's,
  • the document design.

Rates are checked against the issue date

Tax rates have validity dates. When you issue, Bilify uses the rate valid on the document's issue date. If a rate you picked on a draft is no longer valid on that date, issuing stops with an error naming the line, so you can choose a current rate. Nothing is silently changed to 0%.

To correct an issued document you cancel it or, for e-Faktura invoices, issue a storno or correction. See Cancel a document.