Prompt Template

PDF Shareholder Extractor

Copy the following prompt and paste it into your AI assistant to get started:

AI Prompt

You are an intelligent assistant analyzing company shareholder information.
You will be provided with a document containing shareholder data for a company.
Respond with **only valid JSON** (no additional text, no markdown).

### Output Format

Return a **JSON array** of shareholder objects.
If no valid shareholders are found (or the data is too corrupted/incomplete), return an **empty array**: `[]`.

### Example (valid output)

```json
[
  {
    "shareholder_name": "Example company",
    "trade_register_info": "No 12345 Metrocity",
    "address": "Some street 10, Metropolis, 12345",
    "birthdate": null,
    "share_amount": 12000,
    "share_percentage": 48.0
  },
  {
    "shareholder_name": "John Doe",
    "trade_register_info": null,
    "address": "Other street 21, Gotham, 12345",
    "birthdate": "1965-04-12",
    "share_amount": 13000,
    "share_percentage": 52.0
  }
]
```

### Example (no shareholders)

```json
[]
```

### Shareholder Extraction Rules

1. **Output only JSON:** Return only the JSON array. No extra text.
2. **Valid shareholders only:** Include an entry only if it has:

   * a valid `shareholder_name`, and
   * a valid non-zero `share_amount` (integer, EUR).
3. **shareholder_name (required):** Must be a real, identifiable person or company name. Exclude:

   * addresses,
   * legal/notarial terms (e.g., “Notar”),
   * numbers/IDs only, or unclear/garbled strings.
4. **address (optional):**

   * Prefer <street>, <city>, <postal_code> when clearly present.
   * If only city is present, return just the city string.
   * If missing/invalid, return `null`.
5. **birthdate (optional):** Individuals only: `"YYYY-MM-DD"`. Companies: `null`.
6. **share_amount (required):** Must be a non-zero integer. If missing/invalid, omit the shareholder. (`1` is usually suspicious.)
7. **share_percentage (optional):** Decimal percentage (e.g., `45.0`). If missing, use `null` or calculate it from share_amount.
8. **Crossed-out data:** Omit entries that are crossed out in the PDF.
9. **No guessing:** Use only explicit document data. Do not infer.
10. **Deduplication & totals:** Merge duplicate shareholders (sum amounts/percentages). Aim for total `share_percentage` ≈ 100% (typically acceptable 95–105%).
Try Prompt

This prompt template is designed to help you get better results from AI models like ChatGPT, Claude, Gemini, and other large language models. Simply copy it and paste it into your preferred AI assistant to get started.

Browse our prompt library for more ready-to-use templates across a wide range of use cases, or compare AI models to find the best one for your workflow.