О системах планирования ресурсов предприятия Scala, iScala
“ Иногда мы вынуждены пойти на такой шаг, как отрицательное сальдо на складе. Обычно в пользу такого решения выступает непрерывный процесс расхода, когда оформление прихода по какой-то причине может запаздывать, а процесс отгрузки не должен при этом останавливаться. Scala/iScala при следующем приходе сама корректирует отрицательную партию, так что подобные действия не вносят каких-либо отрицательных последствий в учёт. Но есть нюансы... Надеюсь, конкретный пример поможет вам разобраться, как это работает
  • Главная
    • О проекте
      • Разъяснение о проекте и его участниках
      • Заявление / Memorandum
    • Новости проекта
    • Список опубликованных материалов основного раздела
    • Информация, перенесённая из старых форумов
    • Подписаться на новостную рассылку
  • Наши услуги
  • Статьи
    • Статьи
    • Избранное
    • Мысли вслух
  • Процедуры
  • Доходчиво о сложном
    • Обучение
    • Как сделать?
    • iScala «для чайников»
    • Оч.умелые ручки
  • Структура таблиц
    • Scala 5.1 SR13
    • iScala 2.2 HF 2.3318
    • Tables structure changes history from iScala 2.2 SR2 to iScala 3.0 FSP4
    • Epicor iScala 2.3 — 2.03.3363
    • Epicor iScala 2.3 SR1
    • Epicor iScala 2.3 SR2
    • Epicor iScala 2.3 SR3
    • Epicor iScala 3.00 FSP 2 — 3.00.02254
    • Epicor iScala 3.0 FSP4 — 3.0.4267
    • Изменение структуры таблиц iScala 3.1 по сравнению с iScala 3.0 FSP4 / Table structure changes between iScala 3.0 FSP4 and iScala 3.1
    • Epicor iScala 3.1 — 3.1.0511
    • Epicor iScala 3.2 — 3.2.0317
    • Epicor iScala 3.3 — 3.3.0419
    • Epicor iScala 3.4 — 3.4.0399
    • Epicor iScala 3.5 — 3.5.0.0429
    • Изменение полей в таблицах БД iScala 3.4 по сравнению с iScala 3.2 / Difference between DB structure of iScala 3.4 and iScala 3.2
    • Изменение полей в таблицах БД iScala 3.5 по сравнению с iScala 2.2 / Difference between DB structure of iScala 3.5 and iScala 2.2
  • Материалы по модулям iScala
    • Главная Книга
    • Основные Средства
    • Книга Закупок
    • Книга Продаж
    • Заказы на Закупку
      • Требования
    • Заказы на Продажу
    • Управление Запасами
    • Установка, Администрирование
      • Настройка определений документов MSRS
    • Заработная плата
    • Структура базы данных
    • Отчётность SSRS
    • Отчётность AFR
    • Примеры отчётов
    • Примеры отчётов AFR
    • Интеграция с другими системами
    • Epicor Service Connect
  • English
  • Контакты
  • Поиск
Главная  »»»  Управление Запасами  »»»  Отрицательное сальдо на складе, когда допустимо и какой путь оптимальнее всего

Отрицательное сальдо на складе, когда допустимо и какой путь оптимальнее всего

07.05.2025 Автор Алексей Васильев

Иногда мы вынуждены пойти на такой шаг, как отрицательное сальдо на складе. Это, конечно, очень трудно себе представить, как на полке лежит, например, минус 7 пачек чая. То ли это такая маленькая чёрная дыра, в которую кладёшь пачку чая, а она тут же исчезает, то ли это какая-то антиматерия и при соприкосновении с положительным количеством товара они взаимно уничтожаются (только без каких-то страшных последствий) 🙂
Чёрная дыра на складе
Обычно в пользу такого решения выступает непрерывный процесс расхода, когда оформление прихода по какой-то причине может запаздывать, а процесс отгрузки не должен при этом останавливаться. Scala/iScala при следующем приходе сама корректирует отрицательную партию, так что подобные действия не вносят каких-либо отрицательных последствий в учёт. Но есть нюансы. Давайте на конкретном примере рассмотрим возможные последствия отрицательных партий, вызванных разными типами расхода.

Дано:

склад 01 — склад закупки/производства. Здесь формируется себестоимость закупки или производства с учётом дополнительных затрат.

склад 02 — склад продажи. Сюда запасы перемещаются после того, как на складе 01 сформировалась правильная себестоимость.

Для тестового примера вводятся 2 позиции запасов с разрешённым отрицательным сальдо:
NEG-TRANSFER — Test Negative Balance from Transfer Transaction — с помощью этой позиции запаса мы будем тестировать сценарий отрицательной партии, созданной в результате перемещения «в минус»

NEG-ISSUE — Test Negative Balance from Issue Transaction — с помощью этой позиции запаса мы будем тестировать сценарий отрицательной партии, созданной в результате продажи «в минус»

Сценарий:

На складе 01 вводится приход обеих позиций запаса в количестве 600 единиц по цене 10 за единицу

