VAT calculation error: P_14 or P_15 is wrong
What this error means
The amounts in the invoice summary don't agree with each other: either the tax doesn't follow from the net amount and the rate, or the total due isn't the sum of net and VAT. KSeF (Krajowy System e-Faktur, Poland's national e-invoicing system) will accept the invoice anyway, because it doesn't check arithmetic. A wrong VAT amount still has to be fixed afterwards with a corrective invoice.
KSeF 2.0 manual, part II, sections 1.6.1 and 1.6.2What exactly we check
This rule isn't in the Ministry of Finance's FA(3) information brochure (broszura). It's an extra check of ours, built on what the brochure says the fields mean: P_13_x is net sales at a given rate, P_14_x is the tax on them, and P_15 is the total amount due. The validator:
- calculates
P_14_1fromP_13_1at 23% or 22%,P_14_2fromP_13_2at 8% or 7%, andP_14_3fromP_13_3at 5%, rounded to the grosz; matching either rate in a group is enough; - also accepts tax calculated per line and summed for each rate;
- compares
P_15with the sum of all net amounts (P_13_x, includingP_13_6_1–P_13_6_3for 0% rates) and tax amounts (P_14_x) in the summary; tax converted to PLN (P_14_xW) is not part of that sum; - allows a difference of up to 0.01 PLN with either calculation method;
- skips corrective invoices (
KOR,KOR_ZAL,KOR_ROZ), because they contain differences rather than full amounts.
A rate outside the catalogue in P_12 triggers a separate message, covered on the page about an invalid VAT rate.
How to fix it
- For each rate, multiply the net amount by the rate and round to the grosz. Ania invoices 4,000.00 PLN net at 23%: the tax is 920.00 PLN.
- Put the sum of all
P_13_xandP_14_xfields inP_15. For Ania: 4,000.00 + 920.00 = 4,920.00 PLN. - If the invoice has several rates, calculate each one separately and add everything up in
P_15.
<!-- ❌ Net amount entered in P_15 instead of gross -->
<P_13_1>4000.00</P_13_1>
<P_14_1>920.00</P_14_1>
<P_15>4000.00</P_15>
<!-- ❌ Tax calculated on the gross amount -->
<P_13_1>4000.00</P_13_1>
<P_14_1>1131.60</P_14_1>
<P_15>5131.60</P_15>
<!-- ✅ 4000.00 × 23% = 920.00; 4000.00 + 920.00 = 4920.00 -->
<P_13_1>4000.00</P_13_1>
<P_14_1>920.00</P_14_1>
<P_15>4920.00</P_15>
<!-- ✅ Two rates: 100 + 23 + 200 + 16 = 339 -->
<P_13_1>100.00</P_13_1>
<P_14_1>23.00</P_14_1>
<P_13_2>200.00</P_13_2>
<P_14_2>16.00</P_14_2>
<P_15>339.00</P_15>Where it usually comes from
- Tax calculated on the gross amount. 4,920.00 × 23% gives 1,131.60 instead of 920.00.
- P_15 filled with the net amount, or with the amount before a discount.
- Line-level tax doesn't match the summary. Art. 106e ust. 10 of the Polish VAT Act allows tax to be calculated per line and the results summed, so the validator accepts a
P_14_xequal to the sum of rounded line taxes at that rate (P_11× rate) or to the sum of theP_11Vatfields (FA(3) brochure, description ofP_11Vat). The message appears whenP_14_xmatches none of these calculations, nor the tax on the whole base, for example after someone edits an amount in the summary by hand.
A shorter description with a different example is in our overview of the most common FA(3) errors. Once you've fixed it, check the invoice again.
Check your invoice
Drop in your XML file and we'll show you what needs fixing. Your file never leaves your browser.
Open the validator