e-invoicing

Polish TaxId check

The Polish TaxId check validates a supplier's tax identifier and bank account against the Polish Allow List (Biała Lista) before a buyer makes a payment.

Overview

The Polish Allow List (Biała Lista) is created, administered, and published by the Polish Tax Administration (Krajowy System e-Faktur (KSeF)). It contains data on Polish taxable persons who are registered as active or exempt VAT taxable persons, who have not been registered or have been removed from the register, or who have been restored as VAT taxable persons.

Buyers making payments for purchased goods and services exceeding PLN 15,000 must pay into bank accounts indicated in the Allow List. Non-compliance may result in the buyer being unable to classify the payment as a tax-deductible cost or bearing joint liability for the supplier's VAT obligations. These sanctions can be avoided if the buyer notifies the KAS within seven days that a payment was made to an off-listed account.

Sovos validates Polish TaxId check requests using the downloadable flat files method. KAS publishes updated flat files every business day; Sovos checks for updates every 15 minutes and downloads the latest version. The publication date of the flat file used for validation is returned in the response as PublicationDate and can be used as proof of consultation.

Scope

The obligation to check the Allow List before making payments depends on the characteristics of both parties and the transaction. The key thresholds are:

  • Payments for purchased goods and services exceeding PLN 15,000 must be made to bank accounts registered in the Allow List. This applies even to advance and installment payments when the total transaction value exceeds PLN 15,000.

  • Foreign suppliers are generally out of scope unless they are VAT-registered in Poland and perform taxable transactions in the country.

  • Card payments and payments made through payment platforms (pay-by-link) are not bank transfers under Polish law and are out of scope.

  • Foreign bank accounts are generally out of scope, except where foreign banks operate through branches or subsidiaries in Poland.

Virtual accounts, while technically not bank accounts under Polish Banking Law, are associated with a main bank account that is in the scope of the Allow List. Buyers must check virtual accounts in the Allow List before making payments to them.

Onboarding

To get started with the Polish TaxId check, exchange TLS client credentials with Sovos. These credentials authenticate the hub to TWOD over HTTPS and are associated with an active session. When credentials are approaching expiry, Sovos Support issues new client TLS credentials. No additional registration steps are required.

Process flow

The Polish TaxId check process follows five steps:

  1. Buyer transmits payment details. The supplier submits payment details to the hub, including all information required to construct a valid TaxIdCheck request.

  2. TaxIdCheck call. The hub sends a TaxIdCheckTaxIdCheck request to the Storage Service with the following required parameters:

    • TransactionId: A unique identifier for the transaction.

    • RequestTarget.CountryCode: Set to PL.

    • RequestTarget.TaxId: The Polish NIP (tax identification number) to validate.

    • BankAccount.Name: The bank account number to which payment is being made.

    • BankAccount.BankAccountType: Set to Bank or CreditUnion.

    • TaxIdCheckTargetSystem: Set to PolishTaxIDCheck.

    Example request:

    CODE
    <TaxIdCheckRequest
      xmlns:tac="http://www.trustweaver.com/trustarchive/common/v1"
      xmlns="http://www.trustweaver.com/trustarchive/storage/v1">
      <TransactionId>123456</TransactionId>
      <RequestTarget>
        <CountryCode>PL</CountryCode>
        <TaxId>1234</TaxId>
      </RequestTarget>
      <BankAccount>
        <Name>1234</Name>
        <BankAccountType>Bank</BankAccountType>
      </BankAccount>
      <TaxIdCheckTargetSystem>PolishTaxIDCheck</TaxIdCheckTargetSystem>
    </TaxIdCheckRequest>
  3. Sovos validates against the Allow List. Sovos applies the KAS cryptographic algorithm to the NIP-bank account pair and checks whether the resulting hash is present in the locally stored flat file copy of the Allow List.

  4. Sovos returns the result. The response contains a Status element with a value of Valid or Invalid, and an AdditionalInfos element containing the PublicationDate of the flat file used for validation.

    Example response:

    CODE
    <TaxIdCheckResult
      xmlns="http://www.trustweaver.com/trustarchive/storage/v1">
      <Status>Valid</Status>
      <AdditionalInfos>
        <AdditionalInfo>
          <Key>PublicationDate</Key>
          <Value>1234</Value>
        </AdditionalInfo>
      </AdditionalInfos>
    </TaxIdCheckResult>
  5. Hub returns result to buyer. The hub returns the validation result to the buyer. The design of this step is left to the hub and its customers.

Archiving check evidence

The archive of Allow List check evidence is not regulated under Polish law. Sovos recommends storing the PublicationDate returned in the response as proof of consultation. The flat file identified by the publication date may also be used for historical consultations on the KAS website. Archiving evidence with TrustWeaver must be contracted separately.