Финансы в Excel
Стоимость складского запаса
- Подробности
- Создано 13 Февраль 2014
В одном из вопросов, пришедших на сайт, была затронута интересная тема учета запасов на складе в стоимостном выражении. В нашей программе стоимостной учет остатков не автоматизирован – показалось, что организовать расчеты на уровне формул, слишком сложно. Но в качестве теоретического примера эту задачу вполне можно решить и с помощью электронных таблиц.
В финансовом учете существуют несколько методов ценовой политики для расчета себестоимости произведенной продукции и складских остатков:
- FIFO (first in – first out)
- LIFO (last in – first out)
- «По среднему»
Первый и второй метод предполагают партионный учет каждой поставки с использованием конкретной цены закупки в себестоимости производства или запаса. В FIFO используются партии запасов в хронологическом порядке от самой ранней к самой поздней, в LIFO, наоборот, от последней к первой по времени.
Метод «по среднему» подразумевает пересчет цены материала после каждой поставки. Новое значение стоимости определяется как средневзвешенное по количеству значение между стоимостью запаса и стоимостью поступившей партии.
Каждый метод имеет свои преимущества и недостатки. В бухгалтерском учете наиболее популярен вариант учета FIFO – для его реализации обычно используется автоматизированная учетная система (бухгалтерская программа).
Обработать даже небольшой массив информации с учетом партий закупки в Excel достаточно сложно — требуется много промежуточных расчетов. Пример подобного расчета в приложенном к статье файле на листе FIFO.
В идеале, хотелось бы видеть стоимость каждой партии остатка на складе после каждой операции, но добиться этого не получилось. Формулы для расчета только последней стоимости запасов получились настолько сложными, что, пожалуй, даже лучше было бы написать UDF-функцию, скрывающую все промежуточные расчеты.
Еще одна проблема такого сложного расчета – это заметное ухудшение производительности на больших объемах данных. А складские данные даже на небольших предприятиях обычно измеряются тысячами записей.
Расчеты по LIFO в электронных таблицах связаны с теми же проблемами, пример делать не стали. А вот расчет по средневзвешенной цене запаса реализовать в Excel не очень сложно. В примере к статье такой расчет приведен на листе Average.
Здесь, в отличие от FIFO, рассчитывается цена на складе после каждой операции. Поступления товаров изменяют среднюю стоимость единицы товара с учетом нового количества и цены. Операции по расходу не влияют на цену товара на складе. Единственная сложная формула предназначена для поиска последней операции с текущим товаром (Avarage!I6):
{ =MAX(IF(C$5:C5=$C6;ROW(I$5:I5)-ROW(I$5);0))}
Здесь организуется поиск в вертикальном массиве в обратную сторону (MATCH наоборот). В результате определяется относительное смещение от заголовка таблицы (строка 5).
Следует заметить, что объем данных также будет влиять на производительность, но на порядок меньше, чем в случае формул для FIFO-метода расчетов.
Смотри также
» Расчет расхода по спецификациям
Материальная составляющая производственного процесса в большинстве случаев описывается через вхождение компонентов в готовые…
» Складской учет
Программа предназначена для материального учета ресурсов различного типа. Возможна реализация учета в стоимостном…
» Редактирование сводной таблицы
Сводные таблицы Excel является мощным средством анализа данных. При этом исходные данные могут храниться как в электронных таблицах, так…
Главная » Мои надстройки »
4 Июнь 2012 46647 просмотров
Что это такое методы LiFo и FiFo? В принципе, разрабатывая данную надстройку я рассчитывал на то, что люди, которые будут ей пользоваться уже знают что это за методы. Но не исключаю того варианта, что надстройкой будут пользоваться люди, не имеющие понятия о методах LIFO и FIFO, но в силу рода своей деятельноси им все же понадобилось это знать или использовать. Поэтому решил в общих чертах ввести в общий курс дела.
LIFO(от английского Last In, First Out — последним пришел, первым ушел) — метод бухгалтерского учёта товарно-материальных ценностей (в дальнейшем ТМЦ), в соответствии с которым, ТМЦ, которые были поставлены на учёт последними, с учёта выбывают первыми. Соответственно, по цене товаров, прибывших последними.
Особенности учета по методу LIFO:
- редко учитывается фактическое движение запасов товаров;
- предполагается, что все товары, приобретенные в течение периода, могут быть выставлены на продажу, независимо от даты их покупки;
- запасы на конец периода оцениваются по стоимости первых закупок.
Данный принцип используется на складах с узкой номенклатурой и большими объемами товаров, для которых не важен срок хранения и отгрузки. Это различные промышленные товары, многие товары народного потребления и т. д.
FIFO(от английского First In, First Out — первым пришел, первым ушел) — метод бухгалтерского учёта ТМЦ, в соответствии с которым ТМЦ, поставленные на учёт первыми выбывают с учёта тоже первыми. Соответственно, по цене товаров, прибывших первыми(которые и списываются).
Используется на складах для скоропортящихся товаров, товаров пищевой, фармацевтической, косметической и химической промышленности, других товаров с ограниченным сроком годности или товаров разового спроса(например, газет).
Стандартных формул для подсчета количество товара, а так же суммы товара данными методами в Excel нет. Ниже вы сможете скачать мою надстройку, которая умеет это делать. В надстройке реализованы пользовательские функции:
- LIFO_Count — подсчет остатков товара на складе на указанную дату методом LIFO.
- LIFO_Summ — выводит общую сумму остатков на указанную дату. Сумма рассчитывается методом LIFO.
- FIFO_Count — подсчет остатков товара на складе на указанную дату методом FIFO.
- FIFO_Summ — выводит общую сумму остатков на указанную дату. Сумма рассчитывается методом FIFO.
В архиве расположена сама надстройка и файл помощи, в котором подробно описаны все функции и их аргументы. Как установить надстройку: Установка надстроек
Если Вы используете Excel 2007 или 2010, то отобразится вкладка Надстройки и в ней будет панель, с которой можно вызвать любую из функций надстройки или справку по функциям
Для Excel 2003 будет создана отдельная панель с аналогичным содержимым.
Для того, чтобы воспользоваться функцией необходимо выделить ячейку на листе и вызвать нужную функцию с панели простым нажатием. Появиться стандартное окно ввода аргументов функции. Задаете аргументы(лучше сначала пользоваться справкой, прилагаемой к надстройке, чтобы задавать аргументы правильно) и жмете Ок. Функция в ячейке. Если все верно введено — увидите результат. Если результатом будет ошибка — проверьте сначала верно ли указаны все аргументы(например не указано ли вместо номер столбца его буква или диапазон ячеек).
Скачать надстройку:
FIFO_LIFO_addin.zip (83,1 KiB, 4 749 скачиваний)
Надстройка распространяется бесплатно с открытыми исходными кодами: изучайте коды, алгоритмы, правьте коды под себя.
Stepa Пользователь Сообщений: 17 |
Задача посчитать остатки товара по каждому виду на текущую дату при этом цена продажи (операция продажа) не имеет никакого значения, списывается в данном случае товар по цене первого по времени прихода , пока он не кончится , потом вторго и т.д. В результате надо посчитать кол-во единиц остатка и их общую себестоимость на Дату. |
Микки Пользователь Сообщений: 3280 |
Господа спецы помогите девушке плиз , тут похоже макрос нужен формулами у меня не получается. |
Stepa Пользователь Сообщений: 17 |
Господа специалисты, срочно нужна ваша помощь в решении этого вопроса. |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 02:07}{thema=}{post}Написал функцию(FIFO). В файле описано подробней. Будут вопросы — пишите.{/post}{/quote} |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 02:23}{thema=}{post}Я именно над этим сейчас работаю. Не совсем понял как именно подсчитывать…{/post}{/quote} |
Stepa Пользователь Сообщений: 17 |
{quote}{login=The_Prist}{date=26.02.2009 02:23}{thema=}{post}Я именно над этим сейчас работаю. Не совсем понял как именно подсчитывать…{/post}{/quote Большое Вам спасибо, но мне необходимо подсчитать стоимость остатка на конец каждого дня. Стоимость расчитывается по методу FIFO — First In First Out. |
Stepa Пользователь Сообщений: 17 |
{quote}{login=The_Prist}{date=26.02.2009 02:07}{thema=}{post}Написал функцию(FIFO). В файле описано подробней. Будут вопросы — пишите.{/post}{/quote} Уважаемый Прайст, Вы все же поможете мне решить задачу по определению стоимости? |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 04:46}{thema=}{post}Вот. Условия те же. Добавил функцию подсчета сумм. Проверяйте.{/post}{/quote} |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 04:57}{thema=}{post}Пробуйте, как и с любой функцией должно получиться — но…{/post}{/quote} |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 04:46}{thema=}{post}Вот. Условия те же. Добавил функцию подсчета сумм. Проверяйте.{/post}{/quote} |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 06:00}{thema=}{post}Микки — ты за проверяющего. Давай ломай дальше функцию, ищи косяки. :-){/post}{/quote} |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 06:00}{thema=}{post}Микки — ты за проверяющего. Давай ломай дальше функцию, ищи косяки. :-){/post}{/quote} |
Igor67 Пользователь Сообщений: 3729 |
Имхо, но надо просто делать доп столбец и потихонько макросом «списывать» остатки, в верхней строчке. Возможно, как только остаток =0, строку можно в архив, на другой лист. А в конце дня просто сводной остаток на дату снимать. Как только будет пропуск — можно косячок получить. |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=26.02.2009 06:00}{thema=}{post}Микки — ты за проверяющего. Давай ломай дальше функцию, ищи косяки. :-){/post}{/quote} |
{quote}{login=Микки}{date=27.02.2009 09:18}{thema=Re: }{post}{quote}{login=The_Prist}{date=26.02.2009 06:00}{thema=}{post}Микки — ты за проверяющего. Давай ломай дальше функцию, ищи косяки. :-){/post}{/quote} Я на цену продажи даже не обращаю внимания. Просто надо попробовать учесть все варианты. |
|
Stepa Пользователь Сообщений: 17 |
Всем большое спасибо за участие в решении моей проблемы. Но все же очень хочется достичь правильного результата. Это возможно? |
{quote}{login=Stepa}{date=27.02.2009 09:27}{thema=}{post}Всем большое спасибо за участие в решении моей проблемы. Но все же очень хочется достичь правильного результата. Это возможно?{/post}{/quote} Щаз именно над этим работаю. |
|
Stepa Пользователь Сообщений: 17 |
{quote}{login=}{date=27.02.2009 09:48}{thema=Re: }{post}{quote}{login=Stepa}{date=27.02.2009 09:27}{thema=}{post}Всем большое спасибо за участие в решении моей проблемы. Но все же очень хочется достичь правильного результата. Это возможно?{/post}{/quote} Щаз именно над этим работаю. Дальше написания формулы по расчету количества у меня дело не пошло, потому надеюсь на Вас. |
Stepa Пользователь Сообщений: 17 |
{quote}{login=The_Prist}{date=27.02.2009 01:11}{thema=Re: }{post}{quote}{login=The_Prist}{date=27.02.2009 01:09}{thema=}{post}Очередная доработка.{/post}{/quote} Я еще критерий добавил — Qantity: Количество оставшегося товара. Ураа, большое спасибо. Смотрю. |
Микки Пользователь Сообщений: 3280 |
{quote}{login=The_Prist}{date=27.02.2009 01:11}{thema=Re: }{post}{quote}{login=The_Prist}{date=27.02.2009 01:09}{thema=}{post}Очередная доработка.{/post}{/quote} Я еще критерий добавил — Qantity: Количество оставшегося товара. |
Stepa Пользователь Сообщений: 17 |
{quote}{login=The_Prist}{date=27.02.2009 01:11}{thema=Re: }{post}{quote}{login=The_Prist}{date=27.02.2009 01:09}{thema=}{post}Очередная доработка.{/post}{/quote} Я еще критерий добавил — Qantity: Количество оставшегося товара. Prist, скажите, пожалуйста, почему не меняется кол-во и соответственно стоимость если я меняю кол-во в основной таблице? |
Stepa Пользователь Сообщений: 17 |
{quote}{login=The_Prist}{date=27.02.2009 01:35}{thema=}{post}Особенность пользовательских функций. Не всегда рассчитываются автоматом. Просто скопируйте формулу в одной ячейке и протяните по всем. Они пересчитаются.{/post}{/quote} Ага, поняла. Вобщем все просто супер! Буду пользовать. Еще раз спасибо. |
ZVI Пользователь Сообщений: 4328 |
Чтобы пересчитывались ячейки, от которых зависит результат, достаточно в декларации функции добавить последний виртуальный параметр ParamArray Dependences(): Function FIFO_Count(MyDate, Criteria, DateRange, ParamArray Dependences()) Function FIFO_Summ(MyDate, Criteria, DateRange, Qantity, ParamArray Dependences()) А в вызове функции добавить диапазоны ячеек, изменения которых должны вызывать пересчет функции. Например, так можно добавить автопересчет при изменении ячеек номенклатуры и количества С3:D10: А здесь добавлены зависимости диапазона ячеек от номенклатуры C3:C10 до стоимости F3:F10: |
{quote}{login=ZVI}{date=27.02.2009 10:30}{thema=Как добавить автопересчет в пользовательскую функцию}{post}Чтобы пересчитывались ячейки, от которых зависит результат, достаточно в декларации функции добавить последний виртуальный параметр ParamArray Dependences(){/post}{/quote} Спасибо за полезную (думаю не только мне) информацию! |
|
{quote}{login=The_Prist}{date=27.02.2009 01:09}{thema=}{post}Очередная доработка.{/post}{/quote} Добрый вечер, не могли бы вы пояснить макрос комментариями, что куда и зачем пишется, чтобы понять используемые объекты. |
|
Max Пользователь Сообщений: 61 |
Господа, искренне благодарю! Разобрался, адаптировал под себя, все отлично. Кроме одного: быстродействие на больших объемах данных оставляет желать лучшего. Подскажите как можно ускорить функцию? Первое, что приходит на ум — это построить логику так, чтобы получать данные в один проход по циклу вместо двух (например использовать массивы). Второе — это вообще отказать от цикла и переходить по артикулам с помощью поиска, например. Насколько это возможно и целесообразно? |
Max Пользователь Сообщений: 61 |
Т.е. вариант: В одном цикле проходим по всем записям и сохраняем данные по нужному артикулу в массив. Потом запускаем цикл по массиву. будет быстрее текущего варианта? А вариант: Заменить оба цикла на перебор значений по артикулу с помощью Find. будет медленнее всех? Я просто с VBA на Вы, кодить могу, а вот понять на что повлияет выбор того или иного варианта не знаю как. Кодить все варианты, чтобы сравнить не хочется (опять же потому что с VBA на Вы). |
Igor67 Пользователь Сообщений: 3729 |
#28 13.12.2010 21:52:40 Попробуйте вариант FIFO_Count() на массиве. Function FIFO_Count(MyDate, Criteria, DateRange As Range) |
I need to create a fifo function for price calculation.
I have a table with the following layout:
Purchase_date Quantity Purchase_Price
----------------------------------------
2011-01-01 1000 10
2011-01-02 2000 11
......
Sale_date Quantity Costprice
----------------------------------------
2011-02-01 50 =fifo_costprice(...
the Fifo formula works like:
fifo_costprice(Q_sold_to_date as float, Quantity_purchased as range
, Purchase_Prices as range) as float
How do I do this in Excel VBA?
asked Jul 20, 2011 at 12:56
Here’s what I came up with to start, it doesn’t do any error checking and date matching, but it works.
Public Function fifo(SoldToDate As Double, Purchase_Q As Range, _
Purchase_price As Range) As Double
Dim RowOffset As Integer
Dim CumPurchase As Double
Dim Quantity As Range
Dim CurrentPrice As Range
CumPurchase = 0
RowOffset = -1
For Each Quantity In Purchase_Q
CumPurchase = CumPurchase + Quantity.Value
RowOffset = RowOffset + 1
If CumPurchase > SoldToDate Then Exit For
Next
'if sold > total_purchase, use the last known price.
Set CurrentPrice = Purchase_price.Cells(1, 1).offset(RowOffset, 0)
fifo = CurrentPrice.Value
End Function
answered Jul 20, 2011 at 12:58
JohanJohan
74.3k23 gold badges190 silver badges316 bronze badges
I had a similar problem finding the «most recent exchange rate» via VBA. This is my code, maybe it can inspire you …
Function GetXRate(CurCode As Variant, Optional CurDate As Variant) As Variant
Dim Rates As Range, chkDate As Date
Dim Idx As Integer
GetXRate = CVErr(xlErrNA) ' set to N/A error upfront
If VarType(CurCode) <> vbString Then Exit Function ' if we didn't get a string, we terminate
If IsMissing(CurDate) Then CurDate = Now() ' if date arg not provided, we take today
If VarType(CurDate) <> vbDate Then Exit Function ' if date arg provided but not a date format, we terminate
Set Rates = Range("Currency") ' XRate table top-left is a named range
Idx = 2 ' 1st row is header row
' columns: 1=CurCode, 2=Date, 3=XRate
Do While Rates(Idx, 1) <> ""
If Rates(Idx, 1) = CurCode Then
If Rates(Idx, 2) = "" Then
GetXRate = Rates(Idx, 3) ' rate without date is taken at once
Exit Do
ElseIf Rates(Idx, 2) > chkDate And Rates(Idx, 2) <= CurDate Then
GetXRate = Rates(Idx, 3) ' get rate but keep searching for more recent rates
chkDate = Rates(Idx, 2) ' remember validity date
End If
End If
Idx = Idx + 1
Loop
End Function
It’s more a classical loop construct with a loop index (Idx as Integer
) and two exit criteria, so I don’t need to go across all rows under all circumstances.
answered Jul 21, 2011 at 8:16
MikeDMikeD
8,8612 gold badges28 silver badges50 bronze badges
Many years ago on a friend’s father asked me to create a First in First Out FIFO calculator for stocks which he held. It appears the taxation on stock purchases becomes increasingly difficult when you are purchasing the same stock multiple times. Tracking the P&L on a stock becomes difficult based on a first in first out (FIFO) basis. This article will focus on some solutions to the FIFO conundrum.
My understanding of FIFO is that goods purchased are sold bases on the price of the earliest purchased product. I will use a simple example;
We buy 2 stocks for a price of $10 each. On Tuesday we purchase 2 more stocks for $15 each. Now on Wednesday we sell 3 of the stocks for $17 each. We need to work out the profit or loss for taxation purposes. If we use FIFO we have a profit of:
17 * 2 — 10 * 2 + 1 * 17 — 1 * 15
or
34 — 20 + 17 — 15
=$16
So we have made a $16 profit according to FIFO. This becomes more and more difficult to track the more items which are purchased and sold for different prices.
The following is a more complex FIFO calculation based on the attached file.
This is where Excel VBA can help. The following is a very handy FIFO procedure which will sort the closing price for a FIFO calculation.
FIFO Function in Excel
While working with the CPA for a webinar I extended the FIFO calculation into a custom function. It is quite straight forward. Here is some raw data, we can use this data to calculate FIFO. The custom function will do the work for us.
Now let’s say we need to calculate the FIFO on the following:
Oct USB Stick 420 = ??????
SO we need to work out what the cost of goods sold is for 420 items at 4 different price points.
80 x 1.10 = $88
200 x 8 1.05 = $210
120 x 1.10 = $132
20 x 1.03 = $20.60
Total = $450.60
Once again performing the FIFO calculation manually is a laborious task, especially if you have to do this for multiple items or multiple dates.
Here is a solution using a custom FIFO function.
The following is the FIFO formula:
=FIFO(ExA!$C$2:$D$6,C2)
Where C2:D6 is the quantity and the cost (in that order). And C2 contains the FIFO quantity sold.
The attached file shows basic and more advanced FIFO calculation. It takes the simple example above a step further. It is very useful and can be extended a lot further if need be. The FIFO function provided above is a small glimpse into the world of the First in First Out inventory calculation.
The above is an example of the results from the file. It takes the concept a step further to calculate the value of the remaining inventory. It shows how the FIFO Function can be extended to multiple criteria and products.
Автор:
John Stephens
Дата создания:
2 Январь 2021
Дата обновления:
16 Апрель 2023
Содержание
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
Бухгалтеры используют электронные таблицы и специальные методы для оценки и отслеживания запасов.
Бухгалтерский термин FIFO относится к методу управления активами инвентаризации и оценки активов «первым пришел — первым вышел». В отличие от его родственной методологии «первым пришел — первым вышел», этот термин определяет, что первые продукты, внесенные в инвентарь, являются первыми предметами, которые были изъяты. В периоды роста цен это означает, что более старые запасы — первый инвентарь в наличии — имеют более низкую стоимость в бухгалтерских книгах, оставляя более новые и более дорогие запасы в балансе. Это приводит к снижению себестоимости проданных товаров и увеличению чистой прибыли. По налоговым соображениям IRS позволяет компаниям рассчитывать только на один метод оценки без переключения между ними в течение года без разрешения.
Шаг 1
Просмотрите уравнение инвентаризации, чтобы понять, как настроить электронную таблицу для FIFO. Уравнение: Начальный запас + Чистые покупки — Стоимость проданных товаров = Конечный запас. Метод FIFO означает, что первый продукт, который входит в инвентарь, является первым проданным продуктом.
Шаг 2
Откройте электронную таблицу Excel. Создайте столбцы со следующими заголовками: «Начальный запас», «Чистые закупки», «Стоимость проданных товаров» и «Конечный запас».
Шаг 3
Введите сумму вашего начального инвентаря. Допустим, у вас есть кофейня, и на следующий день вы производите 100 чашек кофе, которые продаются по цене от 1 до 100 долларов, и продаются по средней цене 2 доллара каждая.
Шаг 4
Пометьте первый ряд под заголовками столбцов как «День 1». Начальная стоимость инвентаря для первого дня — 100 чашек кофе по цене 1 доллар. Общая стоимость начальной стоимости — 100 долларов. Обозначьте вторую строку «День 2», и теперь это значение составляет 200 долларов или 2 раза по 100.
Шаг 5
Добавьте количество покупок, которые вы делаете, чтобы пополнить свой инвентарь в таблицу. Допустим, вы покупаете 100 чашек кофе по цене 3 доллара за чашку. Введите эту сумму во втором столбце как чистые покупки.
Шаг 6
Введите стоимость первых чашек кофе в качестве стоимости товаров, проданных в следующем столбце. Вы продали 200 чашек кофе. Первые 100 чашек кофе стоят 100 долларов, а следующие 100 — 2 доллара. Общая стоимость товаров, проданных за эти дни, составляет 300 долларов.
Шаг 7
Рассчитайте конечный запас, используя уравнение, введенное в поле электронной таблицы для окончания запаса, на основе заголовка каждого столбца: Начальный запас + Чистые покупки — Стоимость проданных товаров = Конечный запас. Это должно быть $ 300 + $ 300 — $ 300 = $ 300.
Наконечник
Добавив формулу Excel, которая соответствует перечисленным ячейкам, вы можете скопировать и вставить формулу в столбец «Конечный инвентарь», чтобы вам не приходилось каждый раз заново его создавать.
Предупреждение
Используйте функцию защиты в Excel, чтобы защитить формулу от случайных изменений.
Формула остатка задолженности по FIFO |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
|
Добрый день, уважаемые форумчане!
Требуется Ваша помощь в решении одной задачи. Задача заключается в нахождении формулы для определения количественного и стоимостного остатка товара по методу ФИФО (First In First Out), который используется в бухгалтерии.
Допустим, как показано в моем примере на листе «операции» (файл ниже), 01.01.2012 було куплено:
10 единиц продукта 1 общей стоимостью 300 руб. (30 руб./ед.)
20 единиц продукта 2 общей стоимостью 440 руб. (22 руб./ед.)
10 единиц продукта 3 общей стоимостью 70 руб. (7 руб./ед.)
Таким образом, если высчитывать остаток на 01.01.2012, он составит: 40 единиц товара общей стоимостью в 810 руб.
02.01.2012 прошли также операции, которые увеличили остаток (покупка). Но также были и операции, которые этот остаток уменьшили (списание, продажа). Эти операции показаны в колонке «кол-во» с отрицательным значением. Сущность метода ФИФО заключается в том, что при уменьшении товара, первым уходит товар, который был куплен ранее, за ним следующий и так далее… В данном методе цена продажи не имеет значения, важна только закупочная цена.
Покажу на примере продукта 2:
01.01.2012:
-остаток 20 ед. общей стоимостью 440 руб. (22 руб./ед.)
02.01.2012:
-куплено еще 20 ед. общей стоимостью 880 руб. (44 руб./ед.)
-остаток стал 40 ед. общей стоимостью 1320 руб. (20 по 22 руб., 20 по 44 руб.)
-продано 15 ед.; вычитается продукт, купленный ранее всех, т.е. вычитается 15 ед. по цене 22 руб./ед.
-остаток после всех операций составит: 25 ед. общей стоимостью 990 руб. (5 ед. по цене 22 руб., 20 по 44 руб.)
03.01.2012:
-куплено еще 15 ед. общей стоимостью 75 руб. (5 руб./ед.)
-остаток стал 40 ед. общей стоимостью 1065 руб. (5 ед. по 22 руб., 20 ед. по 44 руб., 15 ед. по 5 руб.)
-списано (убыло по негодности) 2 ед. товара
-остаток после всех операций составит: 38 ед. общей стоимостью 1021 руб. (3 ед. по цене 22 руб., 20 ед. по 44 руб., 15 ед. по 5 руб.)
Буду Вам очень признателен, если получится данные расчеты (кол-во и стоимость остатка) представить в виде формулы. То, что должно получиться в итоге (для проверки) я прописал под итоговой таблицей в листе «остаток».
Заранее благодарю!