Метод LIFO
Метод LIFO (от англ. Last In — First Out, «последним пришёл — первым ушёл») — это способ организации и обработки данных, при котором элемент, добавленный последним, извлекается первым. В более широком смысле термин применяется для обозначения принципа учёта товарно-материальных ценностей (ТМЦ) в бухгалтерии и финансовом менеджменте, а также в управлении складскими запасами. Метод LIFO противопоставляется методу FIFO (First In — First Out) и основан на предположении, что запасы, поступившие последними, используются или продаются в первую очередь.
История и происхождение
Концепция LIFO возникла в сфере бухгалтерского учёта в США в начале XX века. В 1930-х годах, в период Великой депрессии, компании столкнулись с ростом налогового бремени из-за инфляции. Использование LIFO позволяло списывать на себестоимость более дорогие (последние по времени) запасы, тем самым уменьшая налогооблагаемую прибыль. В 1939 году метод был официально признан Налоговым управлением США (IRS) для целей налогообложения.
В компьютерных науках принцип LIFO стал фундаментальным для организации стековой памяти (stack). Стек, как структура данных, работающая по принципу LIFO, был описан ещё в трудах Алана Тьюринга и использовался в ранних вычислительных машинах для управления подпрограммами и прерываниями.
LIFO в бухгалтерском учёте
В финансовом учёте метод LIFO применяется для оценки себестоимости проданных товаров (COGS) и стоимости остатков запасов на конец периода. Суть метода заключается в том, что при выбытии запасов (продаже или передаче в производство) их стоимость определяется по цене последней по времени закупки.
Принцип работы
Предположим, компания закупила три партии товара:
- Партия 1: 100 единиц по 10 руб.
- Партия 2: 100 единиц по 12 руб.
- Партия 3: 100 единиц по 15 руб.
Если продано 150 единиц, то по методу LIFO сначала списывается вся партия 3 (100 единиц по 15 руб.), а затем 50 единиц из партии 2 (по 12 руб.). Себестоимость проданных товаров составит: 100 × 15 + 50 × 12 = 2100 руб. Остаток на складе: 50 единиц из партии 2 (по 12 руб.) и вся партия 1 (100 единиц по 10 руб.), всего 150 единиц на сумму 1600 руб.
Преимущества и недостатки
Преимущества:
- В условиях инфляции LIFO позволяет снизить налогооблагаемую прибыль, так как себестоимость продаж оказывается выше.
- Более точное отражение текущих рыночных цен в себестоимости проданных товаров.
Недостатки:
- Искажение стоимости остатков запасов в балансе — они оцениваются по старым, часто заниженным ценам.
- Сложность администрирования и необходимость ведения подробного учёта по партиям.
- Неприменимость в некоторых юрисдикциях (например, в России метод LIFO запрещён для целей бухгалтерского учёта с 2008 года).
Регулирование в России
В Российской Федерации метод LIFO не применяется с 1 января 2008 года в соответствии с Приказом Минфина РФ от 26 марта 2007 г. № 26н «О внесении изменений в нормативные правовые акты по бухгалтерскому учёту». Это связано с переходом на Международные стандарты финансовой отчётности (МСФО), которые также не допускают использования LIFO с 2005 года. В налоговом учёте России метод LIFO также не используется.
LIFO в информатике
В программировании и компьютерных науках LIFO является основным принципом работы структуры данных «стек» (stack). Стек — это упорядоченный набор элементов, в котором добавление (push) и удаление (pop) элементов возможны только с одного конца, называемого вершиной стека.
Реализация стека
Стек может быть реализован на основе массива или связного списка. Основные операции:
- Push — добавление элемента на вершину стека.
- Pop — удаление элемента с вершины стека и возврат его значения.
- Peek (или Top) — получение значения элемента на вершине без его удаления.
- IsEmpty — проверка, пуст ли стек.
Применение стеков
Стеки широко используются в различных областях вычислительной техники:
- Управление вызовами функций (call stack) — каждый вызов функции создаёт новый кадр стека (stack frame), содержащий локальные переменные, параметры и адрес возврата. При завершении функции кадр удаляется.
- Обработка рекурсивных алгоритмов — стек автоматически сохраняет состояние рекурсивных вызовов.
- Обратная польская нотация (RPN) — вычисление арифметических выражений без скобок.
- Проверка синтаксиса — например, проверка правильности вложенности скобок в коде.
- Алгоритмы обхода графов — например, поиск в глубину (DFS) может быть реализован с использованием стека.
- Отмена действий (undo/redo) — в текстовых редакторах и графических приложениях.
LIFO в управлении складскими запасами
В логистике и управлении цепочками поставок метод LIFO применяется для организации хранения и отпуска товаров. Принцип «последним пришёл — первым ушёл» означает, что товары, поступившие на склад позже, отгружаются первыми.
Особенности применения
LIFO на складе чаще всего используется для товаров, которые:
- Не имеют срока годности или он очень длительный (например, металлопрокат, строительные материалы, сыпучие грузы).
- Являются однородными и взаимозаменяемыми.
- Хранятся в штабелях или стеллажах глубокого хранения, где доступ к более старым партиям затруднён.
Отличие от FIFO
В отличие от LIFO, метод FIFO (First In — First Out) предполагает, что первыми отпускаются товары, поступившие раньше. FIFO обязателен для скоропортящихся продуктов (продукты питания, лекарства) и товаров с ограниченным сроком хранения. LIFO же может приводить к тому, что старые запасы остаются на складе дольше, что увеличивает риск их морального устаревания или порчи.
Критика метода LIFO
Основная критика метода LIFO связана с его применением в бухгалтерском учёте. Экономисты и регуляторы отмечают, что LIFO:
- Искажает реальную стоимость запасов в балансе, занижая её в условиях инфляции.
- Создаёт возможность для манипуляции прибылью — компании могут выбирать момент закупки дорогих партий для снижения налогов.
- Усложняет сравнение финансовой отчётности компаний, использующих разные методы оценки запасов.
В информатике критика LIFO как принципа организации данных отсутствует, так как стек является математически строгой и эффективной структурой. Однако в некоторых алгоритмах (например, при обходе графов) LIFO может приводить к неоптимальным решениям по сравнению с очередью (FIFO).
Интересные факты
- В США метод LIFO до сих пор разрешён для целей налогового учёта, хотя с 2015 года обсуждается его отмена.
- В 1980-х годах, во время гиперинфляции в некоторых странах, использование LIFO позволяло компаниям значительно снижать налоговые выплаты.
- В некоторых языках программирования (например, в Java) стек реализован как класс
Stack, хотя современные рекомендации предлагают использовать более гибкие структуры, такие какDeque. - Принцип LIFO лежит в основе работы стековой памяти в процессорах архитектуры x86, где регистр
ESP(Extended Stack Pointer) указывает на вершину стека.
Источники
- Бухгалтерский учёт: учебник / под ред. Ю. А. Бабаева. — М.: Проспект, 2019.
- Кормен, Т. и др. Алгоритмы: построение и анализ. — М.: Вильямс, 2013.
- Приказ Минфина РФ от 26.03.2007 № 26н «О внесении изменений в нормативные правовые акты по бухгалтерскому учёту».
- Международный стандарт финансовой отчётности (IAS) 2 «Запасы».
- Таненбаум, Э. Архитектура компьютера. — СПб.: Питер, 2016.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →