Pular para o conteúdo

Analise as finanças do Sage Intacct — da conexão ao balancete

~40 minutos · uma conexão ativa com o Sage Intacct, um balancete carregado, uma DRE departamental, um painel e uma atualização agendada

Este é o caminho do primeiro dia para um controller ou analista de FP&A que usa o Sage Intacct: ao final, você terá extraído saldos de contas por dimensão diretamente do Intacct, transformado em um balancete e uma DRE departamentais que se leem como um demonstrativo, colocado tudo em um painel e configurado para ser atualizado sozinho. Sem exportar relatórios prontos, sem redigitação manual — os números vêm do Intacct e permanecem atualizados.

Você vai conectar uma vez, extrair uma vez e depois fazer a parte que realmente importa: transformar saldos brutos nos resumos que uma pessoa de negócios lê na manhã de segunda-feira.

Sage IntacctImportar SageTabela do balanceteAgrupar & somarDRE
Conecte, extraia os saldos uma vez e depois transforme-os em demonstrativos que você lê — tudo reexecutável em um agendamento.
  • Um espaço de trabalho do PlaidCloud e um projeto para trabalhar (inicie um teste se precisar de um).
  • Uma conexão ativa com o Sage Intacct. Siga primeiro Conectar ao Sage Intacct — você precisa de Web Services habilitado, de um usuário de serviço web com permissão nos objetos que vai ler e dos quatro campos de credencial da conexão: ID do cliente, Segredo do cliente, Nome de usuário do usuário de serviço web e ID da empresa. Confirme que a conexão funciona antes de começar aqui.
  • Conheça suas entidades operacionais (os IDs de entidade sobre os quais você reporta) e, aproximadamente, qual intervalo de números de conta contém suas contas de DRE (receita e despesa). Os exemplos abaixo usam 201 e 301 para as entidades e 4010–9999 para o intervalo da DRE — substitua pelos seus.

O fluxo de trabalho é o pipeline que extrai e transforma os dados.

  1. Abra seu projeto e vá para a guia Fluxos de trabalho.
  2. Clique em Novo fluxo de trabalho, dê a ele um nome como Intacct Financials e abra-o.

A etapa Importar Sage extrai os saldos de contas para um intervalo de datas e um intervalo de contas, levando as dimensões que você escolher para cada linha — esse é o seu balancete.

  1. Adicione uma etapa Importar Sage.

  2. Em sua configuração, defina:

    Campo Valor
    Conexão sua conexão do Sage Intacct
    Empresa a empresa do Intacct de onde ler
    Data inicial / Data final o período que você está fechando — por exemplo, o primeiro e o último dia do mês
    Conta inicial / Conta final seu intervalo da DRE, por exemplo 4010 a 9999
    Entidades suas entidades operacionais, por exemplo 201, 301
    Dimensões ative aquelas pelas quais você reporta — normalmente Local, Departamento, Funcionário e Classe
  3. Defina o Destino como uma nova tabela chamada intacct_trial_balance.

  4. Execute a etapa. Agora você tem uma linha por conta por combinação de dimensões, com as colunas startbalance, periodbalance e endbalance, além de um par ID/nome para cada dimensão que você ativou (por exemplo, departmentid / departmentname, locationname).

