XV-FI-14

The Finnish VAT number '…' is not FI followed by the eight digits of a valid business ID.

warning: reported, still valid

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
/Finvoice/SellerPartyDetails | /Finvoice/BuyerPartyDetails
Test
not(starts-with($vat, 'FI')) or (matches($vat, '^FI[0-9]{8}$') and fi:ytunnus(concat(substring($vat, 3, 7), '-', substring($vat, 10, 1))))

Checked with Finvoice 3.0