diff --git a/docs/migration-reconciliation.md b/docs/migration-reconciliation.md index 3062426..72d78ee 100644 --- a/docs/migration-reconciliation.md +++ b/docs/migration-reconciliation.md @@ -1,34 +1,30 @@ # Сверка переноса МойСклад → ALL MARKET -_Сгенерировано 2026-10-09 20:06:41._ +_Сгенерировано 2026-10-09 20:55:58._ ## 1. Число документов по типам | Тип | МойСклад | ALL MARKET | Δ | Статус | |---|---|---|---|---| -| Приёмки | 7132 | 7131 | -1 | ~ дельта | +| Приёмки | 7132 | 7132 | 0 | ✓ | | Возвраты поставщику | 550 | 550 | 0 | ✓ | | Оприходования | 72 | 72 | 0 | ✓ | | Списания | 3068 | 3068 | 0 | ✓ | -| Розничные продажи | 97778 | 97761 | -17 | ~ дельта | +| Розничные продажи | 97783 | 97783 | 0 | ✓ | | Розничные возвраты | 438 | 438 | 0 | ✓ | -_Доккаунты: Δ<0 — догоняется дельтой (живой аккаунт рос во время переноса); Δ>0 — разобрать._ +_Доккаунты: все сходятся ✓._ ## 2. Остатки (товар) -- Товаров с остатком в МойСкладе: **7583** -- Позиций (товар) сопоставлено по остатку: **30992** -- Расхождений: **1** (из них нет в каталоге переноса: **1**, в каталоге: **0**) +- Товаров с остатком в МойСкладе: **7592** +- Позиций (товар) сопоставлено по остатку: **30993** +- Расхождений: **0** (из них нет в каталоге переноса: **0**, в каталоге: **0**) -> **Объяснение расхождений.** Почти все — товары МойСклада с ДУБЛИРУЮЩИМ штрихкодом (в МС несколько карточек на один ШК, часто весовые/хлеб с «0…»). В ALL MARKET штрихкод уникален, поэтому такие карточки слиты в одну (`MergeByBarcode`), а msId «лишней» карточки в каталог не попал → её небольшой остаток не сопоставляется (нет аналога в нашей модели). Единичные расхождения по товарам, которые ЕСТЬ в каталоге — живой аккаунт (продажи во время сверки, догоняются дельтой). **Решение:** для чистого перехода устранить дубли ШК в МойСкладе (задать уникальные коды) ЛИБО принять слияние — суммарный остаток затронутых позиций мал. +> **Объяснение расхождений.** После фикса ревью карточки с дублем штрихкода переносятся КАЖДАЯ отдельно (уникальность ШК снята, Phase44; дубли видны в «Проверке данных» → dup-barcode), а остатки выровнены к снимку `report/stock/all` МойСклада (движения `Initial` «МС-выравнивание»). Поэтому расхождений по каталогу быть не должно. Оставшиеся единичные — ЖИВОЙ аккаунт (продажи между выравниванием и сверкой), догоняются дельтой; «нет в каталоге» — редкие товары, которых нет в выгрузке (архивные/служебные). Суммарный остаток затронутых позиций мал. -_Нет в каталоге переноса (дубль ШК в МойСкладе → слияние, нет аналога) (1):_ - -| MS товар id | МойСклад | ALL MARKET | Δ | -|---|---|---|---| -| 5b4e390a-f0fd-11ef-0a80-05e40016676a | 5 | 0 | -5 | +**Остатки сходятся полностью ✓** ## 3. Выручка и чеки по месяцам (розница, без возвратов) @@ -61,8 +57,8 @@ _Нет в каталоге переноса (дубль ШК в МойСкла | 2026-07 | 8,927,375.15 | 8,899,134.27 | 5388 | 5388 | +0 | | 2026-08 | 8,973,627.90 | 8,951,418.07 | 5157 | 5157 | +0 | | 2026-09 | 8,130,513.91 | 8,089,012.19 | 4856 | 4856 | +0 | -| 2026-10 | 2,287,366.52 | 2,310,208.83 | 1253 | 1236 | -17 ⚠дельта | -| **Итого** | **168,914,988.41** | **167,470,213.27** | **97778** | **97761** | **-17** | +| 2026-10 | 2,323,753.87 | 2,321,833.83 | 1258 | 1258 | +0 | +| **Итого** | **168,951,375.76** | **167,481,838.27** | **97783** | **97783** | **+0** | ## 4. Балансы счетов @@ -78,7 +74,7 @@ _Балансы сводятся «плугом» OpeningBalance = баланс ⚠ **Источник МойСклада `report/counterparty` недоступен выданным read-only токеном (403 — нет права на отчёт взаиморасчётов).** Долги в ALL MARKET формируются из перенесённых первичных документов (приёмки/возвраты + корректировки взаиморасчётов). Автоматическая сверка с итоговой цифрой МойСклада невозможна без расширения прав токена. -- Наш расчёт: поставщиков с открытыми приёмками, суммарный незакрытый долг по приёмкам: **137,159,739.17 ₸** (7131 приёмок проведено). +- Наш расчёт: поставщиков с открытыми приёмками, суммарный незакрытый долг по приёмкам: **137,193,278.17 ₸** (7132 приёмок проведено). - Корректировок взаиморасчётов в системе: **0**. **Рекомендация на день перехода:** сверить итоговые долги вручную в UI МойСклада (Контрагенты → взаиморасчёты) против отчёта ALL MARKET «Долги поставщикам», либо временно выдать токену право на `report/counterparty` для авто-сверки.