Skip to content

REF-301-02: Multi-Currency Model

ADR: ADR-301 — Commerce: Quote, Order, Invoice, TaxInvoiceEscopo: BRL+USD simultâneo, preço fixo vs conversão, faixas de câmbio, cascata de fator, preço BR mais alto, sentinel, UST multi-moeda, exibição no portal


1. Princípios

PrincípioDetalhe
Duas moedas: BRL e USDTodo ponto de preço pode existir em ambas
Organization tem moeda preferencialDefinida na org, determina exibição no portal
Entidade BR cobra BRL, LLC cobra USDMoeda de pagamento segue roteamento de entidade
Preço BR intencionalmente mais altoIncentiva clientes internacionais a comprar diretamente da LLC
Cliente vê moeda do pagamentoSe pagou em BRL, vê BRL. Se pagou em USD, vê USD. Misto possível.

2. Preço Fixo por Moeda (Preferido)

Maioria dos produtos terá preço fixo explícito em BRL E USD:

Produto: "MIDDAG Moodle Connector — FULL"
├── BRL: R$ XXX (definido no WC)
├── USD: $ YY (definido no WC)
└── Sem conversão dinâmica — preços independentes

Vantagem: Preços estáveis, sem surpresas de câmbio. Admin controla diferencial BR vs LLC explicitamente.


3. Conversão Automática (Fallback)

Para produtos sem preço fixo dual-currency, conversão via faixas de câmbio:

3.1 Faixas de Câmbio

FaixaUso
LowConversão favorável ao cliente (promoções, incentivos)
MediumPróximo da cotação real (média 30 dias) — padrão
HighConversão conservadora (proteção de margem)

Valores editáveis no admin. Sem dependência de API externa — admin define manualmente.

3.2 Cascata de Fator de Conversão

Override de produto > Override de subcategoria > Override de categoria > Global

Se produto tem fator próprio, usa esse. Senão sobe para subcategoria, categoria, e finalmente global.

3.3 Câmbio Fixo por Produto

Admin pode definir câmbio fixo por produto (ex: "1 USD = 5.00 BRL"), independente das faixas.


4. Sentinel de Preço

ValorSignificado
0.01"Preço sob demanda" — requer orçamento via solicitação (Jira/Quote)

middag-account detecta sentinel 0.01 e alerta admin. Portal exibe "Entre em contato para cotação" em vez do preço.


5. UST Multi-Moeda

AspectoBRL (BR)USD (LLC)
Valor base do créditoConfigurávelIndependente por moeda (não apenas conversão)
Fatores de complexidade1x / 1.5x / 2xMesmos fatores em ambas as moedas
Taxa de adesãoConfigurávelIndependente por moeda
Mensalidade baseConfigurávelIndependente por moeda

Decisão: UST existe em ambas as moedas com valores independentes. Permite precificação específica por mercado. Serviços LLC são raros mas possíveis.


6. Moeda na Organization

CampoTipoDescrição
preferred_currencyenumBRL / USD — determina exibição no portal
billing_entityenummiddag_br / middag_global — determina moeda de pagamento

Exibição no Portal

ContextoMoeda exibida
FaturasMoeda de cada fatura (conforme pago)
QuotesMoeda preferencial da Organization
EntitlementsValor na moeda de compra original
RelatóriosSeparados por entidade (colunas BRL / USD), consolidáveis

7. Consolidação de Relatórios

AspectoDetalhe
Relatórios por entidadeBR e LLC separados (padrão)
Visão consolidadaOpcional — converte usando faixa Medium (default)
Taxa de câmbio diáriaArmazenada para relatórios históricos consolidados
Fonte da taxaManual (admin define) — sem API externa