Wiki
Motor de pricing
Como o motor de pricing deterministico do QuoteNode calcula totais, aplica descontos e gere IVA e multimoeda.
Motor de pricing
O QuoteNode procura uma logica de precos explicavel e reproduzivel.
Ordem de calculo
O motor segue esta sequencia:
- preco unitario base da linha
- avaliacao de regras de preco
- multiplicacao por quantidade
- desconto ao nivel da linha
- calculo de IVA da linha
- total bruto da linha
- soma do subtotal
- desconto global da proposta
- shipping
- total NET
- total IVA
- total GROSS
Cada passo acontece de forma deterministica e os resultados podem ser validados mais tarde.
Regras de preco
Targets das regras
As regras podem aplicar-se:
- por cliente
- por grupo de clientes
- a todos os produtos
- a um grupo de produtos especifico
Ambito das regras
O ambito determina se a regra afeta o catalogo inteiro ou apenas um subconjunto, como um grupo de hardware ou services.
Tipos de ajuste
Os tipos suportados incluem:
- desconto percentual
- markup percentual
- desconto fixo
- markup fixo
Prioridade e conflitos
Quando varias regras coincidem, a de prioridade mais alta vence. As regras nao se acumulam automaticamente.
Validade temporal
Cada regra pode ter janela de validade e flag ativa. So regras ativas dentro da respetiva janela entram na avaliacao.
Multimoeda
Moeda base
A moeda base do tenant continua a ser a referencia para reporting.
Moeda da proposta
A proposta pode ser emitida noutra moeda, preservando a apresentacao adequada ao cliente.
Taxa FX armazenada
A taxa usada e guardada no snapshot para garantir consistencia historica.
O sistema suporta:
- moeda base do tenant
- moeda da proposta
- taxa de cambio usada na criacao da proposta
Quando a proposta usa moeda diferente da base:
- o catalogo continua com valores na moeda base
- a taxa FX atual e aplicada na criacao
- a taxa usada fica gravada no snapshot
- os relatorios convertem de volta usando a taxa armazenada
IVA
Grupos de IVA
O IVA e calculado por linha, nao como percentagem plana sobre o total. Isto e essencial em propostas com varias taxas de IVA.
Os grupos de IVA definem as taxas disponiveis no tenant e cada produto pertence a um grupo. O total pode incluir um quadro de breakdown por taxa.
Modos de apresentacao de preco
As propostas podem mostrar preco NET, GROSS ou NET + VAT + GROSS, e essa decisao afeta tanto o PDF como o link publico.
Descontos
Descontos por linha
O motor suporta:
- descontos por linha
- desconto global
- diferentes modos de apresentacao de preco e desconto
Desconto global
Os descontos por linha sao aplicados depois da multiplicacao por quantidade e antes do IVA. O desconto global e aplicado depois da soma dos subtotais e antes de shipping e VAT final.
O sistema de templates pode mostrar descontos como:
- BAKED_IN
- SHOW_COLUMN
- HIDDEN
Display de desconto
O modo escolhido determina se o cliente ve explicitamente o desconto ou apenas o preco final resultante.
Arredondamento
Os calculos monetarios usam um modo de arredondamento consistente em toda a pipeline. O arredondamento e aplicado por linha, por montante de IVA e nos totais finais, para garantir que a soma das linhas coincide com os totais da proposta.
Totais e auditoria
Os totais calculados podem ser guardados em estrutura denormalizada e confrontados com snapshots, PDF e relatorios, garantindo auditabilidade.
Isto ajuda em:
- pesquisa rapida em listas e relatorios
- verificacao posterior de calculos
- preservacao historica quando regras de preco mudam no futuro