Agora a análise, feita com uma única transformação de apontar e clicar — sem SQL. Seu intervalo da DRE é consolidado em algumas linhas do demonstrativo, por departamento, com o sinal invertido para que a receita apareça positiva. Uma etapa Table Extract faz tudo isso nas guias Seleção de dados da tabela e Filtros de dados.

  1. Adicione uma etapa Table Extract. Defina sua Origem como intacct_trial_balance e seu Destino como uma nova tabela, intacct_pnl.

  2. Na guia Seleção de dados da tabela, clique em Resumir para ativar a agregação e, em seguida, configure três colunas de destino:

    • departmentname — mapeada diretamente da origem. Tipo Texto, resumir Agrupar por.
    • pnl_line — uma expressão (abaixo) que transforma o número da conta em uma linha do relatório. Tipo Texto, resumir Agrupar por.
    • amount — uma expressão func.to_float64(intacct_trial_balance.endbalance) * -1, que converte o saldo em texto para um número e inverte o sinal. Tipo Moeda, resumir Soma.

    Definir o Tipo da coluna de destino amount como Moeda é o que permite que o saldo em texto seja somado. Para pnl_line, clique duas vezes na célula de expressão e insira (aponte e clique nas colunas e na função case do grupo Condições):

    case(
    (func.to_float64(intacct_trial_balance.glaccountno) < 5000, '1 - Revenue'),
    (func.to_float64(intacct_trial_balance.glaccountno) < 6000, '2 - Cost of Goods Sold'),
    else_='3 - Operating Expenses',
    )
  3. Execute a etapa.

O * -1 é o único movimento contábil: o Intacct registra a receita como crédito (negativo) e as despesas como débito (positivo), então negar o saldo final faz com que a receita apareça positiva e os custos negativos — as linhas de cada departamento então somam o lucro líquido. Ajuste os limites de número de conta em case() para corresponder ao seu plano de contas. As expressões usam o editor de apontar e clicar do PlaidCloud — veja Uso avançado do Data Mapper e a referência de expressões.

Abra a tabela intacct_pnl. Para cada departamento, você tem três números:

departmentname pnl_line amount
Operações 1 - Revenue 486,200.00
Operações 2 - Cost of Goods Sold -190,540.00
Operações 3 - Operating Expenses -212,880.00

Leia diretamente dela:

  • Lucro bruto = Receita + Custo dos produtos vendidos (o CPV já é negativo) → 486,200 − 190,540 = 295,660.
  • Lucro líquido = as três linhas somadas → 82,780.
  • Margem bruta % = lucro bruto ÷ receita → ~61%.

A primeira coisa a fazer é conferir: execute a própria DRE do Intacct (Financial Reports) para o mesmo período e as mesmas entidades e confirme que a receita e o lucro líquido coincidem. Se não coincidirem, quase sempre é uma diferença de escopo — uma entidade que você não incluiu, um intervalo de contas que corta parte da DRE ou um desalinhamento de período. Confie no pipeline somente depois que ele conferir.

Números em uma tabela são úteis; um gráfico é o que você envia ao CFO. Publique intacct_pnl e depois siga Crie um painel para adicionar:

  • um gráfico de barras do lucro líquido (ou da receita) por departmentname, e
  • um gráfico de barras de cada pnl_line para que a composição de receita / CPV / despesas operacionais fique visível de relance.

Esse é um painel financeiro do Sage Intacct ao vivo — sem exportação, atualizado sempre que o fluxo de trabalho é executado.

  1. Execute o fluxo de trabalho inteiro uma vez, de cima para baixo, para confirmar que todas as etapas estão verdes.
  2. Agende o fluxo de trabalho — mensalmente no ritmo do fechamento, ou semanalmente se você quiser os números atualizados ao longo do mês.

Como a extração substitui a tabela inteira, cada execução lê novamente os saldos do intervalo de datas e de contas que você definiu — mantenha-os na janela de que você precisa (o período atual, suas contas de DRE) em vez de todo o histórico.

Etapa 7: adicione uma métrica por pessoa com contas estatísticas

Seção intitulada “Etapa 7: adicione uma métrica por pessoa com contas estatísticas”

