Funcionalidades

Tudo o que precisa para configurar, calcular e vender

Do formulário dinâmico ao BOM de produção, o CPQ.core cobre todo o ciclo de configuração e pricing de produtos complexos.

Formulários Dinâmicos

Crie configuradores de produto completos sem escrever HTML ou JavaScript. Defina campos, validações e lógica condicional no schema.

  • 10 tipos de campo

    Numérico, slider, dropdown, rádio, swatch visual, checkbox, texto, data, quantidade e hidden.

  • 👁

    Visibilidade condicional

    Campos e grupos que aparecem ou desaparecem conforme a configuração do utilizador.

  • 🔄

    Refresh automático

    Opções que alteram a estrutura do formulário recarregam-no automaticamente.

  • 4 layouts

    Secções, tabs, accordion ou inline. O layout pode até ser escolhido pelo utilizador.

form {
    dynamic: "fields"
    layout: "tabs"

    groups {
        dimensoes: { label: $"group_dimensoes", order: 1 }
        acabamentos: {
            label: $"group_acabamentos"
            visible_when: tipo_produto != "standard"
        }
    }

    fields {
        largura: {
            type: number
            label: $"label_largura"
            unit: "mm"
            min: 400, max: 2400
        }
        cor: {
            type: swatch
            label: $"label_cor"
            options: ["branco", "cinza", "preto"]
        }
        vidro_duplo: {
            type: checkbox
            label: $"label_vidro_duplo"
            visible_when: tipo_produto == "premium"
        }
    }
}

Tipos de Campo Suportados

123
Numérico
mm, kg, m²
Slider
Range visual
Dropdown
Select
Rádio
Botões inline
Swatch
Cores/materiais
Checkbox
Toggle on/off
Aa
Texto
Texto livre
📅
Data
Date picker
×1
Quantidade
Com presets
Hidden
Campo oculto

Pricing, Lista de Materiais, Informações de Produção

Obtenha automaticamente qualquer informação derivada da configuração: preço, lista de materiais, tempos de produção, pesos, volumes e quaisquer outros dados que defina como output.

  • 💰

    Cálculo instantâneo

    Todos os outputs actualizam-se a cada alteração de configuração, sem recarregar a página.

  • 📜

    Grupos de output livres

    Defina grupos como "produção", "expedição", "qualidade" — cada um com os campos que precisar: m², metros lineares, tempos, pesos, unidades.

  • 📈

    Price breaks e interpolação

    Tabelas de preço por quantidade com interpolação linear automática entre faixas.

  • 💲

    Moeda formatada

    EUR, USD, GBP, BRL com separadores, decimais e posição do símbolo por locale.

// Tabelas de preço e materiais
table precos_vidro {
    1: 85.00     // até 1m²
    3: 72.00     // até 3m²
    6: 65.00     // até 6m²
}

// Cálculos
let area = largura * altura / 1000000
let preco_m2 = interpolate(precos_vidro, area)
let perimetro = (largura + altura) * 2 / 1000

add price: area * preco_m2
multiply price by 1.23  // IVA

// BOM para produção
output {
    production {
        vidro_m2: round(area, 2)
        perfil_m: round(perimetro, 1)
        kit_ferragens: 1
        parafusos: ceil(perimetro * 5)
    }
}

Regras Declarativas, Não Código

Toda a lógica de configuração e pricing num schema legível. Sem programação convencional, sem deploy de código.

  • 📑

    Tabelas de lookup

    Mapeie materiais a preços, cores a referências, quantidades a descontos.

  • 🔌

    Lógica condicional

    If/else para regras de negócio complexas: sobretaxas, promoções, restrições.

  • 🔁

    Funções reutilizáveis

    Defina cálculos complexos uma vez, use em múltiplos produtos.

  • 🔗

    Templates partilhados

    Inclua tabelas e funções comuns entre produtos com cpq://system/...

include "cpq://system/base_caixilharia"

@config {
    let margem = 1.15
    let iva = 0.23
}

func preco_perfil(metros, tipo) {
    let base = lookup(tabela_perfis, tipo)
    let custo = metros * base.preco_m
    return custo * @config.margem
}

let custo_perfil = preco_perfil(perimetro, tipo_perfil)
let custo_vidro = area * preco_m2_vidro

add price: custo_perfil + custo_vidro
multiply price by (1 + @config.iva)

error_if area > 6 : $"err_area_max" { max: 6 }
warn_if area > 4 : $"warn_area_grande"

Validação e Internacionalização

Previna encomendas impossíveis e fale a língua de cada cliente.

Erros Bloqueantes

Regras que impedem configurações impossíveis de produzir. O utilizador vê uma mensagem clara com os valores em causa.

Avisos

Alertas não-bloqueantes para situações especiais: quantidades elevadas, dimensões fora do comum, prazos afectados.

🌐

Multi-idioma

Labels, erros, opções de select — tudo traduzível. Suporte a PT, EN, ES, FR, DE e outros idiomas.

📑

Mensagens Dinâmicas

Interpolação de valores nas mensagens: "Área 15m² excede máximo de 10m²" gerado automaticamente.

📂

Hierarquia de Traduções

Traduções ao nível do sistema, tenant e produto. Cada nível pode sobrepor o anterior para personalização total.

💰

Moedas por Locale

Formatação automática de moeda com símbolo, separadores e decimais correctos para cada mercado.

Plugins para as Principais Plataformas

Plugins prontos com paridade de funcionalidades. Instale, configure e comece a vender produtos configuráveis.

Magento 2
WooCommerce
Shopify
PrestaShop
FluentCart
API REST

Funcionalidades em Todas as Plataformas

Todos os Tipos de Campo

Todos os 10 tipos de campo suportados em cada plataforma, com o mesmo comportamento.

💰

Pricing em Tempo Real

Preço actualizado a cada alteração, integrado nativamente com o carrinho de compras.

🛒

Integração com Carrinho

Configuração guardada na encomenda. BOM disponível para cada item no checkout.

6 Temas Visuais

Adapte o configurador à identidade visual da loja. Personalização adicional via CSS.

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Default

Design limpo e moderno

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Corporate

Profissional, tons escuros

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Industrial

Bold, accent laranja

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Large

Fontes maiores, acessibilidade

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Compact

Mais campos, menos espaço

Configurar Produto
Largura (mm)
Material
Cor
€ 142,50
Adicionar

Minimal

Sem bordas, minimalista

Backoffice e API

Painel completo para gerir produtos e API documentada para integrações personalizadas.

  • 📝

    Editor com Syntax Highlighting

    Editor de código com autocomplete, validação em tempo real e navegação por secções.

  • 📊

    Simulador de Preços

    Teste configurações e veja preços antes de publicar. Erros com link directo para a linha do schema.

  • 👥

    Multi-tenant com Roles

    Admin, editor e viewer. Dados isolados por tenant com API Keys dedicadas.

  • 📚

    API REST Documentada

    Especificação OpenAPI, guia de início rápido e portal de documentação interactivo.

// Fluxo típico de integração via API

// 1. Obter formulário do produto
GET /v1/products/janela-aluminio/form
    ?tenant_id=demo&lang=pt-PT

// 2. Utilizador preenche configuração
//    (formulário renderizado pelo frontend)

// 3. Calcular preço e BOM
POST /v1/calculate
{
    "product_id": "janela-aluminio",
    "configuration": {
        "largura": 1200,
        "altura": 1000,
        "vidro": "temperado"
    },
    "quantity": 5,
    "output_groups": ["*"]
}

// Resposta: preço + BOM + warnings

Pronto para configurar?

Crie uma conta gratuita e teste o CPQ.core com os produtos de demonstração.