XSD Ministerstwo Finansów (Poland) · 3, 1-0E

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

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