Skip to main content

Calculating Value Added Tax (VAT)

Calculation and Rounding of VAT

Written by Lenka Haringerová

VAT is one of the things that ABRA Flexi can calculate automatically. However, there are several calculation methods (known as top-down and bottom-up) and rounding also affects the result. For this reason, ABRA Flexi provides several methods for controlling VAT.

It always applies that the VAT on an itemized document is the sum of the VAT from individual line items, with rounding applied to the final result.

Whether VAT is calculated top-down or bottom-up depends on which parameters you provide (e.g., supplying the tax base will trigger calculation of VAT and the total). You can also provide all parameters and ABRA Flexi will validate them.

Validation Checks

During calculations, ABRA Flexi checks the relationships between individual fields. The following rules must hold (they may differ by a rounding margin):

  • sumDphCelkem = sumDphSniz + sumDphZakl

  • sumCelkem = sumOsv + sumZklSniz * szbDphSniz + sumZklZakl * sumDphZakl

  • sumCelkZakl = sumZklZakl * sumDphZakl

  • sumCelkSniz = sumZklSniz * sumDphSniz

  • sumZklCelkem = sumOsv + sumZklSniz + sumZklZakl

If ABRA Flexi returns the error: Zadaná hodnota [9999.99] vlastnosti [sumCelkem] se liší od vypočtené hodnoty [9999.99] it means that these validation rules have not been followed. This is usually caused by an incorrect VAT calculation or invalid input data.

In most cases, it is sufficient to provide only the tax bases and let ABRA Flexi calculate everything else automatically.

The same applies to currency, where the values between the base currency and the transaction currency must also correspond. In such cases, ABRA Flexi will slightly adjust the exchange rate to prevent rounding errors.

  • sumDphCelkemMen = sumDphSnizMen + sumDphZaklMen

  • sumCelkemMen = sumOsvMen + sumZklSnizMen * szbDphSniz + sumZklZaklMen * sumDphZakl

  • sumCelkZaklMen = sumZklZaklMen * sumDphZakl

  • sumCelkSnizMen = sumZklSnizMen * sumDphSniz

  • sumZklCelkemMen = sumOsvMen + sumZklSnizMen + sumZklZaklMen

Did this answer your question?