DEV Community

Cover image for Poland's KRS registry: fields worth checking before LOI
OpenRegistry
OpenRegistry

Posted on

Poland's KRS registry: fields worth checking before LOI

Four filing dates appeared within a two-week span on a Warsaw acquisition target last quarter. The legacy paid databases still listed the old board half a year later. KRS had already published the management change, revised share capital, plus a new supervisory board appointment.

That delay becomes obvious during diligence.

Poland’s Krajowy Rejestr Sądowy (KRS) is one of the registers where direct access matters more than tidy summaries. Court-record updates usually hit the register before commercial datasets catch up, especially during restructurings, distressed sales, or internal group transfers.

For transaction teams, the useful material is often the filing sequence itself and the officer records attached to the court registration.

What KRS returns through OpenRegistry

OpenRegistry exposes live KRS data through MCP tool calls. Upstream fields arrive under jurisdiction_data without being mapped into a separate schema.

A standard get_company_profile lookup for a Polish entity will usually include:

  • krs_number
  • regon
  • nip
  • legal_form
  • registration_date
  • status
  • share_capital
  • registered address fields from the KRS entry

Those numbers carry more weight than they first appear to.

Earlier this year we reviewed a carve-out where the seller circulated a spreadsheet listing two subsidiaries with near-identical names. Their REGON numbers differed. KRS also showed one company had already entered liquidation proceedings. The spreadsheet skipped that detail entirely.

Officer records matter for another reason. KRS separates management board roles from supervisory board appointments. get_officers can return:

  • officer names
  • appointment dates
  • representation rules
  • role titles
  • resignation or dismissal references where published

The representation clauses need close reading. Polish companies often require two board members acting jointly, or one board member together with a proxy. During signing-authority checks, that line tends to matter more than the deal presentation.

list_filings exposes the filing chronology attached to the company record. Depending on the entity type and publication status, you may see:

  • annual financial statements
  • board changes
  • capital amendments
  • articles of association updates
  • merger documentation
  • liquidation notices

Filing timing can reveal transaction activity before it surfaces elsewhere. Capital increases, governance reshuffles, ownership-related changes: those often appear in KRS first.

What you will not get

Poland does not expose every ownership dataset openly.

The Central Register of Beneficial Owners (CRBR) sits outside KRS, and some AML-related access routes carry legal restrictions. OpenRegistry does not bypass gated ownership systems or expose restricted AML records.

Historical snapshots are not included either.

Each OpenRegistry request hits the live register source. If a filing changes status, disappears, or gets corrected upstream, the response changes as well. That works for live diligence. Less so when reconstructing historical states across several years.

Document structure is another limitation.

Some KRS filings still arrive as documents rather than structured fields. Older records frequently appear as scanned PDFs with uneven formatting. In practice, you still end up reading attachments manually.

The awkward cases are usually transliteration inconsistencies, merged historical records, or filing attachments published in different formats depending on the year.

Querying KRS through OpenRegistry MCP

A basic company search starts with the entity name or identifier.

{
  "tool": "search_companies",
  "arguments": {
    "jurisdiction": "PL",
    "query": "CD Projekt"
  }
}
Enter fullscreen mode Exit fullscreen mode

Once you have the company number, pull the live profile.

{
  "tool": "get_company_profile",
  "arguments": {
    "jurisdiction": "PL",
    "company_number": "0000066865"
  }
}
Enter fullscreen mode Exit fullscreen mode

For diligence work, the next call is usually filings or officers.

{
  "tool": "list_filings",
  "arguments": {
    "jurisdiction": "PL",
    "company_number": "0000066865"
  }
}
Enter fullscreen mode Exit fullscreen mode
{
  "tool": "get_officers",
  "arguments": {
    "jurisdiction": "PL",
    "company_number": "0000066865"
  }
}
Enter fullscreen mode Exit fullscreen mode

If a filing includes an attached source document, fetch_document retrieves the registry artefact directly.

That matters during disputed diligence reviews. I saw one vendor data room summarise a board appointment date nearly a month earlier than the actual KRS filing. Pulling the underlying document settled the argument immediately.

Where KRS helps in cross-border diligence

Polish subsidiaries often sit inside larger holding chains involving Dutch, Cypriot, or Luxembourg entities. Timing drift between registers creates problems quickly.

The pattern is usually simple. A commercial data provider crawls KRS periodically, maps the fields into its own structure, then republishes the result later. Meanwhile, the underlying register may already show a management turnover, restructuring filing, or capital reduction.

For pre-LOI screening, the workflow is normally straightforward:

  • search the Polish entity directly
  • compare officer names across connected jurisdictions
  • inspect recent filings for capital movement
  • verify representation rules before signing

That final step gets missed surprisingly often.

On a mid-market acquisition involving a manufacturing group near Katowice, the SPA signature block listed a single board member as authorised signatory. KRS showed the company required two joint management signatures after a governance amendment filed three weeks earlier. External counsel spotted the mismatch late because the commercial database had not refreshed.

OpenRegistry does not replace the financial modelling layers provided by the large data vendors. Most teams still rely on those systems for projections and broader corporate-family mapping. The difference here is direct access to the registry of record through MCP, with upstream fields preserved exactly as published.

If your diligence tooling already uses AI agents or internal workflows, the live KRS connection is available at https://openregistry.sophymarine.com/mcp

Top comments (0)