---
title: "Calculadora de Markup e Precificação"
method: POST
path: "/api/v1/calc/markup-precificacao"
tags: ["calc", "pj"]
---

# Calculadora de Markup e Precificação

`POST /api/v1/calc/markup-precificacao`

## Request

- Base URL: `https://api.calculas.com.br`
- URL: `https://api.calculas.com.br/api/v1/calc/markup-precificacao`
- Auth: HTTP bearer

Calcule o preço de venda ideal do seu produto usando o método divisor de markup (SEBRAE). Descubra a diferença entre markup e margem, e quanto de lucro você realmente tem.

## Request body

- object
  - `modo` 'calcular_preco' | 'calcular_margem': Modo de operação da calculadora. "calcular_preco" = informa o custo e os percentuais desejados; a calculadora determina o preço de venda ideal usando o método divisor SEBRAE. "calcular_margem" = informa o custo e o preço praticado; a calculadora calcula qual markup e margem você está obtendo. Padrão: calcular_preco.
  - `custoCents` integer, required: Custo unitário do produto ou serviço (CMV ou CPV). Valor em centavos. Ex: R$ 100 → 10000. Inclui matéria-prima, embalagem, custo de produção direto.
  - `despesasVariaveisPercent` number: Percentual de despesas variáveis sobre o preço de venda: comissões de vendedores, frete, taxas de cartão, marketplace fees, embalagem. Percentual em %. Ex: 15.0 = 15%. Padrão: 15% quando `despesasVariaveis` (array) está vazio. Quando o array `despesasVariaveis` é informado com itens, ele SUBSTITUI este percentual (o engine converte os valores absolutos em % sobre o preço final).
  - `despesasVariaveis` object[]: Despesas variáveis discriminadas em valores ABSOLUTOS por unidade vendida (em centavos), agrupadas por categoria PJ (comissão_venda usa "marketing", taxa de cartão/embalagem/frete usam "frete_logistica"/"materia_prima"/"outro" + descrição livre). Quando esse array tem itens, eles SUBSTITUEM `despesasVariaveisPercent` (que vira opcional). Quando vazio, o engine usa `despesasVariaveisPercent` (% sobre preço — comportamento legacy). Cada item: { categoria, valorCents, descricao? }. Padrão []. Use "outro" + descrição para casos não cobertos.
    - `categoria` 'aluguel_espaco' | 'mao_de_obra' | 'materia_prima' | 'marketing' | 'software_assinaturas' | 'contador_juridico' | 'utilidades' | 'frete_logistica' | 'manutencao_equipamentos' | 'plano_saude_individual' | 'seguro_vida' | 'equipamento' | 'cursos_capacitacao' | 'outro', required
    - `valorCents` integer, required: Valor em centavos. Ex: R$ 200 → 20000.
    - `descricao` string: Descrição livre do item (opcional, especialmente útil quando categoria = "outro"). Máx. 60 caracteres.
  - `impostosPercent` number: Percentual de impostos sobre faturamento (alíquota efetiva do regime tributário: DAS MEI proporcional, alíquota Simples, etc.). Percentual em %. Ex: 6.0 = 6%. Padrão: 6% (referência Simples Nacional Anexo I/III faixas iniciais).
  - `lucroDesejadoPercent` number: Percentual de lucro desejado sobre o preço de venda final (margem de lucro). Percentual em %. Ex: 15.0 = 15% de margem. Padrão: 15%.
  - `precoVendaCents` integer: Preço de venda praticado atualmente pelo usuário. Valor em centavos. Ex: R$ 150 → 15000. Obrigatório quando "modo" é "calcular_margem".
  - `currentDate` string, date-time: ISO-8601 com offset. Default: tempo do servidor. Use pra reprodutibilidade / cache semantico.

## Response `200`

OK

- object
  - `ok` true, required
  - `data` object, required: Resultado dependente da calc — ver schema individual
  - `meta` object

## Other responses

- `422`: Input invalido (Zod parse falhou)
- `500`: Engine error

---

[API](https://skmtc.dev/calculas/apis/contai-api.md) · [All operations](https://skmtc.dev/calculas/apis/contai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calculas/apis/contai-api/revisions/26a00749292b?raw)