Затем одну из них мы перемещаем на склад 02 в количестве 1000 единиц (остаётся на складе 01 минус 400), а вторую в количестве 600 единиц (на складе остаётся 0 единиц)

После этого продаём со склада 02 обе позиции в равных количествах, в один день 100 единиц, другой — 200, третий — 400, четвёртый — 150

Далее вводим приход на 01 склад по 500 единиц каждой позиции, но уже по цене 20 за единицу и перемещение на склад 02 полного остатка, так, чтобы на складе 01 количества обеих позиций осталось равным нулю.

А теперь посмотрим что за проводки создались в Скале:

[Test] Test Company 2025                             * *  Stock Transaction List  * *                              05052025 23:33:16 Page   1
                                                         01     - Main Warehouse
Company T4 Fin.Year 25=====================================================================================================/iScala/SC0061/3.4
Stock Code-- Description--------------                     Purchases/Sales-----------------------------  Balance-----------------------------
Date-- Wareh TT CT Batch Number Batch ID---- Bt Order----- Amount------------ Qty----------  Price/Ea--  Qty---------   Amount--- Price/EA---
=============================================================================================================================================
NEG-ISSUE    Test Negative Balance
             from Issue Transaction
010425 01    00    000000018186 000000018186 00 RECEIPT1             6000.00       600.000       10.00       600.000     6000.00     10.0000
150425 01    04    000000018186 000000018186 00 TRANSFER1            6000.00-      600.000-      10.00         0.000        0.00      0.0000
300425 01    00    000000018191 000000018191 00 RECEIPT2            10000.00       500.000       20.00       500.000    10000.00     20.0000
300425 01    04    000000018191 000000018191 00 TRANSFER2           10000.00-      500.000-      20.00         0.000        0.00      0.0000
                                                                                                         ------------  ---------- -----------
                                                                                       Sub Total               0.000        0.00      0.0000
                                                                                                                     Stock Value:     0.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NEG-TRANSFER Test Negative Balance
             from Transfer Transaction
010425 01    00    000000018187 000000018187 00 RECEIPT1             6000.00       600.000       10.00       600.000     6000.00     10.0000
150425 01    04    000000018187 000000018187 00 TRANSFER1            6000.00-      600.000-      10.00         0.000        0.00      0.0000
150425 01    04    ******000001 ******000001 00 TRANSFER1            4000.00-      400.000-      10.00       400.000-    4000.00-    10.0000
300425 01    00    000000018192 000000018192 00 RECEIPT2            10000.00       500.000       20.00       100.000     6000.00     60.0000
300425 01    01    ******000001 ******000001 00 TRANSFER1            4000.00       400.000       10.00       500.000    10000.00     20.0000
300425 01    01    000000018192 000000018192 00 TRANSFER1            8000.00-      400.000-      20.00       100.000     2000.00     20.0000
300425 01    04    000000018192 000000018192 00 TRANSFER2            2000.00-      100.000-      20.00         0.000        0.00      0.0000
                                                                                                         ------------  ---------- -----------
                                                                                       Sub Total               0.000        0.00      0.0000
                                                                                                                     Stock Value:     0.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  Total for Warehouse          0.000        0.00      0.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

[Test] Test Company 2025                             * *  Stock Transaction List  * *                              05052025 23:33:16 Page   2
                                                        02     - Test Warehouse 02
Company T4 Fin.Year 25=====================================================================================================/iScala/SC0061/3.4
Stock Code-- Description--------------                     Purchases/Sales-----------------------------  Balance-----------------------------
Date-- Wareh TT CT Batch Number Batch ID---- Bt Order----- Amount------------ Qty----------  Price/Ea--  Qty---------   Amount--- Price/EA---
=============================================================================================================================================
NEG-ISSUE    Test Negative Balance
             from Issue Transaction
150425 02    04    000000018186 000000018188 00 TRANSFER1            6000.00       600.000       10.00       600.000     6000.00     10.0000
200425 02    01    000000018186 000000018188 00 ISSUE1               1000.00-      100.000-      10.00       500.000     5000.00     10.0000
210425 02    01    000000018186 000000018188 00 ISSUE2               2000.00-      200.000-      10.00       300.000     3000.00     10.0000
220425 02    01    000000018186 000000018188 00 ISSUE3               3000.00-      300.000-      10.00         0.000        0.00      0.0000
220425 02    01    ******000001 ******000001 00 ISSUE3               1000.00-      100.000-      10.00       100.000-    1000.00-    10.0000
230425 02    01    ******000002 ******000002 00 ISSUE4               1500.00-      150.000-      10.00       250.000-    2500.00-    10.0000
300425 02    04    000000018191 000000018193 00 TRANSFER2           10000.00       500.000       20.00       250.000     7500.00     30.0000
300425 02    01    ******000001 ******000001 00 ISSUE3               1000.00       100.000       10.00       350.000     8500.00     24.2857
300425 02    01    000000018191 000000018193 00 ISSUE3               2000.00-      100.000-      20.00       250.000     6500.00     26.0000
300425 02    01    ******000002 ******000002 00 ISSUE4               1500.00       150.000       10.00       400.000     8000.00     20.0000
300425 02    01    000000018191 000000018193 00 ISSUE4               3000.00-      150.000-      20.00       250.000     5000.00     20.0000
                                                                                                         ------------  ---------- -----------
                                                                                       Sub Total             250.000     5000.00     20.0000
                                                                                                                     Stock Value:    20.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NEG-TRANSFER Test Negative Balance
             from Transfer Transaction
