Manual do usuárioFluxos de trabalhoGerar um orçamento ou fatura

Gerar um orçamento ou fatura no Vecta Desk

Crie faturas automaticamente em ferramentas externas quando os negócios forem fechados.

Envie automaticamente os dados do negócio para o seu sistema de faturamento quando uma oportunidade é ganha.

Estrutura do fluxo de trabalho

  1. Gatilho: Registro é atualizado (Oportunidade).
  2. Filtro: Etapa = Venda fechada.
  3. Pesquisar registro: obter detalhes da empresa.
  4. Código (opcional): formatar o payload.
  5. Requisição HTTP: enviar para o sistema de faturamento.

Etapa 1: configurar o gatilho

  1. Crie um novo fluxo de trabalho.
  2. Selecione o gatilho Registro é atualizado.
  3. Escolha Oportunidade como o objeto.

Etapa 2: filtrar por venda fechada

Adicione uma ação de Filtro para só continuar quando o negócio for ganho:

ConfiguraçãoValor
CampoEtapa
CondiçãoIgual a
ValorVENDA_FECHADA (ou o nome da sua etapa)

O gatilho é acionado em qualquer atualização de Oportunidade. O filtro garante que o fluxo de trabalho só continue quando a etapa mudar para Venda fechada.

Etapa 3: obter detalhes da empresa

O registro de Oportunidade pode não incluir todos os campos da Empresa de que você precisa para a fatura. Adicione uma ação de Pesquisar registro:

ConfiguraçãoValor
ObjetoEmpresa
Correspondência porID igual a {{trigger.object.companyId}}

Isso obtém o registro completo da Empresa com endereço de faturamento, CNPJ, etc.

Etapa 4: formatar o payload (opcional)

Se o seu sistema de faturamento esperar um formato específico, adicione uma ação de Código:

export const main = async (params: {
  opportunity: any;
  company: any;
}): Promise<object> => {
  const { opportunity, company } = params;
 
  return {
    invoice: {
      // Dados do cliente, vindos da Empresa
      customer_name: company.name,
      customer_email: company.email || "",
      billing_address: {
        line1: company.address?.street || "",
        city: company.address?.city || "",
        postal_code: company.address?.postalCode || "",
        country: company.address?.country || ""
      },
      tax_id: company.taxId || null,
 
      // Detalhes da fatura, vindos da Oportunidade
      amount: opportunity.amount,
      currency: opportunity.currency || "BRL",
      description: `Fatura referente a ${opportunity.name}`,
      due_days: 30,
 
      // Referência de volta ao Vecta Desk
      metadata: {
        opportunity_id: opportunity.id,
        company_id: company.id
      }
    }
  };
};

Etapa 5: enviar para o sistema de faturamento

Adicione uma ação de Requisição HTTP:

ConfiguraçãoValor
MétodoPOST
URLO endpoint da API do seu sistema de faturamento
CabeçalhosAuthorization: Bearer SUA_API_KEY
Corpo{{code.invoice}} ou faça o mapeamento dos campos diretamente

Resumo completo do fluxo de trabalho

EtapaAçãoFinalidade
1Gatilho: Registro atualizadoDispara quando qualquer Oportunidade é alterada
2FiltroSó prossiga se Etapa = Venda fechada
3Pesquisar registroObter detalhes completos da Empresa para faturamento
4CódigoFormatar dados para a API de faturamento
5Requisição HTTPCriar fatura no sistema externo

Dicas

  • Armazene IDs externos: guarde o ID da fatura retornado pela API na Oportunidade usando uma ação de Atualizar registro.
  • Tratamento de erros: adicione uma ramificação para enviar uma notificação se a requisição HTTP falhar.
  • Teste primeiro: use o modo sandbox/de teste do seu sistema de faturamento antes de ir para produção.

Relacionados