food-market/docs/migration-reconciliation.md
nns b1bdf5c228
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
fix(migration): не схлопывать разные карточки МойСклада по артикулу + актуализировать объяснение сверки
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 20:11:06 +05:00

7 KiB
Raw Blame History

Сверка переноса МойСклад → ALL MARKET

Сгенерировано 2026-10-09 20:06:41.

1. Число документов по типам

Тип МойСклад ALL MARKET Δ Статус
Приёмки 7132 7131 -1 ~ дельта
Возвраты поставщику 550 550 0 ✓
Оприходования 72 72 0 ✓
Списания 3068 3068 0 ✓
Розничные продажи 97778 97761 -17 ~ дельта
Розничные возвраты 438 438 0 ✓

Доккаунты: Δ<0 — догоняется дельтой (живой аккаунт рос во время переноса); Δ>0 — разобрать.

2. Остатки (товар)

  • Товаров с остатком в МойСкладе: 7583
  • Позиций (товар) сопоставлено по остатку: 30992
  • Расхождений: 1 (из них нет в каталоге переноса: 1, в каталоге: 0)

Объяснение расхождений. Почти все — товары МойСклада с ДУБЛИРУЮЩИМ штрихкодом (в МС несколько карточек на один ШК, часто весовые/хлеб с «0…»). В ALL MARKET штрихкод уникален, поэтому такие карточки слиты в одну (MergeByBarcode), а msId «лишней» карточки в каталог не попал → её небольшой остаток не сопоставляется (нет аналога в нашей модели). Единичные расхождения по товарам, которые ЕСТЬ в каталоге — живой аккаунт (продажи во время сверки, догоняются дельтой). Решение: для чистого перехода устранить дубли ШК в МойСкладе (задать уникальные коды) ЛИБО принять слияние — суммарный остаток затронутых позиций мал.

Нет в каталоге переноса (дубль ШК в МойСкладе → слияние, нет аналога) (1):

MS товар id МойСклад ALL MARKET Δ
5b4e390a-f0fd-11ef-0a80-05e40016676a 5 0 -5

3. Выручка и чеки по месяцам (розница, без возвратов)

Источник выручки — сумма документов retaildemand (sum÷100), перенесённая в ALL MARKET дословно. Колонка «МС (plotseries)» — отдельный отчёт продаж МойСклада с иной базой расчёта и приведена для справки. Выручка на уровне ДОКУМЕНТОВ совпадает точно (число чеков по месяцам = МойСклад, а сумма каждого чека перенесена как есть). Контрольная сверка Σ(retaildemand.sum) = Σ(наша Total) до копейки: 2025-02 → 4 803 093.41 = 4 803 093.41, 2026-01 → 7 659 726.36 = 7 659 726.36. Расхождение со столбцом plotseries — артефакт метрики отчёта, НЕ расхождение переноса.

Месяц (МСК) Выручка (док-ты) ₸ МС plotseries ₸ (справ.) МС чеков Наших чеков Δ чеков
2025-02 4,803,093.41 4,783,334.11 2593 2593 +0
2025-03 8,123,575.91 8,103,477.87 4524 4524 +0
2025-04 8,793,980.68 8,756,505.31 5292 5292 +0
2025-05 10,341,976.44 10,310,244.37 6200 6200 +0
2025-06 10,364,267.69 10,313,022.86 6321 6321 +0
2025-07 9,929,751.42 9,900,645.23 5974 5974 +0
2025-08 9,773,613.12 9,738,247.86 5915 5915 +0
2025-09 9,123,870.85 9,100,960.68 5398 5398 +0
2025-10 8,471,618.81 8,467,598.70 4969 4969 +0
2025-11 7,868,924.09 7,851,940.03 4370 4370 +0
2025-12 7,860,543.19 7,821,923.03 4100 4100 +0
2026-01 7,659,726.36 7,048,706.08 3699 3699 +0
2026-02 6,448,355.47 6,133,065.10 3281 3281 +0
2026-03 6,400,977.84 6,350,432.63 3505 3505 +0
2026-04 7,362,903.18 7,318,980.10 4432 4432 +0
2026-05 8,280,027.34 8,264,497.25 5224 5224 +0
2026-06 8,988,899.13 8,956,858.70 5327 5327 +0
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

4. Балансы счетов

Счёт МойСклад ₸ ALL MARKET ₸ Δ ₸ Статус
Наличные (касса) 52,976,121.27 52,976,121.27 +0.00 ✓
Безнал (расчётный счёт) -164,096,610.00 -164,096,610.00 +0.00 ✓
Итого -111,120,488.73 -111,120,488.73 +0.00 ✓

Балансы сводятся «плугом» OpeningBalance = баланс МойСклада − Σ перенесённых проводок (движения смен/розничная наличность до перехода не материализуются; плуг учитывает их как начальный остаток).

5. Долги контрагентов (взаиморасчёты)

⚠ Источник МойСклада report/counterparty недоступен выданным read-only токеном (403 — нет права на отчёт взаиморасчётов). Долги в ALL MARKET формируются из перенесённых первичных документов (приёмки/возвраты + корректировки взаиморасчётов). Автоматическая сверка с итоговой цифрой МойСклада невозможна без расширения прав токена.

  • Наш расчёт: поставщиков с открытыми приёмками, суммарный незакрытый долг по приёмкам: 137,159,739.17 ₸ (7131 приёмок проведено).
  • Корректировок взаиморасчётов в системе: 0.

Рекомендация на день перехода: сверить итоговые долги вручную в UI МойСклада (Контрагенты → взаиморасчёты) против отчёта ALL MARKET «Долги поставщикам», либо временно выдать токену право на report/counterparty для авто-сверки.