Product import: from file to usable stockИмпорт товаров: от файла до рабочего склада
An import is complete when the cashier and warehouse employee can identify the same item, not when a file upload succeeds. Before migration, distinguish data that defines a product, describes a supplier and records stock at a particular time. These are different entities even when the existing spreadsheet puts them all in one row.Импорт заканчивается не сообщением «файл загружен», а каталогом, в котором кассир и кладовщик находят одну и ту же позицию. До переноса определите, какие данные создают товар, какие описывают поставщика, а какие отражают остаток на определённую дату. Это разные сущности, даже если сегодня они записаны в одной строке электронной таблицы.

Choose a stable identifierВыбрать постоянный идентификатор
The catalog owner chooses the key that matches rows to products, such as an internal code or another stable identifier. A name alone is insufficient when sizes, colors or packs share a label. Preserve leading zeros and check that the spreadsheet has not converted identifiers into numbers. A barcode, supplier code and internal SKU may identify the same product in different contexts, but each needs a clearly defined field.Владелец каталога выбирает ключ сопоставления строк с товарами: внутренний код или другой устойчивый идентификатор. Название не подходит как единственный ключ, если одинаковые наименования встречаются у разных размеров, цветов или упаковок. Сохраните ведущие нули в кодах и проверьте, что таблица не превратила их в числа. Штрихкод, код поставщика и внутренний артикул могут относиться к одной позиции, но должны иметь отдельные понятные поля.
For every column, document its purpose, whether it is required and allowed values. A category supports discovery; a supplier identifies a purchasing source; neither replaces product identity. Decide whether missing reference entries will be created or their rows rejected for clarification. A blank can mean unknown, leave unchanged or clear the field, and the import must distinguish those intentions. Verify the behavior in advance using a copy of a small data set.Для каждой колонки запишите назначение, обязательность и допустимые значения. Категория помогает искать товар; поставщик описывает источник закупки; ни то ни другое не заменяет идентичность позиции. Отдельно решите, создавать ли отсутствующие справочники или отклонять такие строки до уточнения. Пустое значение может означать «не известно», «не менять» или «очистить» — импорт должен различать эти намерения. Проверьте поведение заранее на копии небольшого набора данных.
Align units and cost sourcesСогласовать единицы и цены
Purchasing packs and stock units often differ. State the conversion and its direction: how many stock units each supplier pack contains. A case price must not enter the per-item cost field. Record the currency and source of reference purchasing cost; different currencies require an explicit conversion policy. If one supplier changes its pack size, establish whether that conversion belongs to the product itself or only to that supplier’s offer.Закупочная упаковка и складская единица часто различаются. Укажите коэффициент пересчёта и направление: сколько единиц хранения содержится в одной упаковке поставщика. Цена коробки не должна попасть в поле цены штуки. Зафиксируйте валюту и источник справочной закупочной цены; разные валюты нельзя смешивать без согласованного преобразования. Если коэффициент меняется у конкретного поставщика, уточните, относится ли он к товару вообще или только к его предложению.
In a hypothetical example, 9 cases holding 6 units each become 9 × 6 = 54 stock units. If a case costs 30, reference unit cost is 30 / 6 = 5. Preserve the source unit or a reference to the conversion rule so a reviewer can explain the result. If pack contents are unknown, defer the row instead of assuming a conversion of one. An arithmetically successful import can otherwise create an incorrect quantity and misleading value.Учебный пример: остаток 9 коробок по 6 штук переводится в 9 × 6 = 54 штуки. Если цена коробки равна 30, справочная цена штуки равна 30 / 6 = 5. Строка должна сохранить исходную единицу или ссылку на правило пересчёта, чтобы проверяющий объяснил результат. Если содержимое коробки неизвестно, строку откладывают, а не принимают коэффициент равным единице. Иначе арифметически успешный импорт создаст неверное количество и ложную стоимость.
Separate catalog from opening stockОтделить каталог от начального остатка
A product can exist in the catalog without opening stock. Attach quantities to a specific location and cutoff rather than only to the product card. The responsible lead agrees which sales, receipts and transfers belong before that point and which will enter the new history separately. If operations continue while the file is prepared, establish how intervening movements will be captured. Otherwise yesterday’s accurate quantity can be wrong before the first working day.Товар может существовать в каталоге без начального остатка. Количество привязывают к конкретной точке и моменту отсечения, а не просто к карточке товара. Ответственный согласует, какие продажи, поступления и перемещения происходят до этого момента, а какие попадут в новую историю отдельно. Если команда продолжает работать во время подготовки файла, нужен способ учесть промежуточные движения. Иначе правильный вчерашний остаток станет неверным ещё до первого рабочего дня.
Do not collapse physical presence and selling availability into one number. Reserved, disputed or damaged goods may need distinct states. Opening stock requires an understandable basis, such as a count, a confirmed export or another agreed record. An undated source is not evidence of current verification. Assign someone to resolve differences between the file and physical goods, keeping disputed rows outside the accepted set until a decision is recorded.Не объединяйте физическое наличие и доступность для продажи в одно число. Зарезервированный, спорный или повреждённый товар может требовать отдельного состояния. Начальные остатки должны иметь понятное основание: пересчёт, подтверждённую выгрузку или другую согласованную запись. Источник с неизвестной датой нельзя выдавать за актуальную проверку. Назначьте сотрудника, который разрешит расхождения между файлом и фактическим наличием, и сохраните спорные строки вне утверждённого набора до решения.
Check partial results and retriesПроверить частичный результат и повтор
Before execution, preserve the source file, field mapping and import identifier. The trial set should contain a normal item, a variant, a new category, an unknown unit and a duplicate code. Report created, updated, skipped and rejected rows with their reasons. A price error must not silently create another product instead of updating the existing one. The reviewer compares each row with its intended action rather than checking only the final record count.Перед выполнением сохраните исходный файл, карту полей и идентификатор загрузки. Пробный набор должен содержать обычную позицию, вариант, новую категорию, неизвестную единицу и дублирующий код. Результат описывают числами созданных, обновлённых, пропущенных и отклонённых строк с причинами. Строка с ошибкой цены не должна незаметно создать вторую карточку вместо обновления первой. Проверяющий сопоставляет итог с ожидаемым действием по каждой строке, а не только с количеством записей.
After a connection interruption, establish which rows were accepted before retrying. Replaying the whole file is safe only with a verified matching rule and understood stock behavior. Reimporting an opening quantity might replace it, add to it or create another movement, with very different consequences. Check recovery in advance as well: restoring product cards does not necessarily reverse linked movements. Do not promise a simple rollback until that scenario has been demonstrated in the chosen configuration.После обрыва соединения сначала выясните, какие строки уже приняты. Повтор всего файла безопасен только при проверенном правиле сопоставления и понятном поведении остатков. Повторный импорт начального количества может заменить значение, прибавить его или создать отдельное движение — это принципиально разные результаты. Способ отмены тоже проверяют заранее: восстановление карточек не всегда отменяет связанные движения. Не обещайте команде простой откат, пока конкретный сценарий не показан на выбранной конфигурации.
Accept the result through everyday workПринять результат в рабочих действиях
For SABSUS, verify the current import format, required fields, update restrictions and available error report. Do not copy column names from an old example into a production file without checking them. Prepare a small set representing your actual product variations and ask to see the result. Check SKU search, sales and purchasing units, location assignment and reference cost. Discuss replenishment minimums after the starting quantities have been confirmed.Для SABSUS уточните текущий формат импорта, обязательные поля, ограничения обновления и доступный отчёт об ошибках. Не переносите названия колонок из случайного старого примера в рабочий файл без сверки. Подготовьте небольшой набор реальных товарных особенностей и попросите показать результат на нём. Проверяйте поиск по артикулу, единицу в продаже и закупке, принадлежность точке и справочную цену. Настройки минимального остатка обсуждают после подтверждения исходных количеств.
Acceptance includes a cashier finding a product, a warehouse employee checking its stock and a purchasing owner explaining its cost source. Sample large quantities, fractional units and uncommon variants. Preserve the accepted file and deferred rows with named correction owners. After launch, correct newly discovered errors through an understandable change history rather than repeatedly replacing the entire catalog. The result should support real work and explain differences without forcing staff back into scattered source spreadsheets.Приёмка включает поиск товара кассиром, просмотр остатка кладовщиком и объяснение происхождения цены ответственным за закупки. Выборочно проверьте крупные количества, дробные единицы и редкие варианты. Сохраните утверждённый файл и перечень отложенных строк с владельцами исправлений. После запуска исправляйте обнаруженные ошибки через понятный журнал изменений, а не постоянную замену всего каталога. Успешный результат позволяет команде продолжать реальные операции и объяснять расхождения без возвращения к разрозненным исходным таблицам.
Opening inventoryНачальные остатки · Inventory and productsСклад и товары
Quick answersКороткие ответы
Can the product name be the matching key?Можно использовать название как ключ?
Only if it is genuinely unique and stable. Variants and renaming usually require a separate persistent code.Только если оно действительно уникально и устойчиво. Обычно варианты и переименования требуют отдельного постоянного кода.
What if pack size is unknown?Что делать с неизвестной упаковкой?
Defer the row until its unit and conversion are confirmed rather than silently inserting an assumed value.Отложить строку до подтверждения единицы и коэффициента; не подставлять молча произвольное значение.
Can the file be retried after failure?Можно повторить файл после сбоя?
First inspect accepted rows and verify replay behavior, especially for opening quantities.Сначала проверьте принятые строки и поведение повторной загрузки, особенно для начального количества.
