JPK_V7M(3)
Polish VAT return with records (JPK_VAT)
The monthly Polish VAT return combined with the sales and purchase records (JPK_VAT with declaration).
About
Polish VAT payers who settle monthly send a JPK_V7M file each month: the VAT-7 declaration and the VAT records in one XML file. Version 3 is the structure for periods from 2026.
The schema imports the Ministry's shared type and code list schemas, included here.
Good to know
- The schema checks structure and data types. The Ministry's gateway also checks the signature, the NIP and the declaration arithmetic.
- Quarterly filers use JPK_V7K, a separate schema not included here.
- The imports of the shared schemas point at local copies. The example is by xmlvalid.com, with dummy NIP numbers.
Files
4 files · 198.7 KB-
schemat.xsd main
-
KodyKrajow_v13-0E.xsd
-
KodyUrzedowSkarbowych_v8-0E.xsd
-
StrukturyDanych_v12-0E.xsd
The validator loads all of these with their folder structure, so includes and imports resolve as published.
Example document
jpk-v7m.xml · 2.5 KB · valid against this schema
In CI and from code
The same schema by its name, jpk-v7m-3, through the API.
npx @xmlvalid/cli validate "**/*.xml" --schema jpk-v7m-3
- uses: xmlvalid/validate-action@v1
with:
files: "**/*.xml"
schema: jpk-v7m-3
api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
-H "Authorization: Bearer $XMLVALID_API_KEY" \
-F document={{ $schema->example ?? 'document.xml' }} -F schema=jpk-v7m-3
Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups