Calculadora FIFO de estoque
Compre 100 unidades a 10 e 50 a 12, venda 120, e o FIFO dá um custo das mercadorias vendidas de 1.240 e um estoque final de 360: as 30 unidades mais recentes a 12. Informe os lotes do mais antigo ao mais novo. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Unidades vendidas
- 120
- Quantidade de compras
- 2
- Unidades disponíveis
- 150
- Unidades restantes
- 30
- Mercadorias disponíveis
- 1.600
A valoração de estoque por primeiro a entrar, primeiro a sair responde a uma pergunta de fechamento que uma só identidade comercial não resolve: dados os lotes de compra que ainda estão na prateleira e as unidades que saíram, quanto vale o estoque final e qual é o custo das mercadorias vendidas? O FIFO trata as unidades mais antigas como as primeiras vendidas, de modo que o estoque restante é avaliado aos custos unitários mais novos. Esta calculadora FIFO de estoque aceita uma lista ordenada de lotes de compra — unidades e custo unitário por lote, o mais antigo primeiro — mais as unidades vendidas, consome essas unidades na frente da fila e devolve tanto o valor do estoque final quanto o custo das mercadorias vendidas.
Como a valoração FIFO transforma lotes de compra em CMV e estoque final
Primeiro a entrar, primeiro a sair é um pressuposto de fluxo de custos, não um mapa de depósito. Você envia os lotes de compra em ordem cronológica, o lote mais antigo primeiro: cada linha é uma quantidade de unidades compradas a um custo unitário declarado. O estoque de abertura é simplesmente o primeiro lote se essas unidades chegaram no período anterior e ainda estão nos livros; não há um campo separado de estoque inicial nem um carimbo de data, porque o motor nunca lê um relógio.
As unidades vendidas são então retiradas dos lotes restantes mais antigos até a quantidade vendida ser satisfeita. O custo das mercadorias vendidas é a soma das unidades tomadas de cada lote consumido vezes o custo unitário daquele lote. O estoque final é a soma das unidades que ainda estão em lotes posteriores vezes os custos unitários desses lotes.
As duas cifras somam de volta as mercadorias disponíveis — o custo total de cada unidade com que se começou —, que é a mesma identidade que os livros comerciais usam, só que aqui os dois lados saem dos lotes e não de uma linha tampão de custo das mercadorias vendidas. Percurso de manual: cem unidades a dez, depois cinquenta unidades a doze, e cento e vinte unidades vendidas.
O FIFO toma o primeiro lote inteiro (mil de custo) e vinte unidades do segundo lote (duzentos e quarenta), de modo que o custo das mercadorias vendidas é mil duzentos e quarenta e o estoque final são as trinta unidades restantes a doze, ou trezentos e sessenta. Se as unidades vendidas igualarem as unidades disponíveis, o estoque final é zero e cada lote é consumido. Se as unidades vendidas forem zero, o custo das mercadorias vendidas é zero e o estoque final coincide com as mercadorias disponíveis.
O que esta calculadora não faz é ordenar lotes por uma data de calendário, aplicar último a entrar primeiro a sair, calcular um custo unitário médio ponderado, converter moedas nem reconstruir a identidade de três linhas estoque inicial mais compras líquidas menos custo das mercadorias vendidas. Envie os lotes já ordenados; o motor só os percorre a partir da frente e devolve os dois valores.
Onde uma calculadora FIFO de estoque rende o seu valor
Controllers e contabilistas usam uma calculadora FIFO de estoque no fechamento para transformar os lotes de compra do período e as unidades vendidas nas duas cifras de que a demonstração de resultado e o balanço precisam: custo das mercadorias vendidas e estoque final sob o pressuposto de fluxo de custos primeiro a entrar, primeiro a sair que a política deles já nomeia. Papéis de trabalho de pacotes fiscais em jurisdições que exigem ou permitem FIFO precisam do mesmo percurso fixado, não de uma planilha que reordenou os lotes em silêncio.
Auditores e credores despejam os mesmos lotes em um papel de trabalho para que um estoque de encerramento que não decorra dos lotes mais antigos fique visível antes da assinatura. Merchandisers que compram em mercados em alta usam FIFO porque o estoque restante é avaliado a custos unitários mais novos, em geral mais altos, e querem essa valoração sem reconstruir um motor de estoque permanente.
É uma busca e um trabalho diferentes da identidade comercial que subtrai um custo das mercadorias vendidas dado do estoque inicial mais as compras líquidas, de prazo médio de estoque, de giro de estoque e de uma contagem física: essas ferramentas partem de outras entradas e respondem a outras perguntas. Validação falha não consome saldo.
Mantenha os lotes na ordem de primeiro a entrar, as unidades vendidas dentro das unidades em mãos, fixe as cifras arredondadas nas provas e você obtém um fechamento FIFO reproduzível para checklists, oráculos de sala de aula e workers de borda sem montar um motor de depósito próprio.
Casos de uso
Fechamento FIFO de mês e de exercício
Transforme os lotes de compra ordenados e as unidades vendidas em custo das mercadorias vendidas e estoque final antes de trancar o pacote, e compare as camadas restantes com uma contagem física.
CMV da demonstração de resultado sob política FIFO
Avalie as unidades expedidas aos custos unitários restantes mais antigos para que a linha de custo das mercadorias vendidas coincida com uma política contábil de primeiro a entrar, primeiro a sair, e não com uma média ponderada.
Papéis de auditoria e cronogramas fiscais FIFO
Despeje os mesmos lotes em um papel de trabalho para que um estoque de encerramento que não decorra dos lotes mais antigos fique visível antes da assinatura.
Perguntas frequentes
Como se calcula a valoração FIFO de estoque?
Envie os lotes de compra, o mais antigo primeiro, mais as unidades vendidas. A calculadora consome unidades na frente da fila. O custo das mercadorias vendidas é o das unidades consumidas; o estoque final é o das unidades que ainda estão em lotes posteriores. Os dois somam de volta as mercadorias disponíveis.
O que acontece se as unidades vendidas superarem o estoque disponível?
As unidades vendidas devem ser um número finito maior ou igual a zero e não devem superar a soma das unidades dos lotes; a supervenda não é cobrada.
Como envio o estoque de abertura?
Coloque o estoque de abertura como o primeiro lote de compra (o mais antigo). Não há um campo separado de estoque inicial nem um carimbo de data: a ordem cronológica é a ordem do array.
É o mesmo que estoque final igual a inicial mais compras menos CMV?
Não. Essa identidade comercial parte de três totais de livro e não percorre lotes. Esta calculadora deriva o estoque final e o custo das mercadorias vendidas a partir dos lotes de compra sob FIFO.
A calculadora também faz LIFO ou custo médio ponderado?
Não. Ela aplica apenas o primeiro a entrar, primeiro a sair, tirando as unidades vendidas dos lotes mais antigos. Também não ordena os lotes por data, então informe-os já na ordem em que foram comprados.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/fin/fifo-for-inventories \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"purchases":[{"units":100,"unit_cost":10},{"units":50,"unit_cost":12}],"units_sold":120}'const res = await fetch("https://api.kit.forhosting.com/fin/fifo-for-inventories", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"purchases": [
{
"units": 100,
"unit_cost": 10
},
{
"units": 50,
"unit_cost": 12
}
],
"units_sold": 120
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/fifo-for-inventories",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"purchases": [
{
"units": 100,
"unit_cost": 10
},
{
"units": 50,
"unit_cost": 12
}
],
"units_sold": 120
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/fifo-for-inventories", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"purchases":[{"units":100,"unit_cost":10},{"units":50,"unit_cost":12}],"units_sold":120}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"purchases":[{"units":100,"unit_cost":10},{"units":50,"unit_cost":12}],"units_sold":120}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/fifo-for-inventories", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"purchases": [
{
"units": 100,
"unit_cost": 10
},
{
"units": 50,
"unit_cost": 12
}
],
"units_sold": 120
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.fifo_for_inventories",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Se as unidades vendidas superarem as unidades em mãos, a tarefa falha com invalid_input em vez de inventar um depósito negativo.
Contrato de entrada, forma da resposta e comportamento diante de erros
Zero unidades vendidas é permitido. Os valores monetários são arredondados half-up a duas casas decimais. Exemplo: cem unidades a dez mais cinquenta unidades a doze com cento e vinte vendidas geram mil duzentos e quarenta de custo das mercadorias vendidas e trezentos e sessenta de estoque final, com trinta unidades restantes no segundo lote. Envie por POST um corpo JSON com dois campos obrigatórios. purchases é um array não vazio de objetos lote, no máximo duzentas linhas, cada uma com units estritamente maior que zero e unit_cost maior ou igual a zero; os aliases batches, lots e layers apontam para a mesma lista para que a planilha conserve o nome das colunas. Em cada linha, quantity e qty são aliases de units, e cost, price e cost_per_unit são aliases de unit_cost. units_sold é a quantidade expedida no período; os aliases sold, quantity_sold e qty_sold são aceitos. Cada campo numérico pode chegar como número JSON ou como string numérica. Campos ausentes, strings vazias e valores não finitos — NaN, Infinity ou texto que não se interpreta como número — falham com invalid_input nomeando o campo. Um custo unitário negativo, um units_sold negativo ou um lote cujas units sejam zero ou negativas é recusado e não é cobrado. Se a validação passar, o corpo informa purchase_count, units_available, units_sold, units_remaining, goods_available como o custo total de cada lote, cost_of_goods_sold, ending_inventory, remaining_layers como os lotes restantes com units, unit_cost e value, e uma string de fórmula que reafirma o percurso FIFO. Combine o JSON com a sua própria contagem física se precisar da história de depósito; este endpoint devolve a valoração por fluxo de custos, não uma contagem cíclica, não LIFO e não uma conversão de moedas.
Onde uma calculadora FIFO de estoque rende o seu valor
Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Perguntas técnicas
Quanto custa a calculadora FIFO de estoque?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.