Cálculo do Custo de Mercadoria: Método Custo Médio Ponderado

Neste tutorial, vamos aprender a calcular o custo de mercadorias utilizando o método Custo Médio Ponderado (CMP), amplamente adotado em sistemas ERP para o controle de estoque. O CMP considera o custo total das mercadorias em estoque e a quantidade de unidades, resultando em um preço médio para cada unidade de produto.
Regras do Cálculo de Custo Médio Ponderado
O Custo Médio Ponderado é utilizado para calcular o custo das mercadorias vendidas e o valor do estoque. Ele leva em consideração a média ponderada entre os custos de aquisição de mercadorias em diferentes momentos. Este método é ideal para empresas que realizam compras com preços variados ao longo do tempo e desejam manter a simplicidade e a precisão nos cálculos de estoques e custos.
Passo a Passo para o Cálculo do Custo Médio
Entradas (Compras)
- Quando uma nova remessa de mercadorias é comprada, o custo total da remessa é somado ao custo do estoque existente.
- O Custo Médio Unitário é recalculado pela fórmula:
Custo Médio Unitário = Custo Total do Estoque ÷ Quantidade Total em Estoque
Saídas (Vendas)
- As saídas de mercadorias não afetam diretamente o Custo Médio Unitário, já que o cálculo considera apenas as entradas.
- Quando uma mercadoria é vendida, o custo da mercadoria vendida é determinado pelo Custo Médio Unitário no momento da venda.
Custo Total das Saídas = Quantidade Vendida × Custo Médio Unitário
Atualização do Estoque
Após cada entrada ou saída, o estoque é atualizado, e o Custo Médio Unitário é recalculado com base na nova quantidade total e no custo total das mercadorias em estoque.
📦 Exemplo Prático: Loja de Eletrônicos
Produto: Smartphone Modelo X
1. Entradas de Mercadorias (Compras)
Tabela de Entradas
| Data | Tipo | Quantidade | Preço Unitário | Custo Total | Saldo Quantidade | Saldo Custo Total |
|---|---|---|---|---|---|---|
| 01/06 | Entrada | 100 | R$ 1.000,00 | R$ 100.000,00 | 100 | R$ 100.000,00 |
| 05/06 | Entrada | 200 | R$ 1.100,00 | R$ 220.000,00 | 300 | R$ 320.000,00 |
Cálculo:
- Quantidade: 100 + 200 = 300 unidades
- Custo Total: 100.000,00 + 220.000,00 = R$ 320.000,00
- CMP: 320.000 ÷ 300 = R$ 1.066,67
2. Saída de Mercadorias (Vendas)
Tabela de Saída
| Data | Tipo | Quantidade | Custo Médio Unitário | Custo Total Saída | Saldo Quantidade | Saldo Custo Total |
|---|---|---|---|---|---|---|
| 10/06 | Saída | 150 | R$ 1.066,67 | R$ 160.000,50 | 150 | R$ 159.999,50 |
Cálculo:
- Quantidade: 300 – 150 = 150 unidades
- Custo Total Estoque: 320.000,00 – 160.000,50 = R$ 159.999,50
- CMP permanece R$ 1.066,67
3. Nova Entrada de Mercadorias
Tabela de Saldo + Entrada
| Data | Tipo | Quantidade | Preço Unitário | Custo Total | Saldo Quantidade | Saldo Custo Total | Custo Médio Unitário |
|---|---|---|---|---|---|---|---|
| 15/06 | Saldo Antes da Entrada | 150 | R$ 1.066,67 | R$ 159.999,50 | 150 | R$ 159.999,50 | R$ 1.066,67 |
| 15/06 | Entrada | 100 | R$ 1.200,00 | R$ 120.000,00 | 250 | R$ 279.999,50 | R$ 1.120,00 |
Cálculo:
- Quantidade: 150 + 100 = 250 unidades
- Custo Total Estoque: 159.999,50 + 120.000,00 = R$ 279.999,50
- CMP: 279.999,50 ÷ 250 = R$ 1.120,00
4. Nova Saída de Mercadorias
Tabela da Saída
| Data | Tipo | Quantidade | Custo Médio Unitário | Custo Total Saída | Saldo Quantidade | Saldo Custo Total |
|---|---|---|---|---|---|---|
| 20/06 | Saída | 100 | R$ 1.120,00 | R$ 112.000,00 | 150 | R$ 167.999,50 |
Cálculo:
- Quantidade: 250 – 100 = 150 unidades
- Custo Total Estoque: 279.999,50 – 112.000,00 = R$ 167.999,50
- CMP permanece R$ 1.120,00
📊 Tabela Resumo de Movimentações
| Data | Movimentação | Quantidade | Preço Unitário (R$) | Custo Total (R$) | Saldo Quantidade | Saldo Custo Total (R$) | Custo Médio Unitário |
|---|---|---|---|---|---|---|---|
| 01/06 | Entrada | 100 | 1.000,00 | 100.000,00 | 100 | 100.000,00 | 1.000,00 |
| 05/06 | Entrada | 200 | 1.100,00 | 220.000,00 | 300 | 320.000,00 | 1.066,67 |
| 10/06 | Saída | 150 | 1.066,67 | 160.000,50 | 150 | 159.999,50 | 1.066,67 |
| 15/06 | Entrada | 100 | 1.200,00 | 120.000,00 | 250 | 279.999,50 | 1.120,00 |
| 20/06 | Saída | 100 | 1.120,00 | 112.000,00 | 150 | 167.999,50 | 1.120,00 |
📌 Resumo Final do Estoque
| Indicador | Valor |
|---|---|
| Saldo Final (unidades) | 150 |
| Custo Médio Unitário | R$ 1.120,00 |
| Valor Total do Estoque | R$ 167.999,50 |
🧩 Explicação das Colunas
- Movimentação: Indica se foi entrada (compra) ou saída (venda).
- Quantidade: Quantidade movimentada.
- Preço Unitário: Preço pago por unidade (entradas) ou custo médio (saídas).
- Custo Total: Valor movimentado na operação.
- Saldo Quantidade: Quantidade restante em estoque.
- Saldo Custo Total: Valor total do estoque após a movimentação.
- Custo Médio Unitário: Custo médio recalculado após cada entrada.
🔄 CMP vs. PEPS (FIFO): Qual Método Escolher?
O Custo Médio Ponderado não é o único método de controle de estoque. A alternativa mais comum no Brasil é o PEPS/FIFO (Primeiro que Entra, Primeiro que Sai), que baixa o estoque pelo custo do lote mais antigo, em vez de uma média.
| Critério | Custo Médio Ponderado (CMP) | PEPS (FIFO) |
|---|---|---|
| Como recalcula o custo | A cada entrada, recalcula a média de todo o estoque | Não recalcula — cada lote mantém seu próprio custo até esgotar |
| Complexidade de implementação | Mais simples (uma única variável de custo unitário) | Mais complexa (fila de lotes com custos distintos) |
| Aceito para fins fiscais no Brasil | Sim | Sim |
| Sensibilidade a variação de preços | Suaviza oscilações — bom para produtos com preço de compra instável | Reflete mais rápido o custo real de reposição em cenários de alta ou baixa de preços |
Importante: o método UEPS/LIFO (Último que Entra, Primeiro que Sai), comum em outros países, não é aceito pela legislação fiscal e contábil brasileira para fins de apuração de resultado — mencionamos aqui apenas para deixar claro por que ele não aparece como alternativa válida no Brasil.
Na prática, a escolha entre CMP e PEPS costuma ser definida pelo próprio ERP disponível e por exigências do regime tributário da empresa; a maioria dos pequenos e médios negócios brasileiros opera com CMP pela simplicidade operacional.
🧮 Implementando o Cálculo em Código
Se você está construindo um controle de estoque simples (uma planilha automatizada, um pequeno sistema interno), a lógica do CMP pode ser resumida em poucas linhas:
function registrarEntrada(estoque, quantidade, precoUnitario) {
const custoTotalEntrada = quantidade * precoUnitario;
const novaQuantidade = estoque.quantidade + quantidade;
const novoCustoTotal = estoque.custoTotal + custoTotalEntrada;
return {
quantidade: novaQuantidade,
custoTotal: novoCustoTotal,
custoMedioUnitario: novoCustoTotal / novaQuantidade,
};
}
function registrarSaida(estoque, quantidade) {
if (quantidade > estoque.quantidade) {
throw new Error('Quantidade de saída maior que o saldo em estoque.');
}
const custoTotalSaida = quantidade * estoque.custoMedioUnitario;
return {
quantidade: estoque.quantidade - quantidade,
custoTotal: estoque.custoTotal - custoTotalSaida,
custoMedioUnitario: estoque.custoMedioUnitario, // não muda em saídas
};
}
Repare que registrarSaida lança um erro quando a quantidade solicitada excede o saldo — um caso de borda fácil de esquecer, mas que evita que o estoque fique negativo por uma falha de digitação ou uma venda registrada em duplicidade.
Nota sobre custos adicionais: o preço unitário usado no registrarEntrada deve, idealmente, já incluir custos vinculados à compra que compõem o custo de aquisição contábil — frete, seguro e, quando não recuperável, o ICMS-ST. Ignorar esses custos subestima o Custo Médio Unitário e infla artificialmente a margem de lucro calculada.
✔️ Conclusão
Este tutorial demonstrou como calcular o Custo Médio Ponderado para entradas e saídas de mercadorias, mantendo o controle eficiente do estoque e dos custos. Com essas informações, é possível tomar decisões mais informadas sobre preços e margens de lucro.
Comentários
Não foi possível carregar os comentários no momento.
Deixe seu comentário