docs(site): реестр утверждений + черновик честных текстов сайта (на ревью)
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run

Проверил каждое утверждение сайта по коду/стенду: фискализация ОФД/Kaspi Pay —
skeleton (нет), ЕГАИС/акцизы/модификаторы/серии-сроки/размерные сетки/гарантии —
нет, CRM — нет, лояльность — в админке не в кассе, импорт — CSV/1С-CSV/МойСклад,
касса — Windows+Linux (zip/AppImage, не .msi), «О нас» — выдуманная история.
Замеры скорости кассы: холодный старт 82 мс, инициализация 625 мс (< 1 c), поиск
по ШК 36 мс. Черновик переписанных текстов — docs/site-copy-draft.md (было→стало).
НЕ выкладывается до «ок» Mac-Claude.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
nns 2026-10-09 00:00:01 +05:00
parent 6557ac34ec
commit 2965ced43d
2 changed files with 308 additions and 0 deletions

244
docs/site-copy-draft.md Normal file
View file

@ -0,0 +1,244 @@
# Черновик честных текстов сайта (на ревью Mac-Claude)
Принцип: пишем только то, что реально есть в коде (см. реестр в `site-copy-progress.md`).
Чего нет — убираем; «в разработке» — только если реально в плане и не на главных местах.
Язык — как у владельца магазина: короткие фразы о пользе, без жаргона и пафоса.
Цены тарифов не трогаем — только формулировки.
Легенда: **Было** → текущий текст, **Стало** → предлагаемый.
---
## Структурные предложения (нужно «ок»)
1. **Убрать выдуманные вертикали.** Страницы `/for-pharmacy`, `/for-cafe`, `/for-alcohol`,
`/for-clothing`, `/for-household` описывают функции, которых нет (серии/сроки, рецептурный
отпуск, модификаторы, акцизные марки/ЕГАИС, размерные сетки, гарантийные сроки). Предлагаю
**удалить эти 5 страниц** и ссылки на них в шапке/подвале. Оставить только `/for-grocery`
(там функции реальны — весы, весовой EAN-13). На главной вместо сетки «6 вертикалей» —
один блок «Продуктовый магазин» + строка «Подходит для любой небольшой розницы».
*(Альтернатива, если не удалять: заменить их содержимое на честное «общая розница» без
выдуманных функций. Но проще и честнее — удалить.)*
2. **Интеграции.** Блок логотипов (Kaspi Pay, Halyk, Jusan, Forte, ОФД РК, Kaspi Magazin,
Ozon, Wildberries) создаёт впечатление готовых интеграций — их нет. Предлагаю **убрать блок
логотипов** на главной и страницу `/integrations` (или оставить честный мини-блок:
«Переносим каталог из МойСклад. Онлайн-касса/ОФД и приём оплат картой — в планах»).
3. **Фискализация** везде формулируется честно: «Онлайн-касса (ОФД) и фискальные чеки —
в разработке», и не выносится в заголовки/подзаголовки как готовая функция.
4. **Кнопка «Скачать кассу»** остаётся неактивной с подписью «Скоро» (публичной загрузки нет).
---
## Главная (`/` index.astro)
### Hero
- **Было (подзаголовок):** «Касса с поддержкой торговых весов, импорт каталога одной кнопкой,
интеграция с Kaspi и ОФД РК. Бесплатно 90 дней без карты.»
- **Стало:** «Касса с торговыми весами, перенос каталога из вашей системы, учёт остатков и
прибыли в одном окне. Бесплатно 90 дней, без банковской карты.»
- Нижняя строка «от 5 000 ₸/мес» — оставить.
### Блок «3 выгоды»
1. **Было:** «Касса с весами из коробки … Поддержка штрихкодов, скидок, акций, лояльности.»
**Стало:** «Касса с весами из коробки. Подключите торговые весы — касса сама посчитает вес
и сумму. Без переходников и драйверов. Сканер штрихкодов, скидки, горячие клавиши.»
2. **Было:** «Импорт каталога за 1 клик … Поддерживаем Excel, CSV и API основных систем учёта.»
**Стало:** «Перенос каталога без ручного ввода. Загрузите товары, остатки и штрихкоды
файлом CSV (в том числе выгрузкой из 1С) или подтяните из МойСклад. Не нужно заводить
тысячи позиций руками.»
3. **90 дней бесплатно** — оставить как есть (правда).
### Блок «Касса» (та самая «светлая касса»)
- **Было (заголовок):** «Светлая касса, в которой приятно работать»
- **Стало:** «Касса, которая не тормозит и работает без интернета»
- **Было (текст):** «Продажа и оплата — за пару действий … Горячие клавиши для всей смены.»
**Стало:** «Пробить чек — несколько нажатий. Поиск по штрихкоду и названию, избранные
товары, скидки, оплата наличными и картой, расчёт сдачи. Всё на горячих клавишах.»
- **Было (список с ✓):** «Нативная поддержка торговых весов…», «Офлайн-режим…», «Фискальные
чеки ОФД РК, Kaspi Pay, программы лояльности».
**Стало (список ✓):**
- Запускается меньше чем за секунду, не тормозит на большом каталоге
- Работает без интернета — чеки сохраняются и уходят в облако, когда связь вернётся
- Торговые весы подключаются напрямую, без переходников и драйверов
*(убрали фискализацию/Kaspi Pay/лояльность — их в кассе нет)*
### Блок «Для кого» (вертикали)
- **Было:** «Для кого ALL MARKET — Шесть вертикалей. Свои фишки в каждой.» + 6 карточек с
выдуманными функциями.
- **Стало:** «Кому подходит» + одна карточка «Продуктовый магазин» (весовой товар, весы,
скоропорт, штрихкоды) и строка: «А ещё — хозтовары, канцелярия, пекарни и любая небольшая
розница: учёт, касса, остатки и отчёты работают одинаково.»
### Блок «Возможности» (6 модулей)
- **Было:** «Шесть модулей покрывают полный цикл работы магазина.» + модуль «Закупки …
(скользящее среднее)», «Клиенты и лояльность … (скоро)», «Продажи и касса … для Windows».
- **Стало (подзаголовок):** «Всё, что нужно магазину — в одном месте.»
- Товары и каталог: группы, штрихкоды, цены, остатки. Перенос каталога файлом или из МойСклад.
- Продажи и касса: касса с весами, сканером и печатью чека. Работает на Windows и Linux.
- Склад и приёмки: несколько складов, приёмка со сканером, инвентаризация, списание,
оприходование, перемещение.
- Закупки и себестоимость: приёмки от поставщиков, себестоимость считается автоматически
по приёмкам. *(убрали «скользящее среднее» как внутренний термин)*
- Контрагенты и скидки: база поставщиков и покупателей, скидки, акции. *(лояльность — в
расширенном режиме админки; из описания убираем обещание «в кассе»)*
- Отчёты: продажи, остатки, прибыль. Дашборд для кассира и владельца.
### Блок «Касса для Windows»
- **Было (заголовок/текст):** «Касса для Windows … принимает Kaspi Pay, печатает фискальные
чеки в ОФД РК.»
- **Стало (заголовок):** «Кассовая программа с поддержкой торговых весов»
**Текст:** «Устанавливается на Windows или Linux. Работает офлайн, синхронизируется с
админкой. Подключает торговые весы, сканер и чековый принтер без сторонних драйверов.»
Плашка на фото: «Касса для Windows и Linux · работает офлайн, поддерживает торговые весы».
Кнопка «Скачать установщик» — оставить неактивной, подпись «Скоро».
### Блок «Интеграции»
- **Было:** логотипы Kaspi Pay / Halyk / Jusan / Forte / ОФД РК / Kaspi Magazin / Ozon /
Wildberries + «Подключаем по запросу».
- **Стало:** убрать блок (см. структурное предложение №2). Либо честный мини-блок:
«Перенос каталога из МойСклад — уже сейчас. Онлайн-касса (ОФД), приём оплат картой и
маркетплейсы — в разработке.»
### Тарифы (на главной) — цены не меняем, только язык
- **Было:** «CRM / финансы / лояльность включены во все тарифы.» / «API + все интеграции» /
«Unlimited магазины / кассы» / «индивидуальный SLA» / «Расширенный API».
- **Стало:** «Учёт, касса, отчёты и поддержка — во всех тарифах, без доплат.» /
«Доступ к API» / «Без ограничения по числу магазинов и касс» / «индивидуальные условия» /
«Доступ к API». *(убрали CRM — модуля нет; SLA/Unlimited → по-русски)*
- Нижняя строка: «Никаких доплат за отчёты, импорт и поддержку. Всё включено в каждый тариф.»
### Соцпруф / кейсы
- **Было:** «Кейсы — Раздел в разработке. Здесь появятся истории магазинов…»
- **Стало:** убрать блок целиком (пустой раздел не нужен; вернём, когда появятся реальные отзывы).
### Финальный CTA
- **Было:** «Запустите магазин за 15 минут … Касса работает на следующий день.»
- **Стало:** «Начните за 15 минут» / «Регистрация — минута, перенос каталога — несколько минут.
Вести учёт и смотреть отчёты можно сразу в браузере.» *(не обещаем скачивание кассы «завтра»)*
---
## Касса (`/pos` pos.astro)
- **Title/description:** убрать «фискальные чеки ОФД РК, Kaspi Pay»; «Касса для Windows» →
«Касса для Windows и Linux».
- **Hero заголовок:** «Касса для Windows и Linux с поддержкой торговых весов».
Кнопка «Скачать кассу» — неактивна, «Скоро».
### Карточки «Что внутри» (features)
- Весы — **оставить**, «Нативная поддержка» → «Прямая поддержка торговых весов».
- Офлайн-режим — **оставить**.
- Сканеры штрихкодов — **оставить**, убрать «Datamatrix» (маркировку не разбираем):
«EAN-13, EAN-8, Code 128 — любой сканер, работающий как клавиатура.»
- Печать чеков — **переформулировать:** «Печать чека на чековом принтере. Подключается как
обычный принтер.» *(убрать «ОКП РК» — это смешивает печать с онлайн-ККМ)*
- Контроль кассиров — **переформулировать:** «Каждый кассир под своим логином. Роли и права,
открытие/закрытие смены, журнал операций.» *(убрать «инкассация/возврат только с
подтверждения администратора» — такого гейта нет; убрать «полный аудит-лог»)*
- Программы лояльности — **убрать карточку** (в кассе лояльности нет).
- «Соответствие требованиям РК / Регистрация чеков в ОФД / Налоговый кодекс» — **заменить**
честной карточкой: «Онлайн-касса и ОФД — в разработке. Пока касса печатает товарный чек;
фискализацию (ОФД) подключим — расскажем, когда будет готова.»
### Таблица «Поддерживаемое железо»
- Компьютер: «Windows 10/11 или Linux, 4 ГБ ОЗУ, несколько сотен МБ на диске» *(точный размер
уточнить после публикации; текущее «5 GB» и установщик «.msi ~80 МБ» — неверны)*.
- Весы / сканер / принтер / денежный ящик / дисплей покупателя — оставить (реально).
### «Установка за 5 минут» (steps)
- **Было:** «Скачайте установщик — Один файл .msi ~80 МБ», «Нажмите „Далее“ три раза».
- **Стало:** честно про формат и регистрацию устройства, и что загрузка скоро:
1. «Скачайте кассу» — «Архив для Windows или AppImage для Linux (появится скоро).»
2. «Распакуйте и запустите» — «Отдельная установка не нужна.»
3. «Подключите кассу к магазину» — «Введите ключ организации из админки, зарегистрируйте
устройство.»
4. «Подключите оборудование» — «Касса сама найдёт весы и сканер.»
5. «Откройте смену» — «И пробивайте первый чек.»
---
## Импорт (`/import` import.astro)
- **Было:** «Прямая интеграция через API для популярных систем учёта в Казахстане. Введите
API-токен — ALL MARKET подтянет…»
**Стало:** «Перенос из МойСклад. Введите токен МойСклад — ALL MARKET подтянет товары,
контрагентов, остатки и цены.» *(только МойСклад, не «популярные системы»)*
- **Было:** «Импорт через стандартную выгрузку 1С (XML/Excel).»
**Стало:** «Импорт из 1С: сохраните выгрузку в CSV и загрузите файлом.» *(у нас 1С-CSV, не XML/Excel)*
- **Было:** «Excel/CSV: экспортируйте каталог в .xlsx или .csv.»
**Стало:** «CSV: выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»)
и загрузите. Нужны колонки: название, штрихкод, цена — остальное по желанию.»
- Шаг «Скачайте установщик кассы для Windows» → «…для Windows или Linux (скоро)».
---
## О нас (`/about` about.astro)
- **Было:** «запустился в 2026 году как ответ на запрос рынка», «Команда основателей —
практики розницы и разработчики, которые три года изнутри наблюдали…», блок «Команда» с
«фото и био основателей».
- **Стало (коротко и правдиво, без выдуманной истории и команды):**
«ALL MARKET — программа учёта и касса для розничных магазинов Казахстана. Делаем простой
и честный инструмент: завести товары, пробивать чеки, видеть остатки и прибыль — без долгой
настройки и платных внедрений.
Что уже работает: каталог и остатки, касса с торговыми весами (Windows/Linux, офлайн),
приёмки и инвентаризация, отчёты по продажам и прибыли, перенос каталога из МойСклад и CSV.
Что в разработке: онлайн-касса (ОФД) и приём оплат картой, мобильное приложение, маркетплейсы.
Попробовать можно бесплатно 90 дней, без банковской карты.
Связаться: [контакты].»
*(убрать раздел «Команда» и фото-заглушки; «Самодостаточность» и прочие лозунги — убрать)*
---
## Тарифы (`/pricing` pricing.astro) — цены НЕ меняем
- **Было:** «Никаких скрытых доплат. CRM, финансы, лояльность — во всех тарифах.»
**Стало:** «Никаких скрытых доплат. Учёт, касса, отчёты и поддержка — во всех тарифах.»
- **Было:** «CRM, финансы, лояльность, импорт, поддержка — всё включено…»
**Стало:** «Касса, склад, отчёты, импорт и поддержка — всё включено в каждый тариф.»
- «Демо + индивидуальный SLA» → «Демо и индивидуальные условия».
- Прочие «CRM/SLA/Unlimited/триал» по тексту → «учёт/условия/без ограничений/бесплатный период».
---
## Для продуктового (`/for-grocery` for-grocery.astro)
- **Оставляем реальное:** «Касса принимает вес с торговых весов напрямую — сумма
пересчитывается сразу», «Внутренняя нумерация EAN-13 для весовых товаров, автогенерация
штрихкода при заведении» (нужно для весов/этикеток).
- **Убрать:** «Контроль сроков годности, уведомление за N дней, списание просрочки одним
кликом» — учёта сроков годности/партий нет (есть только причина списания «просрочка»).
Заменить на: «Списание порчи и просрочки — отдельным документом, с причиной.»
- **Убрать/перепроверить:** «Печать ценников и штрихкодов» — отдельного эндпоинта печати
ценников в коде не нашёл (весовой EAN-13 генерируется для этикеток на весах, но сам app
ценники не печатает). Если подтвердится, что печати нет — убрать строку.
---
## FAQ (`/` FAQ.tsx)
- **Было (что такое ALL MARKET):** «…Поддерживает все типы магазинов: продуктовые, аптеки,
общепит, алкомаркеты, одежду… Включает кассу для Windows с нативной поддержкой торговых
весов, интеграцию с ОФД РК, Kaspi Pay и казахстанскими банками.»
**Стало:** «ALL MARKET — программа учёта и касса для розничной торговли в Казахстане.
Подходит для продуктовых и небольшой розницы. Касса с торговыми весами работает на Windows
и Linux, в том числе офлайн. Онлайн-касса (ОФД) и приём оплат картой — в разработке.»
- Вопрос «Нужен ли компьютер с Windows» → добавить «или Linux».
- Офлайн-ответ — оставить (правда).
- **Было:** «Когда поддерживаете маркетплейсы (Kaspi Magazin … Q3 2026)…»
**Стало:** либо убрать вопрос, либо честно: «Маркетплейсы и интеграции с банками — в
дорожной карте, конкретных сроков пока не называем.»
---
## Шапка/подвал (Header.astro / Footer.astro)
- Убрать пункты меню вертикалей: Аптека, Кафе и общепит, Алкоголь, Одежда, Дом и быт
(оставить «Продуктовый магазин»).
- Убрать пункт «Интеграции» (если убираем страницу) — либо оставить, если делаем честный мини-блок.
- «Касса для Windows» в подвале → «Касса».
---
## Что НЕ трогаем
Цены тарифов, скриншоты (они уже честные), прод, shared-postgres, global.json, gateway, sklad.

