The 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%).
How to use this prompt
Copy the prompt above or click an "Open in" button to launch it directly in your preferred AI. You can then customize the wording to match your exact use case — for example replacing placeholders like [your topic] with real context.
Which AI model works best
ChatGPT, Claude, and Gemini all produce useful results for this type of prompt. Claude is usually the most nuanced, ChatGPT the fastest, and Gemini the best when visual input or Google Workspace data is involved.
How to customize this prompt
Adapt the prompt to your specific use case. Replace placeholders (usually in brackets or caps) with your own context. The more detail you provide, the more precise the response.
Common use cases
- Use directly in ChatGPT, Claude, or Gemini
- Adapt to your specific project or industry
- Use as a starting point for your own custom prompt
- Compare across models to find the best fit for your case
- Share with your team as a standard workflow
Variations
Adapt the tone (more casual, more technical), change the output format (bullet points vs. paragraphs), or add constraints (word limits, target audience).
Related prompts