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.
Pré-requisitos
Seção intitulada “Pré-requisitos”- 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
201e301para as entidades e4010–9999para o intervalo da DRE — substitua pelos seus.
Etapa 1: crie um fluxo de trabalho
Seção intitulada “Etapa 1: crie um fluxo de trabalho”O fluxo de trabalho é o pipeline que extrai e transforma os dados.
- Abra seu projeto e vá para a guia Fluxos de trabalho.
- Clique em Novo fluxo de trabalho, dê a ele um nome como
Intacct Financialse abra-o.
Etapa 2: extraia o balancete
Seção intitulada “Etapa 2: extraia o balancete”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.
-
Adicione uma 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 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 4010a9999Entidades suas entidades operacionais, por exemplo 201,301Dimensões ative aquelas pelas quais você reporta — normalmente Local, Departamento, Funcionário e Classe -
Defina o Destino como uma nova tabela chamada
intacct_trial_balance. -
Execute a etapa. Agora você tem uma linha por conta por combinação de dimensões, com as colunas
startbalance,periodbalanceeendbalance, além de um par ID/nome para cada dimensão que você ativou (por exemplo,departmentid/departmentname,locationname).
Etapa 3: transforme os saldos em uma DRE
Seção intitulada “Etapa 3: transforme os saldos em uma DRE”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.
-
Adicione uma etapa Table Extract. Defina sua Origem como
intacct_trial_balancee seu Destino como uma nova tabela,intacct_pnl. -
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ãofunc.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
amountcomo Moeda é o que permite que o saldo em texto seja somado. Parapnl_line, clique duas vezes na célula de expressão e insira (aponte e clique nas colunas e na funçãocasedo 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',) -
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.
Etapa 4: leia como um profissional de finanças
Seção intitulada “Etapa 4: leia como um profissional de finanças”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.
Etapa 5: coloque tudo em um painel
Seção intitulada “Etapa 5: coloque tudo em um painel”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_linepara 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.
Etapa 6: agende a atualização
Seção intitulada “Etapa 6: agende a atualização”- Execute o fluxo de trabalho inteiro uma vez, de cima para baixo, para confirmar que todas as etapas estão verdes.
- 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.
-
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 0000a9999— 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 2Entidades suas entidades operacionais, por exemplo 201,301Dimensões Departamento — a dimensão pela qual você reporta por pessoa -
Defina o Destino como uma nova tabela chamada
intacct_statistics. -
Execute a etapa. Você obtém uma linha por conta estatística por departamento, com
endbalancecontendo 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.
-
Adicione uma etapa Table Extract. Defina sua Origem como
intacct_statisticse 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'— substitua9000pelo 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;glaccountnocontinua sendo texto, então compare-o com uma string entre aspas). Execute a etapa —intacct_headcountagora tem exatamente uma linha por departamento. -
Adicione uma etapa Table Outer Join. Defina Tabela 1 como
intacct_pnle Tabela 2 comointacct_headcounte una pordepartmentname— 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. -
Execute a etapa e depois adicione uma etapa Table Extract lendo
intacct_pnl_with_headcounte 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ãointacct_pnl_with_headcount.amount / func.to_float64(intacct_pnl_with_headcount.endbalance), tipo Moeda. -
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.
O que você construiu
Seção intitulada “O que você construiu”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.
Para onde ir em seguida
Seção intitulada “Para onde ir em seguida”- Conectar ao Sage Intacct — configuração da conexão e as outras etapas de importação do Sage (faturas a pagar, linhas de contas a pagar, consultas ad hoc de objetos).
- Import Sage Intacct Query — extraia qualquer objeto do Intacct (contas do razão geral, clientes, projetos) para enriquecer seus demonstrativos.
- Etapa Table Extract e Uso avançado do Data Mapper — agrupamento, filtragem e colunas calculadas para análises mais profundas.
- Projete uma hierarquia de dimensão — consolide seu plano de contas em grupos de relatório que você controla.