Polish accounting firms

Last updated: 2026-07-17

Loading DuckDB and data...

About the data

What this is

A searchable database of Poland's accounting firms, companies whose main registered business is bookkeeping, accounting and tax work. In Poland every company declares an industry code called a PKD code (Polska Klasyfikacja Działalności, the "Polish Classification of Activities", the official list of business-activity categories). The code for accounting/bookkeeping is 69.20.Z, and this database covers the companies whose main PKD code is that. Each row is one company, with who they are, where they are, how big they are, how profitable they are, and how old their owner is.

Who is included (scope)

Only incorporated companies, businesses that are their own legal entity, such as a sp. z o.o. (spółka z ograniczoną odpowiedzialnością = a private limited-liability company, the Polish equivalent of an "Ltd" or "LLC"). These are registered in the KRS (Krajowy Rejestr Sądowy = the National Court Register, Poland's official register of companies). There are ~17,157 such accounting firms.

Not included: sole proprietors (one-person businesses, called JDG, jednoosobowa działalność gospodarcza), which are registered in a separate system called CEIDG. They are excluded because they do not file public financial statements (so there would be no revenue/profit data for them anyway), and accessing that register requires a Polish national identity we do not have.

Where the data comes from (sources)

  • Rejestr.io: a commercial company-data service that indexes the Polish registers. We use it for the initial list of accounting firms and for owners' birth dates.
  • KRS Open API: the free official company-register service run by the Ministry of Justice. We use it for each company's legal form, registered address, and business-activity codes.
  • RDF / e-sprawozdania: the RDF (Repozytorium Dokumentów Finansowych = "Financial Documents Repository") is the official government portal where companies file their yearly accounts electronically. An e-sprawozdanie finansowe is that filing: a standardized digital (XML) financial statement defined by the Ministry of Finance, containing the balance sheet and the profit-and-loss account. We use it for revenue, profit, assets, etc.
  • GUS / REGON: GUS (Główny Urząd Statystyczny = Poland's Central Statistical Office) runs the REGON business register. We use it for the official employment-size band and precise geographic codes. (Being connected; not yet live.)

A few more terms

  • NIP: Numer Identyfikacji Podatkowej = the company's tax identification number (like a VAT/tax ID). We use it as the reliable key to match a financial statement to the right company.
  • REGON: the national statistical number every business has.
  • Voivodeship (województwo): Poland's top-level region, like a state or province. Below it come the powiat (county) and gmina (municipality).
  • Size class: under Polish accounting law companies are grouped as mikro / mała / duża-średnia (micro / small / medium-large) based on thresholds of assets, revenue and headcount.

What each company record contains

  • Identity: name, KRS / NIP / REGON numbers, legal form, and status (active, suspended, in liquidation, bankrupt, or deregistered).
  • Location: region, then county, municipality and city.
  • Size: the accounting size class above.
  • Financials (latest filed year, in Polish złoty / PLN): revenue, operating profit, gross profit, net profit, total assets, equity, cash, and short- and long-term liabilities. A last_available_year field says which year the numbers are from.
  • Owner age: the age of the company's lead owner (worked out from their birth date).
  • Coverage flags (has_financials, has_owner_age, ...): tell you whether we have that piece of data for a company, so a blank reads as "not collected yet", never as "zero".

Current coverage (2026-07-17)

  • 17,157 companies total; 15,258 active.
  • Identity, status, size class: ~100%.
  • Geography: ~92% (the rest are mostly deregistered companies with no current registry extract).
  • Owner age (lead owner): ~21%.
  • Financials: ~4% and rising. The financial-statement collection is running now and coverage climbs continuously.
  • Employment size (REGON): pending an access key.

Target coverage

  • Identity / geography / status / size: ~100% (essentially complete).
  • Financials: every active company that has filed a digital statement. Note that not all do; deregistered firms and some very small ones file on paper or not at all, so full coverage means "all that exist to collect", realistically a large majority of active firms.
  • Owner age: expand from the lead owner to all firms with a known owner, and later to every shareholder of each firm (to support succession analysis, e.g. finding firms whose owners are near retirement).
  • Employment size: 100% once the statistics-office connection is live.

Methodology (how it is built)

  • We start from the official list of accounting companies and enrich each one from the sources above.
  • Financial statements are downloaded from the government portal and read from their official XML format.
  • Every statement is attributed to the company named inside the document (matched by its tax ID / NIP), not by how the file was retrieved. This means a financial figure is always tied to the correct company, or left blank, never shown against the wrong one.
  • Money figures are in PLN (Polish złoty) and come from each company's most recently filed statement; the year is shown per company.
  • The data refreshes periodically as new filings appear.

Caveats / limitations

  • Financials are the latest single year we can find per company (mostly 2024-2025, with an older tail for companies that stopped filing).
  • Owner age is the lead owner only for now (one person per company); full multi-owner data is a planned enhancement.
  • Sole proprietors are excluded (see scope); this is a database of incorporated accounting firms.
  • Some companies have no digital financial statement at all; they appear with identity and location but blank financials, flagged accordingly.
  • PKD 69.20 also covers in-house shared-service and bookkeeping centers of larger corporate groups (Pandora, Carlsberg, Stellantis and similar). They carry the same registry code as client-facing accounting firms, so they appear in this dataset. The "Shared-service centers" filter excludes them by default using a name heuristic (about 51 firms). The heuristic is imperfect: set it to "Only SSCs" to audit what it catches.
  • The USD toggle uses a fixed NBP exchange rate stored in config.yaml, not a live rate.
Financial statement