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