# Перенос магазина МойСклад → ALL MARKET (с историей) — прогресс Решение владельца 09.10: перенести ВСЁ из МойСклада с историей, перейти на ALL MARKET. Фискализации нет и в МойСкладе (не блокер), маркировка не используется. **Источник:** аккаунт МойСклад, орг **«FOOD MARKET»** (id `bb8f74d4-5eb6-11ef-0a80-106e00048af9`). Токен — `~/.food-market-secrets/moysklad.env` (ТОЛЬКО ЧТЕНИЕ; в МойСклад ничего не писать). Опыт API — `~/.fm-watchdog/ms-api-lessons.txt`; код-образцы — `~/ref/fm-server-moysklad`, `~/ref/sklad`. Существующий импортёр (справочники) — `src/food-market.infrastructure/Integrations/MoySklad/`. Легенда: [x] готово · [~] частично · [ ] не начато. ## План 1. [ ] Инвентаризация источника (скрипт) → `docs/migration-source-inventory.md`. 2. [ ] Мигратор MoySklad→ALL MARKET (Hangfire, идемпотентный по msId/externalId): справочники → документы в хронологии с номерами/датами(МСК→)/авторами/статусами/связями/комментариями; суммы из тиынов; прогресс + журнал ошибок. 3. [ ] Новая орг на стенде (имя = орг МойСклада), простой режим; Демо/«Магазин у дома» не трогать. 4. [ ] Сверка (авто) → `docs/migration-reconciliation.md`: остатки по товар×склад, долги контрагентов, остатки счетов/касс, выручка+чеки по месяцам, число документов по типам. 5. [ ] Дельта-досинхронизация (updated>= МСК + удалённые) до дня перехода. 6. [ ] Производительность/надёжность: замер, идемпотентность, продолжение после падения. 7. [ ] Runbook «день перехода» + откат. ## Ключевые факты API (из ms-api-lessons + проверки) - База `https://api.moysklad.ru/api/remap/1.2`, `Authorization: Bearer`, `Accept-Encoding: gzip` обязателен. - Время moment/фильтров — МОСКОВСКОЕ (UTC+3), формат `yyyy-MM-dd HH:mm:ss`. - Суммы — в ТИЫНАХ (÷100). Лимит 45 запросов/3с; таймаут ≥120с; expand только при limit≤100. - `report/stock/all` НЕ отдаёт нулевые остатки; номера документов повторяются по годам — ключ только id. ## Что НЕ трогаем Прод, shared-postgres, global.json, gateway nginx, sklad. В МойСклад — только чтение.