150425 02    04    000000018187 000000018189 00 TRANSFER1            6000.00       600.000       10.00       600.000     6000.00     10.0000
150425 02    04    000000018190 000000018190 00 TRANSFER1            4000.00       400.000       10.00      1000.000    10000.00     10.0000
200425 02    01    000000018187 000000018189 00 ISSUE1               1000.00-      100.000-      10.00       900.000     9000.00     10.0000
210425 02    01    000000018187 000000018189 00 ISSUE2               2000.00-      200.000-      10.00       700.000     7000.00     10.0000
220425 02    01    000000018187 000000018189 00 ISSUE3               3000.00-      300.000-      10.00       400.000     4000.00     10.0000
220425 02    01    000000018190 000000018190 00 ISSUE3               1000.00-      100.000-      10.00       300.000     3000.00     10.0000
230425 02    01    000000018190 000000018190 00 ISSUE4               1500.00-      150.000-      10.00       150.000     1500.00     10.0000
300425 02    04    000000018192 000000018194 00 TRANSFER2            2000.00       100.000       20.00       250.000     3500.00     14.0000
                                                                                                         ------------  ---------- -----------
                                                                                       Sub Total             250.000     3500.00     14.0000
                                                                                                                     Stock Value:    14.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  Total for Warehouse        500.000     8500.00     17.0000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Сначала посмотрим как выглядит движение на складе 01:

Для позиции NEG-ISSUE ничего необычного — приход 600 по 10, перемещение, приход 500 по 20 и перемещение, на складе 0

Для позиции NEG-TRANSFER при перемещении «в минус» перемещаемые 1000 единиц разделились на 600 из реальной партии и 400 из отрицательной партии ******000001 (номера отрицательных партий всегда начинаются на ******).

Когда после этого мы делаем приход 500 единиц по цене 20 за единицу, iScala делает проводку прихода и вслед за ней возвращает отрицательную партию ******000001 (она была по цене 10 за единицу) и делает расход из реальной, только что оприходованной партии 000000018192 по цене 20 за единицу.

Далее идёт перемещение оставшихся 100 единиц по цене 20 за единицу — ничего необычного.

Теперь посмотрим, что произошло на складе 02 (складе продажи).

Начнём с позиции NEG-TRANSFER. Как можно видеть, здесь нет никаких отрицательных партий. Всё как обычно. Приход (по перемещению), расход (обычный, не в минус), повторный приход (по перемещению). Если сложить отдельные проводки расхода, то видно, что все они по цене (себестоимости) 10 за единицу. То есть никаких корректировок себестоимости продаж не произошло. Иное дело с позицией запаса NEG-ISSUE. Здесь мы видим 2 отрицательные партии — ******000001 и ******000002. Одна 100 единиц (400 минус имевшийся на складе остаток в 300 единиц), другая — 150. Когда мы сделали перемещение новой партии в количестве 500 единиц по цене 20 за единицу, iScala помимо проводки по перемещению сделала сторно обеих отрицательных партий на общее количество 250 единиц (напомню, они были по цене 10 за единицу) и расход из новой партии также двумя отдельными проводками в 100 и 150 единиц, но уже по цене 20 за единицу. Таким образом, если сложить проводки расхода, то фактически мы получим, что 600 единиц были проданы с себестоимостью 10 за единицу, а 250 единиц с себестоимостью 20 за единицу.

Вывод: на мой взгляд, контролировать следует именно себестоимость продаж (или иных видов расхода). Именно поэтому допустимо иметь отрицательное сальдо при продажах и ни в коем случае не попускать отрицательное сальдо, образующееся в результате перемещения «в минус».

Для знатоков телевизионной рекламы: «Вот если бы был тогда ВТВ…» 🙂 🙂 🙂

Если бы iScala выполняла «каскадную» корректировку при сторно отрицательной партии, образовавшейся при перемещении, когда была бы сторнирована не только партия на складе 01, но и соответствующая партия на складе 02, тогда другое дело. Но она для Скалы не является отрицательной партией, поэтому и никакой каскадной корректировки не происходит.

Надеюсь, это конкретный пример поможет вам разобраться, как это работает

Рубрика: Управление Запасами Метки: партия
VK Telegram Про канал в WhatsApp

Copyright © 2025 О системах планирования ресурсов предприятия Scala, iScala.

Gammapolis WordPress Theme by ERP & Business Consulting

Прокрутка вверх