Промпт: Генерация списка компаний (Fairflow)¶
Используй этот промпт для генерации тестовых/демо-данных компаний в AI-инструментах (Claude, GPT, Gemini и т.п.) или для передачи разработчику seed-данных.
Контекст проекта¶
Fairflow — проектно-центричная модульная CRM-платформа. Компания (Company) — юридическое лицо / организация клиента. Компания связана с контактами (many-to-many), сделками и продажами. Все данные изолированы на уровне проекта.
Цель: сгенерировать список реалистичных российских компаний для seed-данных, импорта, тестирования UI или демо-режима.
Задание¶
Сгенерируй список из N компаний (N = 20–50 по умолчанию, или укажи иное количество). Каждая компания должна соответствовать структуре Fairflow и всем требованиям ниже.
Структура компании (поля)¶
Обязательные поля (Must Have)¶
| Поле | Тип | Описание | Пример |
|---|---|---|---|
name |
string | Полное наименование юрлица | «ООО „Альфа“» |
inn |
string | ИНН (10 цифр — юрлицо, 12 — ИП) | «7707049388» |
ownerId |
string | ID владельца записи | «user-123» |
ownerType |
enum | «USER» или «DEPARTMENT» | «USER» |
Рекомендуемые поля (для полноты карточки)¶
| Поле | Тип | Описание | Пример |
|---|---|---|---|
kpp |
string | КПП (9 цифр) | «770701001» |
ogrn |
string | ОГРН (13 цифр — юрлицо, 15 — ИП) | «1027700132195» |
legalAddress |
string | Юридический адрес | «123456, г. Москва, ул. Ленина, д. 1» |
actualAddress |
string | Фактический адрес | «123456, г. Москва, ул. Ленина, д. 1, офис 101» |
phone |
string | Телефон (E.164 или +7 формат) | «+7 495 123-45-67» |
email |
string | Email (домен используется для дедупликации) | «info@alfa.ru» |
website |
string | Сайт | «https://alfa.ru» |
industry |
string | Отрасль | «IT», «Финансы», «Ритейл» |
employeeCount |
number | Численность сотрудников | 150 |
notes |
string | Примечание | «Ключевой клиент с 2023» |
Связи и системные поля¶
| Поле | Тип | Описание |
|---|---|---|
contactIds |
string[] | Массив ID контактов (many-to-many) |
tags |
string[] | Теги для фильтрации |
identityHash |
string | Хеш для кросс-проектной идентификации (ИНН + domain) — генерируется системой |
Требования к данным¶
1. Юридические форматы (Россия)¶
- ООО — «ООО „Название“» (наиболее частый)
- АО — «АО „Название“» (крупные компании)
- ИП — «ИП Иванов Иван Иванович» (без кавычек в названии)
- НКО — «АНО „Название“», «Фонд „Название“»
2. ИНН и реквизиты¶
- ИНН юрлица: 10 цифр. Контрольная сумма должна быть валидной (алгоритм проверки ИНН РФ).
- ИНН ИП: 12 цифр.
- КПП: 9 цифр, первые 4 — код региона (77 — Москва, 78 — СПб, 52 — Нижний Новгород и т.д.).
- ОГРН: 13 цифр (юрлицо) или 15 (ИП). Должен соответствовать ИНН по структуре.
Рекомендация: используй реальные форматы ИНН (можно сгенерировать валидные или взять из открытых источников). Избегай явно тестовых значений вроде «1234567890».
3. Дедуп-ключи (проверка дублей)¶
Система проверяет дубли по: - ИНН (уникален в рамках проекта) - Домен email (например, @alfa.ru) - Название (при отсутствии ИНН)
Требование: в сгенерированном списке не должно быть дублей по ИНН. Домены email должны быть уникальными или осознанно повторяться (филиалы).
4. Identity Hash (подготовка к Org Master Data)¶
Company.identity_hash = hash(normalize(ИНН) + normalize(domain))
Генерируется системой при создании. В seed-данных можно не указывать — backend заполнит автоматически.
5. Разнообразие¶
- Отрасли: IT, Финансы, Ритейл, Производство, Строительство, Логистика, Медицина, Образование, HoReCa, Недвижимость, Услуги.
- Регионы: Москва, СПб, регионы РФ (Екатеринбург, Казань, Новосибирск, Нижний Новгород и т.д.).
- Размеры: от ИП (1 чел.) до крупных (5000+).
- Названия: реалистичные, без «Test Company 1», «Компания А». Допустимы вымышленные, но правдоподобные названия.
6. Консистентность с Drawer и карточкой¶
Drawer (минимум при создании): название, ИНН, телефон, email, адрес, контактное лицо (6–8 полей).
Карточка (полный набор): все поля из таблицы выше + банковские реквизиты (БИК, р/с, к/с) — опционально для seed.
Формат вывода¶
Вариант A: JSON (для API / seed)¶
[
{
"name": "ООО «Альфа»",
"inn": "7707049388",
"kpp": "770701001",
"ogrn": "1027700132195",
"legalAddress": "123456, г. Москва, ул. Ленина, д. 1",
"actualAddress": "123456, г. Москва, ул. Ленина, д. 1, офис 101",
"phone": "+7 495 123-45-67",
"email": "info@alfa.ru",
"website": "https://alfa.ru",
"industry": "IT",
"employeeCount": 150,
"notes": "",
"tags": ["ключевой клиент"]
}
]
Вариант B: CSV (для импорта)¶
Колонки: name, inn, kpp, ogrn, legalAddress, actualAddress, phone, email, website, industry, employeeCount, notes, tags
Разделитель: запятая. Кавычки для полей с запятыми.
Вариант C: TypeScript/JavaScript (seed-файл)¶
export const companies = [
{
name: "ООО «Альфа»",
inn: "7707049388",
// ...
},
] as const;
Референсы¶
- Бизнес-процесс:
fairflow-business-process-v5.2.md— разделы 9 (Контакты и компании), 7.4 (Проверка дублей), 9.2 (Identity Hash). - Функциональная спецификация:
docs/functional/09-companies.md— Drawer, карточка, фильтры. - Требования:
docs/requirements/07-contacts-companies.md— many-to-many, merge, drift detection. - GraphQL:
docs/backend/graphql-specification.md— типCompany,CreateCompanyInput,UpdateCompanyInput. - Импорт:
docs/requirements/16-bulk-import.md— маппинг колонок, проверка дублей.
Чек-лист для проверки сгенерированного списка¶
- [ ] Все компании имеют уникальный ИНН
- [ ] ИНН соответствует формату (10 или 12 цифр)
- [ ] Названия в корректном юридическом формате (ООО, АО, ИП)
- [ ] Email-адреса валидны, домены разнообразны
- [ ] Телефоны в формате +7 или E.164
- [ ] Адреса содержат индекс, город, улицу
- [ ] Отрасли и размеры разнообразны
- [ ] Нет тестовых/мусорных названий («Test», «Company 1»)
- [ ] Список готов к импорту (CSV) или к использованию в seed (JSON/TS)
Пример промпта для AI¶
Сгенерируй 30 российских компаний для CRM Fairflow в формате JSON.
Требования:
- Уникальные ИНН (10 цифр для юрлиц), валидный формат
- Названия: ООО, АО, несколько ИП — реалистичные вымышленные
- Отрасли: IT, финансы, ритейл, производство, логистика
- Регионы: Москва, СПб, Екатеринбург, Казань, Новосибирск
- Поля: name, inn, kpp, ogrn, legalAddress, phone, email, website, industry, employeeCount
- Без дублей по ИНН и домену email