Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
Сверка всех процессов простого режима + справочников/кассы/мобильного/отчётов с
МойСкладом (API dev.moysklad.ru + support.moysklad.ru + школа торговли). Для каждого:
как в МойСкладе (ссылки) | как у нас (файл:строка) | расхождение | серьёзность |
слабые места МойСклада | предложение «как лучше» [НА РЕШЕНИЕ ВЛАДЕЛЬЦА].
Главные находки (🔴): себестоимость у нас скользящее среднее vs FIFO у МойСклада;
прибыль берёт COGS приближённо (Product.Cost), а не на момент продажи; инвентаризация
сама двигает остатки и статус «Проведено» без оприходования/списания. Также — какие
наши тесты закрепляют неправильное поведение и должны быть переписаны.
docs/moysklad-logic-audit.md — полный отчёт; .html — краткая версия для владельца.
Только отчёт, без правок кода.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
99 lines
9.5 KiB
HTML
99 lines
9.5 KiB
HTML
<!doctype html><html lang="ru"><head><meta charset="utf-8">
|
||
<title>Сверка с МойСкладом — кратко</title>
|
||
<style>
|
||
body{font:16px/1.6 system-ui,Segoe UI,Roboto;margin:0;background:#f6f8f7;color:#15241c}
|
||
.wrap{max-width:900px;margin:0 auto;padding:24px 18px}
|
||
h1{font-size:26px;margin:0 0 4px} .sub{color:#5f6f68;margin-bottom:20px}
|
||
h2{font-size:20px;margin:28px 0 10px;border-bottom:2px solid #16A34A;padding-bottom:6px;color:#0f1f17}
|
||
.card{background:#fff;border:1px solid #e3e8e6;border-radius:12px;padding:16px 18px;margin:12px 0;box-shadow:0 1px 3px #0000000d}
|
||
.big{font-size:17px}
|
||
table{border-collapse:collapse;width:100%;margin:8px 0;font-size:14.5px}
|
||
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eef2f1;vertical-align:top}
|
||
th{color:#5f6f68;font-weight:600}
|
||
.hi{color:#b4231f;font-weight:700} .mid{color:#b45309} .ok{color:#16A34A}
|
||
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}
|
||
.pill.red{background:#fde8e8;color:#b4231f} .pill.amber{background:#fef3c7;color:#b45309}
|
||
.note{background:#E8F7EE;border:1px solid #bfe6cd;border-radius:10px;padding:12px 14px;color:#12551f}
|
||
ol li,ul li{margin:4px 0}
|
||
.muted{color:#5f6f68;font-size:14px}
|
||
</style></head><body><div class="wrap">
|
||
|
||
<h1>Сверка нашей системы с МойСкладом</h1>
|
||
<div class="sub">Коротко и без технических терминов. Полная версия — <code>docs/moysklad-logic-audit.md</code>. 08.10.2026</div>
|
||
|
||
<div class="note big">
|
||
<b>Главный вывод.</b> Большинство процессов у нас работает похоже на МойСклад. Но есть
|
||
несколько мест, где логика отличается и это влияет на <b>остатки, прибыль и понятность отчётов</b>.
|
||
Самое заметное — инвентаризация (вы это и заметили) и способ расчёта себестоимости.
|
||
</div>
|
||
|
||
<h2>3 вещи, которые стоит поправить в первую очередь</h2>
|
||
|
||
<div class="card">
|
||
<div class="big"><span class="pill red">важно</span> 1. Инвентаризация</div>
|
||
<p><b>Сейчас:</b> инвентаризация сама меняет остатки и показывает «Проведено», но без документов
|
||
оприходования/списания — непонятно, откуда изменения.</p>
|
||
<p><b>Как в МойСкладе:</b> инвентаризация только считает (расчётное / фактическое / разница).
|
||
По её итогам нажимаете «Создать оприходование излишков» и «Создать списание недостачи» — вот
|
||
эти документы и меняют остатки, и они видны и связаны с инвентаризацией.</p>
|
||
<p class="muted">Переделка уже запланирована следующей задачей — план совпал с этой сверкой.</p>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="big"><span class="pill red">важно</span> 2. Себестоимость и прибыль</div>
|
||
<p><b>Сейчас:</b> себестоимость — «скользящее среднее»: при новой закупке пересчитывается одно
|
||
общее значение, и прибыль за прошлые периоды может «плыть» задним числом.</p>
|
||
<p><b>Как в МойСкладе:</b> себестоимость по <b>FIFO</b> — «первым пришёл, первым продан»; прибыль
|
||
считается точно по партиям и не меняется задним числом.</p>
|
||
<p class="muted">Это самый крупный по объёму блок. Можно сделать компромисс: среднее
|
||
по умолчанию (проще для маленького магазина), FIFO — как опция. <b>Нужно ваше решение.</b></p>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="big"><span class="pill amber">средне</span> 3. «Создать на основании» и связи документов</div>
|
||
<p><b>Сейчас:</b> документы слабо связаны между собой (не видно «на основании чего» создан документ).</p>
|
||
<p><b>Как в МойСкладе:</b> почти всё создаётся «на основании» (приёмка→возврат поставщику,
|
||
инвентаризация→оприходование/списание, продажа→возврат), и в каждом документе видно связи.</p>
|
||
</div>
|
||
|
||
<h2>Топ расхождений (влияют на остатки/деньги/отчёты)</h2>
|
||
<table>
|
||
<tr><th>Что</th><th>У нас</th><th>В МойСкладе</th><th></th></tr>
|
||
<tr><td>Себестоимость</td><td>скользящее среднее</td><td>FIFO по партиям</td><td><span class="hi">важно</span></td></tr>
|
||
<tr><td>Прибыль (себестоимость продажи)</td><td>приближённо, задним числом</td><td>точно, на момент продажи</td><td><span class="hi">важно</span></td></tr>
|
||
<tr><td>Инвентаризация</td><td>сама двигает остатки, «Проведено»</td><td>только считает → оприходование/списание</td><td><span class="hi">важно</span></td></tr>
|
||
<tr><td>Списание/перемещение: цена</td><td>переданная/средняя</td><td>по FIFO-партии</td><td><span class="hi">важно</span></td></tr>
|
||
<tr><td>Связи «на основании»</td><td>слабые</td><td>сквозные, видны</td><td><span class="mid">средне</span></td></tr>
|
||
<tr><td>Отмена проведения</td><td>неединообразно</td><td>штатная для всех документов</td><td><span class="mid">средне</span></td></tr>
|
||
<tr><td>Розничная смена</td><td>открытие вручную</td><td>автооткрытие первой продажей, ≤24ч</td><td><span class="mid">средне</span></td></tr>
|
||
<tr><td>Взаиморасчёты</td><td>долги считаются, но не единый реестр</td><td>единый реестр документ+оплата</td><td><span class="mid">средне</span></td></tr>
|
||
</table>
|
||
|
||
<h2>Где мы можем сделать ЛУЧШЕ, чем МойСклад (нужно ваше решение)</h2>
|
||
<ol>
|
||
<li><b>Инвентаризация в один клик</b> — «Применить результаты» сразу создаёт и проводит оба документа (у МойСклада — две отдельные кнопки).</li>
|
||
<li><b>Простой режим прячет лишнее</b> — оприходование/списание не отдельными пунктами, а только из инвентаризации/приёмки.</li>
|
||
<li><b>Себестоимость на выбор</b> — среднее (проще/быстрее) или FIFO (точнее).</li>
|
||
<li><b>Единый экран «Деньги»</b> вместо четырёх типов документов МойСклада (проще для маленькой розницы).</li>
|
||
<li><b>Возврат поставщику прямо из приёмки</b> с готовым списком товаров.</li>
|
||
<li><b>Касса не стопорит продажу</b> при нулевом остатке — мягкое предупреждение + быстрый приход.</li>
|
||
<li><b>Онбординг «первая приёмка за 2 минуты»</b> — у МойСклада старт тяжелее.</li>
|
||
<li><b>Весовые штрихкоды из коробки</b> с настройкой префиксов (у нас уже есть — довести).</li>
|
||
<li><b>Прибыль сразу на дашборде</b> простого режима — без захода в отчёты.</li>
|
||
<li><b>Понятные статусы по-русски</b> без слова «проведено» в спорных местах.</li>
|
||
</ol>
|
||
|
||
<h2>Что с тестами</h2>
|
||
<p>Часть наших тестов закрепляла <b>текущее (неправильное) поведение</b> как эталон — их нужно
|
||
переписать под логику МойСклада. В первую очередь: шаг 10 full-chain (инвентаризация),
|
||
unit-тесты инвентаризации и себестоимости, прибыль, mobile post/unpost инвентаризации.</p>
|
||
<p class="muted">Правило на будущее: сначала сверка с МойСкладом → потом реализация → потом тесты
|
||
под сверенное поведение (а не тесты под уже написанный код).</p>
|
||
|
||
<div class="note" style="margin-top:24px">
|
||
Это <b>только отчёт</b>. Исправления — отдельными задачами после вашего решения. По умолчанию
|
||
делаем «как в МойСкладе»; предложения «как лучше» применяем только с вашего согласия.
|
||
</div>
|
||
|
||
</div></body></html>
|