Due diligence in M&A transactions is traditionally a manual, expensive, and time-consuming process. Analysts review thousands of documents, verify entity details across multiple registries, and piece together ownership structures by hand. Prismaticβs DD module automates the intelligence-gathering phase, reducing weeks of manual work to hours of automated analysis.
#The Due Diligence Challenge
A typical Czech M&A transaction requires verification against:
- Business registries β ARES, Justice.cz, Trade Register
- Financial data β annual reports, credit ratings, outstanding debts
- Legal records β court cases, insolvency proceedings, enforcement actions
- Beneficial ownership β UBO registers, shareholder chains
- Sanctions β EU, US OFAC, UK HMT, Czech national lists
- Real estate β property ownership, liens, encumbrances
- Tax compliance β VAT registration, tax debts
For a target company with 10 related entities, this means hundreds of individual lookups across dozens of sources.
#The DD Pipeline
Prismaticβs DD pipeline operates in two phases:
#Phase 1: Client (Data Collection)
The Client phase fetches data from all relevant sources concurrently:
defmodule PrismaticDD.Pipeline.Client do
def fetch_all(entity, source_groups) do
tasks = Enum.map(source_groups, fn group ->
Task.async(fn ->
adapters = PrismaticOsintCore.adapters_for_group(group)
results = Enum.map(adapters, fn adapter ->
adapter.search(entity.query, entity.params)
end)
{group, results}
end)
end)
Task.await_many(tasks, timeout: 30_000)
end
endSource groups include: Czech registries, EU sources, global databases, sanctions lists, financial data, and web intelligence. The Client phase runs all groups in parallel.
#Phase 2: Loader (Analysis)
The Loader phase processes raw results into structured intelligence:
- Entity resolution β match and merge records across sources
- Relationship extraction β identify directors, shareholders, addresses
- Risk scoring β flag sanctions matches, insolvency, litigation
- Confidence scoring β apply Nabla framework to all findings
- Report generation β compile findings into a structured DD report
#Case Management
DD investigations are organized as cases:
# Create a new DD case
{:ok, case} = PrismaticDD.create_case(%{
title: "Acquisition of Target s.r.o.",
type: :comprehensive,
entities: [
%{name: "Target s.r.o.", ico: "12345678", type: :company},
%{name: "Jan Novak", type: :person, role: :director}
]
})
# Run the pipeline
{:ok, results} = PrismaticDD.run_pipeline(case.id)Cases track status, assigned analysts, findings, and timeline. The LiveView interface at /hub/dd/cases provides a dashboard for managing active investigations.
#Entity Analysis
For each entity in a DD case, the pipeline produces a comprehensive profile:
Company Profile:
- Registration details (name, ICO, address, legal form, founding date)
- Current officers (directors, board members, proxies)
- Shareholder structure (including intermediate holdings)
- Financial summary (revenue, profit, assets, liabilities)
- Legal status (active, in liquidation, insolvent)
- Compliance flags (sanctions, PEP exposure, adverse media)
Person Profile:
- Identity verification across official registries
- Directorship history (current and historical)
- Sanctions screening
- PEP (Politically Exposed Person) assessment
- Related entities (companies, addresses)
#Relationship Mapping
The graph database (KuzuDB) captures relationships between entities:
This reveals the complete ownership chain: Target is majority-owned by a Czech holding company, which is owned by a Cypriot entity. The same director appears in both Czech entities β a common pattern that is not inherently problematic but warrants investigation.
#Risk Scoring
The Decision Engine assigns risk scores based on weighted factors:
| Factor | Weight | Red Flags |
|---|---|---|
| Sanctions exposure | 0.25 | Direct match, or director/shareholder match |
| Insolvency history | 0.20 | Active proceedings, historical bankruptcies |
| Ownership complexity | 0.15 | Offshore structures, circular ownership |
| Financial health | 0.15 | Negative equity, declining revenue |
| Litigation | 0.10 | Active court cases, enforcement actions |
| Compliance gaps | 0.10 | Missing filings, lapsed licenses |
| PEP exposure | 0.05 | Directors or shareholders who are PEPs |
Scores translate to risk levels: Low (0-30), Medium (31-60), High (61-80), Critical (81-100).
#Seller-Side Dataroom
For sell-side transactions, Prismatic provides a dataroom module:
- 36-item checklist (CZ/EN bilingual) covering corporate, financial, legal, tax, HR, and IP documents
- Document management with approval workflows
- Role-based access control (deal lead, analyst, reviewer, external counsel)
- Audit trail for all document access and status changes
The dataroom ensures completeness and provides a professional interface for buyer review.
#Contradiction Detection
One of the most valuable features of automated DD is contradiction detection:
- ARES reports 3 employees, but the annual report lists 50
- The registered address does not match the websiteβs contact page
- A director listed as active in Justice.cz is listed as deceased in another source
- Revenue reported to the tax authority differs from the figure in the annual report
These contradictions are flagged automatically and ranked by severity. In manual DD, such discrepancies often go unnoticed across thousands of pages of documents.
#Real-World Application
In a recent DD engagement analyzing a Czech holding structure, the platform:
- Processed 3 ZIP archives of source documents
- Identified 17 entities across multiple jurisdictions
- Found 7 critical contradictions (including a 571M CZK valuation discrepancy)
- Mapped 30+ cross-entity relationships
- Generated a comprehensive HTML report with source links
The entire analysis completed in hours rather than the weeks required for manual review.
#Conclusion
Automated DD does not replace human judgment. It replaces human data gathering. By automating the collection, verification, and correlation of intelligence across hundreds of sources, analysts can focus on what they do best: interpreting findings and making recommendations.
Explore the {{ cross_link(path=β/hub/dd/casesβ, text=βDD Dashboardβ) }} or learn about the Decision Engine for scoring methodology.