Technical Paper

Продавец (нормативный)

5.5 Продавец (нормативный)

json
// Merchant
{
  "merchant_id": "f3b1c2d4-...",
  "display_name": "Migros",
  "name_aliases": ["MIGROS T.A.S.", "MIGROS A.S."],
  "tax_id": "6200278131",
  "city": "Istanbul",
  "country": "TR",
  "merchant_class": "supermarket",
  "first_seen_at": "2026-01-01T00:00:00Z",
  "last_seen_at": "2026-05-17T14:23:11Z",
  "receipt_count": 18432
}

tax_id — официальный налоговый идентификатор продавца (в Турции — 10-значный Vergi Kimlik Numarası). Он хранится как валидированное поле: извлечённое значение проходит проверку контрольной цифры до принятия, поэтому ошибка OCR или сгаллюцинированный номер отбрасывается, а не записывается. Вместе с country валидированный налоговый идентификатор даёт продавцу стабильную идентичность поверх вариантов написания названия — одна и та же сеть, напечатанная как "MIGROS T.A.S." и "MIGROS A.S.", разрешается в одну запись.

Сопоставление продавцов складывает три сигнала: распознанный бренд (официальное написание сети, разрешаемое на этапе извлечения), валидированный налоговый идентификатор и сопоставление нормализованного названия. Бренд имеет приоритет при наличии; налоговый идентификатор подтверждает или устанавливает идентичность, когда название зашумлено.

Публичная идентичность продавца — бренд + город + страна. Любая публикуемая поверхность — включая публичный реестр цен — несёт продавца ровно в этой гранулярности; детализация уровня магазина и адреса остаётся в операционном слое и никогда не публикуется.