Simulador de Preço e Viabilidade

Selecione a empresa (parâmetros globais), informe o código do produto e simule.
Este código será consultado via sua API (Firebird).
Se você preencher, o sistema calcula margem/lucro com base nesse preço.

Simulação em lote (vários produtos)

Monte uma lista e veja o lucro líquido total somando todos os itens.
Exemplos: 136;2;16,02 (2 un. a R$ 16,02) • 000123-1;3 (3 un. no preço sugerido).
DEBUG
req_id=d2fa6d8327f7
Meta
{
    "ts": "2026-05-10T11:28:50+00:00",
    "uri": "/public/index.php?web_access_logout=1",
    "method": "GET",
    "ip": "216.73.217.132",
    "config": {
        "debug": true,
        "db": {
            "host": "localhost",
            "name": "u980600301_preco",
            "user": "u980600301_preco",
            "pass": "***",
            "charset": "utf8mb4"
        },
        "api": {
            "sql_url": "https://api.vilaema.com.br/api/index.php",
            "ssl_verify": false,
            "usuario": "***",
            "senha": "***",
            "request_format": "json",
            "auth_header": "",
            "timeout_seconds": 30,
            "nf_entrada": {
                "enabled": true,
                "sql_mode_default": "resumo_convertido",
                "sql_template": "\n                /* Última NF de entrada: custo e IPI na UNIDADE DE VENDA (não na unidade da nota).\n                 * Baseado na mesma lógica do seu relatório (qryProdutosEntradaReport) / VW_ULTIMACOMPRAPRODUTOS:\n                 * - NFE_QTD na nota pode estar em CX, mas o custo para precificação precisa ser por UN.\n                 * - custo_nf = NFE_TOTAL / qtd_convertida\n                 * - ipi_valor_unitario = NFE_VALIPI / qtd_convertida\n                 */\n                SELECT\n                    (i.NFE_TOTAL / NULLIF(\n                        CASE\n                            WHEN (e.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN i.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((i.UNIDVENDA = '') OR (i.UNIDVENDA IS NULL))\n                                          AND (i.UNIDCOMPRA = i.NFE_UNI)) THEN i.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(i.QEESTATISTICAENT, 0) > 0 THEN (i.NFE_QTD / NULLIF(i.QEESTATISTICAENT, 0))\n                                            ELSE (i.NFE_QTD * COALESCE(i.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS custo_nf,\n                    (i.NFE_VALIPI / NULLIF(\n                        CASE\n                            WHEN (e.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN i.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((i.UNIDVENDA = '') OR (i.UNIDVENDA IS NULL))\n                                          AND (i.UNIDCOMPRA = i.NFE_UNI)) THEN i.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(i.QEESTATISTICAENT, 0) > 0 THEN (i.NFE_QTD / NULLIF(i.QEESTATISTICAENT, 0))\n                                            ELSE (i.NFE_QTD * COALESCE(i.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS ipi_valor_unitario,\n                    (i.NFE_VALICM / NULLIF(\n                        CASE\n                            WHEN (e.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN i.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((i.UNIDVENDA = '') OR (i.UNIDVENDA IS NULL))\n                                          AND (i.UNIDCOMPRA = i.NFE_UNI)) THEN i.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(i.QEESTATISTICAENT, 0) > 0 THEN (i.NFE_QTD / NULLIF(i.QEESTATISTICAENT, 0))\n                                            ELSE (i.NFE_QTD * COALESCE(i.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS nfe_icm_credito_mon,\n                    i.NFE_VALICM AS nfe_icm_valor_total,\n                    i.NFE_QTD AS nfe_qtd,\n                    i.NFE_UNI AS nfe_unidade,\n                    COALESCE(NULLIF(i.UNIDVENDA, ''), NULLIF(i.UNIDCOMPRA, ''), i.NFE_UNI) AS unidade_saida,\n                    (\n                        CASE\n                            WHEN (e.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN i.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((i.UNIDVENDA = '') OR (i.UNIDVENDA IS NULL))\n                                          AND (i.UNIDCOMPRA = i.NFE_UNI)) THEN i.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(i.QEESTATISTICAENT, 0) > 0 THEN (i.NFE_QTD / NULLIF(i.QEESTATISTICAENT, 0))\n                                            ELSE (i.NFE_QTD * COALESCE(i.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    ) AS nfe_qtd_saida_equiv,\n                    i.NFE_ICM AS nfe_icm_aliquota,\n                    e.NFE_DOC AS nf_numero,\n                    e.NFE_EMISSAO AS nf_data\n                FROM PRONFENTRADAITENS i\n                JOIN PRONFENTRADA e\n                  ON e.EMP_COD = i.EMP_COD\n                 AND e.NFE_NUM = i.NFE_NUM\n                JOIN PROPRODUTOS p\n                  ON p.EMP_COD = i.EMP_COD\n                 AND p.PRO_REDUZI = i.PRO_OUTRO\n                WHERE i.EMP_COD = {{empresaCod}}\n                  AND p.PRO_REDUZI = '{{codigo}}'\n                  AND i.NFE_STATUS = 'F'\n                  AND e.NFE_DOC IS NOT NULL\n                  AND e.NFE_DOC <> ''\n                  AND e.NFE_TE IN ('110','210','111','211')\n                ORDER BY e.DAT_CAD DESC, CAST(e.NFE_DOC AS INTEGER) DESC\n                ROWS 1\n            ",
                "sql_template_detalhe": "\n                /* Última NF de entrada (DETALHE):\n                 * Retorna dados do cabeçalho + item, e também colunas normalizadas para o motor.\n                 */\n                SELECT FIRST 1\n                    pn.EMP_COD AS emp_cod,\n                    pn.NFE_NUM AS nfe_num,\n                    pn.NFE_DOC AS nf_numero,\n                    pn.NFE_SERIE AS nf_serie,\n                    pn.FOR_COD AS fornecedor_cod,\n                    pn.NFE_EMISSAO AS nf_data,\n                    pn.NFE_STATUS AS nf_status,\n                    pn.NFE_TIPO AS nf_tipo,\n                    pn.DAT_CAD AS nf_dat_cad,\n\n                    pei.NFE_ITEM AS nfe_item,\n                    pei.PRO_COD AS pro_cod,\n                    pei.PRO_OUTRO AS produto_codigo,\n                    pei.NFE_UNI AS nfe_unidade,\n                    pei.NFE_QTD AS nfe_qtd,\n                    pei.NFE_UNITARIO AS nfe_unitario,\n                    pei.NFE_TOTAL AS nfe_total,\n                    pei.NFE_VALICM AS nfe_icm_valor_total,\n                    pei.NFE_BASEICM AS nfe_baseicm,\n                    pei.NFE_TES AS nfe_tes,\n                    pei.NFE_ICM AS nfe_icm_aliquota,\n                    pei.NFE_MVA AS nfe_mva,\n                    pei.NFE_CUSTO_UNITARIO AS nfe_custo_unitario,\n\n                    -- Normalizações (mesma lógica do resumo_convertido)\n                    (pei.NFE_TOTAL / NULLIF(\n                        CASE\n                            WHEN (pn.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN pei.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((pei.UNIDVENDA = '') OR (pei.UNIDVENDA IS NULL))\n                                          AND (pei.UNIDCOMPRA = pei.NFE_UNI)) THEN pei.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(pei.QEESTATISTICAENT, 0) > 0 THEN (pei.NFE_QTD / NULLIF(pei.QEESTATISTICAENT, 0))\n                                            ELSE (pei.NFE_QTD * COALESCE(pei.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS custo_nf,\n                    (pei.NFE_VALIPI / NULLIF(\n                        CASE\n                            WHEN (pn.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN pei.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((pei.UNIDVENDA = '') OR (pei.UNIDVENDA IS NULL))\n                                          AND (pei.UNIDCOMPRA = pei.NFE_UNI)) THEN pei.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(pei.QEESTATISTICAENT, 0) > 0 THEN (pei.NFE_QTD / NULLIF(pei.QEESTATISTICAENT, 0))\n                                            ELSE (pei.NFE_QTD * COALESCE(pei.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS ipi_valor_unitario,\n                    (pei.NFE_VALICM / NULLIF(\n                        CASE\n                            WHEN (pn.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN pei.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((pei.UNIDVENDA = '') OR (pei.UNIDVENDA IS NULL))\n                                          AND (pei.UNIDCOMPRA = pei.NFE_UNI)) THEN pei.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(pei.QEESTATISTICAENT, 0) > 0 THEN (pei.NFE_QTD / NULLIF(pei.QEESTATISTICAENT, 0))\n                                            ELSE (pei.NFE_QTD * COALESCE(pei.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    , 0)) AS nfe_icm_credito_mon,\n                    COALESCE(NULLIF(pei.UNIDVENDA, ''), NULLIF(pei.UNIDCOMPRA, ''), pei.NFE_UNI) AS unidade_saida,\n                    (\n                        CASE\n                            WHEN (pn.NFE_TIPO NOT IN ('0', '4', '6', '7')) THEN pei.NFE_QTD\n                            ELSE\n                                CASE\n                                    WHEN (((pei.UNIDVENDA = '') OR (pei.UNIDVENDA IS NULL))\n                                          AND (pei.UNIDCOMPRA = pei.NFE_UNI)) THEN pei.NFE_QTD\n                                    ELSE\n                                        CASE\n                                            WHEN COALESCE(pei.QEESTATISTICAENT, 0) > 0 THEN (pei.NFE_QTD / NULLIF(pei.QEESTATISTICAENT, 0))\n                                            ELSE (pei.NFE_QTD * COALESCE(pei.QECOMPRA, 0))\n                                        END\n                                END\n                        END\n                    ) AS nfe_qtd_saida_equiv\n                FROM ProNFEntradaItens pei\n                JOIN ProNFEntrada pn\n                  ON pn.EMP_COD = pei.EMP_COD\n                 AND pn.NFE_NUM = pei.NFE_NUM\n                WHERE pei.EMP_COD = {{empresaCod}}\n                  AND pei.PRO_OUTRO = '{{codigo}}'\n                  AND pn.NFE_TIPO = '0'\n                  AND pn.NFE_STATUS = 'F'\n                ORDER BY pn.DAT_CAD DESC, pn.NFE_NUM DESC\n            "
            }
        }
    },
    "db_dsn": "mysql:host=localhost;dbname=u980600301_preco;charset=utf8mb4",
    "db_user": "u980600301_preco"
}
SQL (1)
#1 (39.44ms)
SELECT * FROM empresas ORDER BY nome
params: []
HTTP/API (0)
PHP (0)