View file

@ -0,0 +1,64 @@
# Честные тексты публичного сайта
Владелец 08.10: «„Светлая касса, в которой приятно работать“ — что за тупое выражение?»
Проблема шире фразы: на сайте есть (A) обещания того, чего нет, (B) корявый/внутренний язык.
## План / статус
1. [x] Реестр утверждений (таблица ниже) — каждая фраза о возможностях сверена с кодом/стендом.
2. [x] Тексты переписаны в черновике `docs/site-copy-draft.md`: только то, что есть; фискализация
честно («в разработке»); вертикали — предложено убрать 5 выдуманных, оставить продуктовый;
«О нас» — без выдуманной истории/команды.
3. [x] Стиль: язык владельца магазина, польза простыми словами, без жаргона (скользящее среднее,
нативно, SLA, вертикали, фишки) и пафоса («приятно работать»). Заголовок кассы: «Касса,
которая не тормозит и работает без интернета».
4. [x] Цифры — только подтверждённые замерами (запуск < 1 c; поиск по ШК — «мгновенно», без
цифры «14 мс», т.к. замер дал 36 мс). Цены тарифов не меняем, только язык.
5. [~] Черновик готов → `touch ~/.fm-watchdog/COPY-READY`, ЖДУ «ок»/правки Mac-Claude в tmux.
После «ок» — внести в .astro/.tsx, выложить на test.food-market.kz, скриншоты страниц.
## Что НЕ трогаем
Прод (food-market.kz), shared-postgres, global.json, gateway nginx, sklad. Цены тарифов.
## 1. Реестр утверждений (проверено по коду/стенду)
Легенда: ✅ есть · 🟡 частично · ❌ нет/заглушка.
| Утверждение на сайте | Статус | Факт по коду |
|---|---|---|
| Фискальные чеки ОФД РК / «регистрация чеков в ОФД» / «соответствие Налоговому кодексу» | ❌ | `IFiscalProvider`: default **None**; `WebkassaProvider`/`Kassa24Provider` помечены **skeleton/TODO**; рабочий только `MockFiscalProvider` (FiscalNumber=MOCK-…). Реальной фискализации нет. |
| Kaspi Pay (приём оплат / интеграция) | ❌ | Привязан к `Kassa24Provider` (skeleton). Контроллер сам пишет «(skeleton)». Интеграции нет. |
| ЕГАИС-ready (алкоголь) | ❌ | ЕГАИС — российская система, к РК не применима. В коде нет (0 совпадений). |
| Акцизные марки (алкоголь) | ❌ | Нет (0 совпадений). |
| Серии и сроки годности (аптека) | ❌ | У товара/остатка нет полей партии/срока. Есть только причина списания «просрочка». Учёта серий/сроков нет. |
| Модификаторы и комбо (кафе) | ❌ | Нет (0 совпадений). |
| Размерные сетки и цвета (одежда) | ❌ | Нет вариативных товаров/матрицы (0 совпадений). |
| Гарантийные сроки (дом и быт) | ❌ | Нет (0 совпадений). |
| Datamatrix / маркировка | ❌ | `BarcodeParser` разбирает только весовой EAN-13 (префикс 20–29). Datamatrix/маркировку не парсит. |
| CRM (во всех тарифах) | ❌ | Модуля CRM нет (0 совпадений). Есть справочник контрагентов. |
| «Касса для Windows» (как единственная ОС) | 🟡 | Avalonia-кросс: `deploy/pos-publish.sh` собирает **win-x64 (zip)** и **linux-x64 (AppImage/tar.gz)**. Windows **и** Linux. |
| Установщик «.msi ~80 МБ, „Далее“ три раза» | ❌ | Не .msi. Это zip (Windows) / AppImage/tar.gz (Linux) + регистрация устройства по ключу. |
| «Скачать установщик» (кнопка) | ❌ | На сайте кнопка отключена («в разработке»). Публичной загрузки пока нет. |
| Программы лояльности «прямо в окне кассы» | 🟡 | `LoyaltyPrograms/Cards` есть в **админке** (расширенный режим). В **кассе** (POS) лояльности нет (0 совпадений в pos). |
| Инкассация/возврат «только с подтверждения администратора» | ❌ | Инкассация/выплата есть (`WithdrawCash`), но гейта «подтверждение администратора» нет. |
| «Полный аудит-лог» | 🟡 | Журналирование есть (безопасность аккаунта, действия в админке). «Полный» — громко; формулируем как «журнал действий». |
| Импорт: «Excel, CSV и API основных систем» / «1С (XML/Excel)» / «API популярных систем» | 🟡 | Реально: импорт **CSV** (`import-csv`) и **1С-CSV** (`import/1c-csv`), импорт из **МойСклад** по API (`MoySkladImportController`). Прямого импорта .xlsx и «любых API» нет; Excel — только экспорт. |
| Печать чеков на ОКП-совместимом оборудовании | 🟡 | Печать чека есть (`Hardware/Printing.cs`). Но это не фискализация; «ОКП» смешивает печать и онлайн-ККМ. |
| Себестоимость «скользящее среднее» | ✅ | Есть (но на сайте — внутренний термин, переформулировать по-человечески). |
| Торговые весы без драйверов (RS-232/USB-COM) | ✅ | `Hardware/Scale.cs` + весовой EAN-13. Реально. |
| Весовые этикетки | ✅ | Shared `WeightedBarcode` + настройки орг. |
| Сканер-штрихкодов как HID-клавиатура | ✅ | Любой HID-сканер (EAN-13/EAN-8/Code128 — то, что сканер набирает как клавиатуру). |
| Офлайн-режим кассы | ✅ | Очередь офлайн-чеков + синхронизация (smoke: 5 чеков в очереди, idempotency-ключ). |
| Запуск кассы «< 1 с (прогретый)» | ✅ | Замер smoke: холодный старт процесс→логика **82 мс**, полная инициализация+сценарий **625 мс** (< 1 c). |
| «Пробитие по штрихкоду ~14 мс» | 🟡 | Замер smoke на dev-vm: поиск по штрихкоду **36,5 мс** (первый, холодный), по имени 1,8 мс. Пишем качественно «мгновенно», без точной цифры 14 мс. |
| Несколько складов, приёмка, инвентаризация, списание, оприходование, перемещение | ✅ | Все документы есть. |
| Отчёты: продажи, остатки, прибыль; дашборд | ✅ | Есть. |
| Простой/расширенный режим | ✅ | `Organization.IsAdvancedMode`. |
| 90 дней триал без карты, подписка от 5 000 ₸ | ✅ | По тарифам (цены не меняем). |
| «О нас»: «запустился в 2026…», «команда основателей три года наблюдали», раздел «Команда» | ❌ | Выдуманная история и команда. Переписать правдиво, без фото-заглушек. |
| Кейсы/соцпруф («истории магазинов») | ❌ | Заглушка. Убрать или честно «пока нет». |
| Банки Halyk/Jusan/Forte, маркетплейсы Ozon/Wildberries/Kaspi Magazin | ❌ | Готовых интеграций нет (логотипы как «планируем/по запросу» вводят в заблуждение). Убрать или честно переформулировать. |
## Журнал
- 08.10 — старт: план, сбор текстов сайта, проверка утверждений по коду.
- 08.10 — реестр утверждений (фискализация/Kaspi/лояльность/вертикали/импорт/касса/«О нас»);
замеры скорости кассы (smoke): холодный старт 82 мс, инициализация 625 мс, поиск по ШК 36 мс.