O Intacct também acompanha contas estatísticas não monetárias — número de funcionários, metragem quadrada, unidades — ao lado do seu plano de contas financeiro. Extraia-as com uma segunda etapa Importar Sage configurada no modo estatístico e depois una-as à DRE para ler uma métrica como despesa operacional por funcionário, por departamento. Mais três etapas padrão, ainda sem SQL.

  1. Adicione uma segunda etapa Importar Sage. Em sua configuração, defina:

    Campo Valor
    Conexão sua conexão do Sage Intacct
    Empresa a empresa do Intacct de onde ler
    Data inicial / Data final o mesmo período da Etapa 2
    Estatístico Somente estatístico
    Conta inicial / Conta final 0000 a 9999 — não há garantia de que as contas estatísticas estejam dentro da numeração do seu plano de contas financeiro, então extraia o intervalo completo em vez do intervalo da DRE da Etapa 2
    Entidades suas entidades operacionais, por exemplo 201, 301
    Dimensões Departamento — a dimensão pela qual você reporta por pessoa
  2. Defina o Destino como uma nova tabela chamada intacct_statistics.

  3. Execute a etapa. Você obtém uma linha por conta estatística por departamento, com endbalance contendo a própria estatística — por exemplo, o número de funcionários desse departamento no fim do período.

Agora traga o número de funcionários para a DRE e divida — mas não diretamente a partir de intacct_statistics. Essa tabela tem uma linha por conta estatística por departamento (número de funcionários, metragem quadrada, unidades, o que você acompanhar), então uma junção apenas por departmentname multiplicaria cada linha da DRE uma vez por conta estatística naquele departamento, e amount_per_head seria dividido por qualquer conta estatística que acabasse na linha. Filtre primeiro pelo número de funcionários para que a junção tenha uma linha por departamento e a razão faça sentido.

  1. Adicione uma etapa Table Extract. Defina sua Origem como intacct_statistics e seu Destino como uma nova tabela, intacct_headcount. Em Seleção de dados da tabela, propague todas as colunas sem alterações — nenhuma agregação é necessária aqui. Na guia Filtros de dados, adicione um filtro Selecionar subconjunto de dados nos dados de origem: intacct_statistics.glaccountno == '9000' — substitua 9000 pelo número da sua própria conta estatística de número de funcionários (filtre pela coluna de nome da conta, se for isso que sua extração retorna; glaccountno continua sendo texto, então compare-o com uma string entre aspas). Execute a etapa — intacct_headcount agora tem exatamente uma linha por departamento.

  2. Adicione uma etapa Table Outer Join. Defina Tabela 1 como intacct_pnl e Tabela 2 como intacct_headcount e una por departmentname — agora uma correspondência 1:1 limpa por departamento. Deixe Tipo de junção no padrão, Junção à esquerda — todas as linhas da DRE são mantidas, com o número de funcionários preenchido onde o departamento corresponde. Defina como destino uma nova tabela, intacct_pnl_with_headcount, e propague todas as colunas de ambas as tabelas.

  3. Execute a etapa e depois adicione uma etapa Table Extract lendo intacct_pnl_with_headcount e tendo como destino uma nova tabela, intacct_pnl_per_head. Em Seleção de dados da tabela, propague as colunas existentes e depois adicione mais uma coluna de destino: amount_per_head, uma expressão intacct_pnl_with_headcount.amount / func.to_float64(intacct_pnl_with_headcount.endbalance), tipo Moeda.

  4. Execute a etapa.

Leia o amount_per_head da linha 3 - Operating Expenses para obter a despesa operacional por funcionário, por departamento — a mesma leitura da Etapa 4, uma coluna mais a fundo. Adicione-o ao painel ao lado da DRE ou inclua-o no agendamento da Etapa 6 para que seja atualizado junto com todo o resto.

Partindo de um fluxo de trabalho vazio, você extraiu saldos de contas ao vivo do Sage Intacct, transformou-os em uma DRE departamental com uma única etapa de transformação padrão, uniu contas estatísticas para obter uma métrica por pessoa — sem SQL em nenhum ponto do pipeline —, colocou tudo em um painel e o configurou para atualização — o ciclo central de relatórios que uma equipe de finanças executa, agora automatizado.