Skip to content

Operações Multi-Entidade ​

A MIDDAG opera como duas entidades legais: MIDDAG BR (empresa brasileira, Brasília/DF) e MIDDAG GLOBAL (US LLC). O MIDDAG Account roteia toda transação financeira, chamada de integração e operação fiscal para a entidade correta. Esta página explica como esse roteamento funciona e o que ele afeta.

As duas entidades ​

AtributoMIDDAG BRMIDDAG GLOBAL (LLC)
Jurisdição legalBrasil (Brasília/DF)Estados Unidos
MoedaBRL (Real Brasileiro)USD (Dólar Americano)
Gateway de pagamentoStripe BR + Banco Inter (Pix/Boleto)Stripe GLOBAL (apenas cartão)
CRMPortal HubSpot BRPortal HubSpot GLOBAL
Notas fiscaisNFSe via ISSNet (obrigatória para serviços)Nenhuma (sem exigência de NFSe)
Conta StripeConta separada (middag_br)Conta separada (middag_global)

Como funciona o roteamento por entidade ​

Toda transação no MIDDAG Account carrega um contexto de entidade. O sistema determina a entidade correta usando uma cadeia de resolução:

A prioridade de resolução:

  1. Entidade de faturamento explícita na Organização (mais confiável -- definida durante o onboarding).
  2. Tipo de identificador fiscal -- CNPJ roteia para BR; EIN/VAT roteia para GLOBAL.
  3. Tag de entidade no produto -- Produtos no catálogo podem especificar a qual entidade pertencem.
  4. Fallback de moeda -- BRL implica BR, USD implica GLOBAL.
  5. Substituição pelo admin -- O admin pode sobrescrever o roteamento por entidade por transação.

O que o contexto de entidade afeta ​

Seleção da conta Stripe ​

Cada entidade possui sua própria conta Stripe com chaves de API, segredos de webhook e registros de clientes separados. Ao processar um pagamento:

  • Transações BR passam pela conta Stripe middag_br.
  • Transações GLOBAL passam pela conta Stripe middag_global.
  • Endpoints de webhook são separados: /webhooks/stripe/br e /webhooks/stripe/llc.
  • Registros de fatura são marcados com a conta Stripe de origem para filtragem.

Métodos de pagamento ​

EntidadeCartão de créditoPixBoleto
BRSim (Stripe)Sim (Banco Inter)Sim (Banco Inter)
GLOBALSim (Stripe)NãoNão

Clientes BR têm acesso aos métodos de pagamento locais brasileiros. Clientes GLOBAL utilizam apenas cartão de crédito.

HubSpot CRM ​

Cada entidade possui seu próprio portal HubSpot:

  • Negociações, cotações e contatos são sincronizados para o portal correto com base na entidade.
  • Webhooks de cotação carregam o identificador hubspot_account (middag_br ou middag_global).
  • Atualizações de status (cotação aceita, paga) são sincronizadas de volta ao portal de origem.

Notas fiscais ​

  • Transações BR acionam a emissão automática de NFSe (nota fiscal) via ISSNet.
  • Transações GLOBAL não geram notas fiscais. A fatura do Stripe serve como registro financeiro.

Precificação ​

Produtos podem ter precificação dual:

  • Um preço em BRL para clientes BR.
  • Um preço em USD para clientes GLOBAL.

O sistema utiliza preços duais fixos quando configurados, ou recorre a faixas de câmbio configuráveis. A precificação BR é intencionalmente posicionada acima da precificação GLOBAL para incentivar compras internacionais pela LLC.

Configuração no nível da Organização ​

Uma Organização pode ter identificadores para ambas as entidades simultaneamente:

CampoFinalidade
stripe_customer_id_brStripe Customer ID na conta BR
stripe_customer_id_llcStripe Customer ID na conta GLOBAL
hubspot_company_id_brHubSpot Company ID no portal BR
hubspot_company_id_llcHubSpot Company ID no portal GLOBAL
billing_entityEntidade primária para esta Organização

Isso permite que uma única Organização tenha transações em ambas as entidades -- por exemplo, uma empresa brasileira que também adquire produtos denominados em USD.

Contexto de entidade no nível da API ​

Toda requisição à API pode carregar contexto de entidade via header X-Middag-Company:

  • middag_br -- Limitar a requisição a dados BR.
  • middag_global -- Limitar a requisição a dados GLOBAL.
  • Omitido -- Retornar dados de ambas as entidades (visão unificada).

Este header é utilizado pelo portal para filtrar faturas, pedidos e cotações por entidade, e pelo painel admin para rotear operações corretamente.

Cenários cross-entity ​

CenárioComo funciona
Org BR compra um produto em USDTag de entidade do produto roteia para Stripe GLOBAL
Uma org, transações em ambas as moedasAmbos Stripe Customer IDs vinculados; portal mostra lista unificada
Cotação do HubSpot BR, pagamento via GLOBALAdmin sobrescreve entidade no momento do pagamento (raro)
NFSe necessária para transação GLOBALNão suportado -- NFSe é exclusivo para BR
Admin cria cotação para qualquer entidadeAdmin seleciona entidade explicitamente durante a criação

Páginas relacionadas ​