Метод FIFO
Метод FIFO (от англ. First In, First Out — «первым пришёл, первым ушёл») — это способ организации и обработки данных, при котором первым обрабатывается тот элемент, который поступил в систему раньше всех. В более широком смысле FIFO — это принцип управления запасами или очередями, основанный на хронологическом порядке: ресурс, поступивший первым, используется или продаётся первым. Метод широко применяется в бухгалтерском учёте, логистике, программировании и электронике для обеспечения предсказуемости и справедливости обработки данных или товаров.
История и происхождение
Принцип FIFO известен с древних времён и интуитивно понятен: в любом хранилище или складе естественно сначала использовать то, что было заложено раньше, чтобы избежать порчи. Однако как формализованный метод управления запасами FIFO начал применяться в XIX веке с развитием промышленного учёта. В бухгалтерской практике метод оценки запасов по принципу FIFO впервые был описан в конце XIX — начале XX века в работах американских экономистов, таких как Чарльз Эзра Спраг. В 1930-х годах FIFO стал одним из стандартных методов оценки себестоимости товарно-материальных ценностей в США после принятия общепринятых принципов бухгалтерского учёта (GAAP). В СССР метод также применялся, но был менее формализован до перехода к рыночной экономике в 1990-х годах. В программировании термин FIFO закрепился с развитием структур данных и операционных систем в 1960–1970-х годах.
Применение в бухгалтерском учёте
Сущность метода FIFO в учёте
В бухгалтерском учёте метод FIFO используется для оценки себестоимости списываемых товарно-материальных ценностей (ТМЦ). Согласно этому методу, запасы, поступившие первыми, списываются первыми. Таким образом, остаток на конец периода оценивается по стоимости последних по времени закупок. Это позволяет более точно отражать текущие рыночные цены в балансе, но может искажать себестоимость в отчёте о прибылях и убытках в условиях инфляции.
Пример расчёта
Предположим, компания закупила три партии товара:
- 10 единиц по 100 руб. (первая партия);
- 15 единиц по 120 руб. (вторая партия);
- 20 единиц по 130 руб. (третья партия).
Продано 25 единиц. По методу FIFO сначала списываются 10 единиц из первой партии (10 × 100 = 1000 руб.), затем 15 единиц из второй партии (15 × 120 = 1800 руб.). Общая себестоимость списания — 2800 руб. Остаток: 20 единиц из третьей партии по 130 руб. (2600 руб.).
Сравнение с другими методами
- LIFO (Last In, First Out) — противоположный метод, при котором первыми списываются последние поступившие запасы. В России метод LIFO запрещён для целей бухгалтерского учёта с 2008 года (приказ Минфина РФ № 26н). В США LIFO разрешён, но применяется реже.
- Метод средней себестоимости — стоимость списания рассчитывается как средневзвешенная по всем партиям. FIFO даёт более высокую оценку остатков и более низкую себестоимость списания в условиях роста цен (инфляции), что увеличивает налогооблагаемую прибыль.
Правовое регулирование в России
В России метод FIFO регламентируется Положением по бухгалтерскому учёту «Учёт материально-производственных запасов» (ПБУ 5/01) и Федеральным стандартом бухгалтерского учёта ФСБУ 5/2019 «Запасы». Согласно этим документам, организация может применять FIFO для оценки себестоимости каждой единицы запасов или их групп. Выбранный метод должен быть закреплён в учётной политике. Для налогового учёта (глава 25 Налогового кодекса РФ) также допускается FIFO, но с 2015 года метод LIFO для налогового учёта в России отменён.
Применение в программировании и электронике
Структура данных «очередь»
В программировании FIFO — это принцип работы структуры данных «очередь» (queue). Очередь — это линейная коллекция элементов, где добавление (enqueue) происходит в конец, а удаление (dequeue) — с начала. Очередь используется для организации задач в порядке их поступления: например, в планировщиках операционных систем, в буферах ввода-вывода, в системах обработки запросов (веб-серверы, базы данных). Реализация очереди может быть на основе массива, связного списка или кольцевого буфера.
FIFO в аппаратуре
В электронике FIFO — это специализированная микросхема или блок памяти, работающий по принципу «первым пришёл — первым ушёл». Такие устройства применяются для согласования скорости передачи данных между разными компонентами системы (например, между процессором и периферийным устройством). Аппаратные FIFO бывают синхронные (с общей тактовой частотой) и асинхронные (с разными тактовыми частотами на входе и выходе). Они широко используются в сетевых коммутаторах, видеокартах, контроллерах памяти.
Примеры в операционных системах
- Планировщик задач: в простейших системах (например, в ранних версиях MS-DOS) задачи выполнялись в порядке поступления (FIFO).
- Очередь печати: документы отправляются на печать в порядке их отправки пользователем.
- Буфер клавиатуры: нажатия клавиш сохраняются в FIFO-буфере и обрабатываются в порядке нажатия.
Применение в логистике и управлении запасами
В логистике принцип FIFO (или FEFO — First Expired, First Out для скоропортящихся товаров) используется для организации складского хранения. Товары, поступившие раньше, размещаются ближе к зоне отгрузки, чтобы они покидали склад первыми. Это позволяет минимизировать потери от порчи, устаревания или истечения срока годности. FIFO особенно важен для продуктов питания, лекарств, химических реактивов. На складах применяются системы адресного хранения, где каждому товару присваивается ячейка с учётом даты поступления.
Критика и ограничения
- В бухгалтерском учёте: в условиях высокой инфляции FIFO завышает прибыль, так как себестоимость списания оказывается ниже текущих рыночных цен. Это может привести к увеличению налоговой нагрузки.
- В программировании: простая очередь FIFO не учитывает приоритеты задач. Если процесс с низким приоритетом поступил раньше, он может заблокировать выполнение более важных задач (проблема «голодания»). Для решения используются очереди с приоритетами или многоуровневые планировщики.
- В логистике: FIFO требует строгой организации складского пространства и учёта дат поступления. При большом ассортименте это может быть трудоёмко и вести к ошибкам.
Интересные факты
- В русском языке термин FIFO часто произносится как «файфо» или «фифо», хотя правильное английское произношение — /ˈfaɪfəʊ/ («файфоу»).
- В некоторых странах (например, в Великобритании) для оценки запасов в бухгалтерском учёте разрешён только FIFO, а LIFO запрещён.
- В компьютерных сетях протокол Ethernet использует FIFO-буферы в коммутаторах для временного хранения кадров, чтобы избежать коллизий.
- Метод FIFO применяется не только к товарам, но и к денежным потокам: например, при погашении задолженности по кредиту с несколькими траншами — сначала списывается самый старый долг.
Источники
- Положение по бухгалтерскому учёту «Учёт материально-производственных запасов» (ПБУ 5/01), утверждённое приказом Минфина РФ от 09.06.2001 № 44н.
- Федеральный стандарт бухгалтерского учёта ФСБУ 5/2019 «Запасы», утверждённый приказом Минфина РФ от 15.11.2019 № 180н.
- Налоговый кодекс РФ, глава 25 «Налог на прибыль организаций».
- Кнут Д. Искусство программирования. Том 1. Основные алгоритмы. — М.: Вильямс, 2006.
- Таненбаум Э., Бос Х. Современные операционные системы. — СПб.: Питер, 2015.
- Стивенс У. UNIX: взаимодействие процессов. — СПб.: Питер, 2003.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →