PL_JPK_KR_PD - ZOiS Fields and Default Mapping

PL_JPK_KR_PD - ZOiS Fields and Default Mapping



What is ZOIS?

ZOIS stands for "Zestawienie Obrotów i Sald" (Statement of Transactions and Balances).

In the context of the JPK_KR_PD (Jednolity Plik Kontrolny – Księgi Rachunkowe – Podstawowe Dane) file, ZOIS represents a structured report of transactions and balances derived from the accounting books for a specific reporting period.

The ZOIS section is a mandatory part of the JPK_KR_PD file required by Polish tax authorities. It provides a detailed breakdown of account balances and turnovers, ensuring compliance with local statutory reporting requirements.

ZOiS Types and Applicability

The ZOIS structure in the JPK_KR_PD file is divided into eight ZOIS Types (ZOIS1 to ZOIS8), each corresponding to a specific type of entity. These types are mutually exclusive within a single file instance, meaning only one ZOIS Type can be used per submission, but it may contain multiple entries of that type.

Important: The XML schema defines the ZOIS types using a choice structure, which enforces that only one of the eight types (ZOIS1 to ZOIS8) may be included in the ZOIS section of the XML file. Mixing different ZOIS types in the same report is not allowed.

ZOiS Types

ZOiS Types

Description (English)

Description (Polish)

ZOiS Types

Description (English)

Description (Polish)

ZOiS1

Statement of transactions and balances for banks

Zestawienie obrotów i sald dla banków

ZOiS2

Statement of transactions and balances for insurance and reinsurance undertakings

Zestawienie obrotów i sald dla ubezpieczycieli i zakładów reasekuracji

ZOiS3

Statement of transactions and balances for public benefit and voluntary service organisations

Zestawienie obrotów i sald dla organizacji pożytku publicznego i wolontariatu

ZOiS4

Statement of transactions and balances for investment funds

Zestawienie obrotów i sald dla funduszy inwestycyjnych

ZOiS5

Statement of transactions and balances for brokerage houses

Zestawienie obrotów i sald dla domów maklerskich

ZOiS6

Statement of transactions and balances for cooperative savings and credit unions

Zestawienie obrotów i sald dla SKOK

ZOiS7

Statement of transactions and balances for other entities

Zestawienie obrotów i sald dla jednostek pozostałych

ZOiS8

Statement of transactions and balances for entities applying IFRSs

Zestawienie obrotów i sald dla jednostek stosujących MSSF

How the ZOIS Type is Selected

  • The ZOIS Type is selected by the user in the JPK_KR_PD record each time a report is generated in NetSuite.

  • By default, the ZOIS Type is sourced from the Poland Localization Settings record.

  • Users must ensure that only the appropriate ZOIS Type - based on the entity classification - is selected.

  • When the report is generated, the system will include only the selected ZOIS Type and its corresponding turnover and balance data in the JPK_KR_PD XML file.


Sourcing

The data is extracted from account saved search and transaction saved search defined in the Poland Localization Settings → JPK_KR_PD → JPK_KR_PD ZOIS Account Saved Search and JPK_KR_PD ZOIS Balances Saved Search.

The default saved searches are:

  1. PL JPK_KR_PD ZOIS Accounts

  2. PL JPK_KR_PD ZOIS Balances

 

Accounts Information

This is the default mapping based on the “PL JPK_KR_PD ZOIS Accounts” saved search.

XML Field

XML Field Description

Summary Type

Default Mapping

Default Mapping Description

XML Field

XML Field Description

Summary Type

Default Mapping

Default Mapping Description

 

 

Group

Internal ID

This is not part of the XML. This is used as a unique identifier and serves as a link to another saved search defined in the Poland Localization Settings → JPK_KR_PD ZOIS Balances Saved Search.

S_1

Identifier of the final entry account (subsidiary ledger account or general ledger account, if no entry is required on subsidiary ledger accounts) (character field, e.g. “011-4-1”)

Group

Formula (Text) {number}

Returns the value of the field “number” as text.

S_7

Account name (character field, e.g. “passenger cars”)

Group

Formula (Text) REGEXP_SUBSTR({name}, '[^:]+$')

Extracts the last digit (1-9) from the end of the “number” field. Useful for isolating a trailing account number or code.

S_3

Identifier of a master account (character field)

Group

Formula (Text)

CASE WHEN INSTR({number}, '-') = 0 THEN NULL WHEN LENGTH({number}) - LENGTH(REPLACE({number}, '-', '')) = 1 THEN SUBSTR({number}, 1, INSTR({number}, '-') - 1) ELSE REGEXP_SUBSTR({number}, '^(.*?)(-[^-]+)$', 1, 1, NULL, 1) END

This formula extracts the first segment of the “number” field before a dash (“-”). If there is no dash, it returns NULL. Useful for getting the main account code from a compound account number like “011-4-1”.

S_12_1

Account label resulting from the regulation on additional scope of data to be included in accounting books (optional field for entities applying IFRSs)

Group

IFRS Label Code: IFRS Label Code

Returns the IFRS label code for the account, if applicable.

S_12_2

Additional account label resulting from the regulation on additional scope of data to be included in accounting books (optional field)

Group

Regulatory Label Code: Regulatory Label Code

Returns the regulatory label code for the account, if applicable.

S_12_3

Additional account label resulting from the regulation on additional scope of data to be included in accounting books (PD) (optional field)

Group

PD Label Code: PD Label Code

Returns the PD label code for the account, if applicable.

Amount Balances Information

This is the default mapping based on the “PL JPK_KR_PD ZOIS Balances” saved search.

Only posting transactions related to the selected Polish subsidiary are included, based on the specified date parameters; non-posting transactions (e.g., sales orders, purchase orders, and those pending approval) are excluded.

XML Field

XML Field Description

Summary Type

Default Mapping

Default Mapping Description

XML Field

XML Field Description

Summary Type

Default Mapping

Default Mapping Description

 

 

Group

Account : Internal ID

This is not part of the XML. This is used as a unique identifier and serves as a link to another saved search defined in the Poland Localization Settings → JPK_KR_PD ZOIS Account Saved Search.

S_4

Opening balance on the Debit side in Polish zloty (numeric field)

Sum

Formula (Numeric)

CASE WHEN SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0)) > 0 THEN (SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0))) ELSE 0 END

This formula returns:

  • The net debit amount, if it’s greater than zero.

  • Otherwise, returns zero.

S_5

Opening balance on the Credit side in Polish zloty (numeric field)

Sum

Formula (Numeric)

CASE WHEN SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0)) < 0 THEN (SUM(NVL2({creditamount},{creditamount},0))-SUM(NVL2({debitamount},{debitamount},0))) ELSE 0 END

This formula returns:

  • The net credit amount, if it’s greater than zero.

  • Otherwise, returns zero.

S_6

Turnover on the account on the Debit side in the period covered by JPK (numeric field)

Sum

Formula (Numeric) NVL2({debitamount},{debitamount},0)

This ensures that you never get a null value — instead, any null in {debitamount} is replaced with 0, while non-null values are returned as-is.

S_7

Turnover on the account on the Credit side in the period covered by JPK (numeric field)

Sum

Formula (Numeric) NVL2({creditamount},{creditamount},0)

This ensures that any NULL value in the {creditamount} field is treated as 0, while valid numeric values are kept as-is.

S_8

Turnover on the account on the Debit side in the period from the opening of accounting books to the end date of the period covered by JPK (numeric field)

Sum

Formula (Numeric) NVL2({debitamount},{debitamount},0)

This ensures that you never get a null value — instead, any null in {debitamount} is replaced with 0, while non-null values are returned as-is.

S_9

Turnover on the account on the Credit side in the period from the opening of accounting books to the end date of the period covered by JPK (numeric field)

Sum

Formula (Numeric) NVL2({creditamount},{creditamount},0)

This ensures that any NULL value in the {creditamount} field is treated as 0, while valid numeric values are kept as-is.

S_10

Balance on the Debit side in Polish zloty as at the end date of the period covered by JPK, including the opening balance (numeric field)

Sum

Formula (Numeric) CASE WHEN SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0)) > 0 THEN (SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0))) ELSE 0 END

This formula returns:

  • The net debit amount, if it’s greater than zero.

  • Otherwise, returns zero.

S_11

Balance on the Credit side in Polish zloty at the end date of the period covered by JPK, including the opening balance (numeric field)

Sum

Formula (Numeric) CASE WHEN SUM(NVL2({debitamount},{debitamount},0))-SUM(NVL2({creditamount},{creditamount},0)) < 0 THEN (SUM(NVL2({creditamount},{creditamount},0))-SUM(NVL2({debitamount},{debitamount},0))) ELSE 0 END

This formula returns:

  • The net credit amount, if it’s greater than zero.

  • Otherwise, returns zero.

©2024 Staria. All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.