Lançar um lançamento contábil no NetSuite
Lance lançamentos contábeis de tabelas de projeto do PlaidCloud no NetSuite com a etapa de fluxo de trabalho Post NetSuite Journal Entry. Este guia monta um lote a partir de uma tabela de cabeçalho e uma tabela de linhas, o visualiza sem tocar no NetSuite, depois o lança e lê o resultado.
Pré-requisitos
Seção intitulada “Pré-requisitos”- Uma conexão do NetSuite funcionando, com uma função que possa criar lançamentos contábeis (acesso de Criar no registro Journal Entry, além da configuração REST/OAuth que o guia de leitura aborda).
- Duas tabelas de origem no seu projeto:
- Uma tabela de cabeçalho com uma linha por lançamento contábil.
- Uma tabela de linhas com uma ou mais linhas de débito/crédito por lançamento contábil.
Estruture suas tabelas de cabeçalho e de linhas
Seção intitulada “Estruture suas tabelas de cabeçalho e de linhas”-
Crie ou importe uma tabela de cabeçalho com uma linha por lançamento contábil. No mínimo, ela precisa de:
Coluna Mapeia para Obrigatória Um identificador do lançamento Journal ID Sim A subsidiária do NetSuite Subsidiary Sim A data do lançamento Data de lançamento Sim A moeda do NetSuite Currency Não Uma observação no nível do lançamento Memo Não Um ID externo informado por quem chama External ID Não -
Crie ou importe uma tabela de linhas com uma ou mais linhas por lançamento contábil, compartilhando o mesmo identificador do lançamento da sua linha de cabeçalho:
Coluna Mapeia para Obrigatória O identificador do lançamento Journal ID Sim A conta do razão geral Account Sim O valor do débito (0 se não houver) Debit Sim O valor do crédito (0 se não houver) Credit Sim Uma observação no nível da linha Memo Não Departamento, classe, localização, entidade Department / Class / Location / Entity Não -
Agrupe os valores nessas duas tabelas no nível em que você está lançando — um lançamento por dia, por documento, por lote — usando suas etapas de tabela habituais (uma tabela dinâmica, uma agregação com agrupamento ou uma junção). O Journal ID é o que liga um conjunto de linhas à sua linha de cabeçalho, então crie-o como uma chave exclusiva por lançamento contábil e compartilhada por todas as linhas que pertencem a ele.
Configure a etapa
Seção intitulada “Configure a etapa”-
Adicione uma etapa Post NetSuite Journal Entry ao seu fluxo de trabalho.
-
Na guia Conexão, defina Conexão do NetSuite como sua conexão do NetSuite e escolha um Ambiente.
-
Na guia Dados:
- Defina Tabela de cabeçalho do lançamento contábil e Tabela de linhas do lançamento contábil como as tabelas que você criou acima.
- Deixe Test Only Mode marcado por enquanto — consulte Visualizar e validar.
- Deixe Continue posting remaining entries if one entry fails marcado, a menos que você prefira que um lote pare de imediato no primeiro lançamento com problema.
- Deixe Submit Asynchronously desativado, a menos que você precise especificamente do caminho de aceitação assíncrona do NetSuite para um lote de alto volume — consulte Envio assíncrono abaixo.
- Defina Tabela de resultado do lançamento como uma tabela que o PlaidCloud possa criar ou sobrescrever. Você vai querer isso em toda execução, não só na primeira — consulte Leia a tabela de resultado.
-
Na guia Mapa de cabeçalho, mapeie as colunas da sua tabela de cabeçalho para Journal ID, Subsidiary, Data de lançamento e (se você as tiver) Currency, Memo e External ID. Use Filtros de cabeçalho se quiser lançar apenas um subconjunto das linhas de cabeçalho.
-
Na guia Mapa de linhas, mapeie as colunas da sua tabela de linhas para Journal ID, Account, Debit, Credit e (se você as tiver) Memo, Department, Class, Location e Entity. Use Filtros de linhas da mesma forma.
Visualizar e validar
Seção intitulada “Visualizar e validar”Com Test Only Mode marcado, execute a etapa. O PlaidCloud monta cada lançamento contábil a partir dos seus dados mapeados e executa as mesmas verificações que faria antes de lançar — débitos e créditos balanceados, campos obrigatórios presentes, uma data de lançamento válida — sem fazer nenhuma chamada ao NetSuite. Nada é lançado.
-
Execute a etapa (consulte Executar uma única etapa em um fluxo de trabalho).
-
Abra a tabela de resultado e confirme que toda linha que você esperava lançar mostra
status = validated. Qualquer linha comerrorinforma o Journal ID do lançamento e o problema — geralmente um lançamento desbalanceado, uma Account ausente, ou uma Subsidiary ou Data de lançamento em branco. -
Corrija os dados de origem (ou seus mapeamentos e filtros) de qualquer linha
errore execute novamente até que o lote seja validado sem erros.
Lançar o lote
Seção intitulada “Lançar o lote”Quando um lote for validado sem erros, desmarque Test Only Mode e execute a etapa novamente. Desta vez, o PlaidCloud realmente lança cada lançamento validado no NetSuite.
Envio assíncrono
Seção intitulada “Envio assíncrono”Submit Asynchronously envia cada lançamento com o cabeçalho de aceitação assíncrona do NetSuite, em vez de aguardar uma criação e leitura de confirmação síncronas. O NetSuite coloca o lançamento na fila e responde imediatamente; o PlaidCloud o registra como pending, com uma referência de envio, em vez de posted ou error.
Leia a tabela de resultado
Seção intitulada “Leia a tabela de resultado”A tabela de resultado contém uma linha por lançamento contábil tentado, em qualquer modo em que a etapa tenha sido executada:
| Coluna | Descrição |
|---|---|
| journal_id | O Journal ID da sua tabela de cabeçalho. |
| external_id | O ID externo usado nesta tentativa de lançamento (veja abaixo). |
| internal_id | O ID interno do NetSuite para o lançamento criado, ou a referência de envio assíncrono enquanto estiver pending. Em branco em Test Only Mode e em caso de erro. |
| status | validated, posted, pending (Submit Asynchronously aceitou o lançamento, mas o NetSuite ainda não o confirmou) ou error. |
| message | Detalhes do erro em error. Em branco em posted/validated. |
Crie as etapas seguintes — uma notificação para qualquer linha error, uma junção de volta à sua tabela de cabeçalho para registrar internal_id — a partir desta tabela, e não a partir do status de execução da própria etapa, já que um lançamento com problema em um lote grande não faz a etapa inteira falhar quando Continue posting remaining entries está ativado.
Reexecutando um lote com segurança
Seção intitulada “Reexecutando um lote com segurança”Cada lançamento é enviado com um ID externo determinístico, construído a partir do seu projeto, da conexão, do Journal ID, da Data de lançamento e dos valores de suas linhas. Reexecutar a etapa sobre um lançamento inalterado reutiliza o mesmo ID externo, e o tratamento de ID externo do próprio NetSuite impede a criação de uma duplicata — portanto, reexecutar um fluxo de trabalho após uma falha transitória é seguro para os lançamentos que não mudaram.
Relacionados
Seção intitulada “Relacionados”- Conectar ao NetSuite — configure a conexão pela qual esta etapa lança
- Referência de Post NetSuite Journal Entry — referência completa de campos e configuração
- Exemplos de consultas SuiteQL do NetSuite — extraia as subsidiárias, contas e dimensões de que você precisará como IDs internos
- Uso avançado do Data Mapper