Esse texto tem como principal objetivo auxiliar pessoas que estão iniciando o desenvolvimento em Netsuite a partir de scripts, pessoas interessadas em conhecer a ferramenta antes de iniciar o desenvolvimento e pessoas curiosas que não fazem ideia do que é Netsuite e estão pensando em utilizar dessa ferramenta em sua empresa.

Antes de começar a falar de conhecimentos mais profundos a respeito do desenvolvimento no Netsuite é necessário definir alguns conceitos chaves.

ERPs – O que é e como isso pode auxiliar minha empresa?

ERP é a sigla para Enterprise Resourse Planning, ou Sistema de Gestão Empresarial em português. Define-se como ERP todo sistema que tem como principal objetivo integrar todos os dados de uma empresa. Tais dados, podem ir desde gerenciamento de projetos, RH e Marketing até gestão contábil, financeira e de estoque.

O principal motivo para uma empresa utilizar um ERP é conseguir parametrizar e organizar diversas informações que a princípio não estão interligadas. Isso permite, por exemplo, emitir relatórios respondendo perguntas como: “Qual cliente gerou mais receita para a empresa?”, “Como as estratégias de Marketing afetaram as vendas?” ou “Qual tipo de profissional minha empresa mais precisa?”.

O foco de um ERP são as regras de negócio bem definidas e a integração de uma quantidade enorme de dados. No entanto, cada empresa possui particularidades com relação às regras de negócio e ao tipo de dados que lhe interessam. Por isso, é interessante que um bom ERP seja altamente parametrizável e possua regras de boas práticas de gestão empresarial bem definidas, o que nos leva ao Netsuite.

Netsuite

O Netsuite nada mais é que um serviço oferecido pela Oracle com o objetivo de ser um ERP customizável com dados 100% armazenados na nuvem. Atualmente o Netsuite é o líder do mercado estando presente em mais de 40.000 empresas e 100 países. Além disso, o Netsuite é utilizado por gigantes como a Siemens e o Golden State Warriors, um dos maiores times da NBA da atualidade.

Justamente por ser uma ferramenta customizável, é interessante que um desenvolvedor seja responsável por realizar as configurações e desenvolver as customizações necessárias para melhor atender as especificações do cliente.

Qual o papel do desenvolvedor nessa história toda?

Uma das perguntas que mais ouço no meu dia a dia é “O que um desenvolvedor faz no Netsuite?”. Para um desenvolvedor que começa a explorar essa ferramenta, é natural que o mesmo se encontre “perdido” em meio a tantos recursos do sistema e a um paradigma de desenvolvimento completamente diferente. Por isso, é necessário conhecer as principais ferramentas fornecidas pelo Netsuite antes de começar a definir a arquitetura do sistema, evitando assim retrabalho e atrasos na implementação do sistema.

Antes de mais nada, é importante que você estude bastante como funciona as ferramentas nativas do Netsuite. Em alguns casos é possível resolver problemas do seu negócio com apenas algumas configurações já presentes no sistema. No entanto, cada empresa possui uma particularidade com relação ao tipo de negócio que realiza, portanto customizar pode ser muito importante.

SuiteScript

O Suitescript é uma API do Netsuite que permite o desenvolvimento de Scripts em Javascript. Ele funciona com tipos definidos de Scripts que executam na nuvem. Cada um deles possui funções previamente definidas que são disparadas por eventos relacionados ao usuário ou rotinas agendadas. A seguir vou descrever brevemente cada tipo de Script do Netsuite e em qual situação cada um deles é mais adequado. O objetivo aqui é dar uma visão das possibilidades que o Netsuite apresenta para o seu tipo de negócio.

1 – Client Script

Os Client Scripts são scripts que são executados a partir de gatilhos definidos no browser como preenchimento e alteração de campos nos formulários. Esse tipo de script é mais adequado para situações em que é desejável um feedback das ações do usuário ou para evitar erros relacionados a operação do sistema. Como por exemplo, exibir pop-ups caso o usuário esteja preenchendo algum campo de maneira errada.

2 – User Event Script

Os User Event Scripts são scripts executados do lado do servidor do Netsuite. O gatilho que ativa a execução desse script é quando registros são carregados ou submetidos no banco de dados. Esse tipo de script deve ser utilizado para realizar a manipulação de registros ou quando é necessário realizar buscas de dados que o perfil do usuário não tem acesso. Além de validar os dados inseridos pelo usuário, aumentando a segurança e confiabilidade do sistema.

3 – Scheduled Script

Como o próprio nome já diz, os Scheduled Scripts são scripts que são executados com periodicidade definida pelo desenvolvedor ou disparados manualmente. A melhor situação para utilizá-los é quando se deseja atualizar uma quantidade considerável de registros periodicamente.

4 – Suitelet Script

Caso nenhuma das soluções de front-end do Netsuite atenda seu negócio, comece a considerar o uso de um Suitelet. Esses Scripts executam no lado do servidor e são capazes de criar telas customizáveis a partir de elementos pré-definidos pelo Netsuite.

5 – RESTlet Script

Esse tipo de script deve ser considerado caso você queria integrar o Netsuite com outras aplicações. A partir desse script é possível criar um serviço REST que dá acesso aos dados do seu ambiente Netsuite.

6 – Portlet Script

Portlets são pequenas janelas que aparecem na página inicial do Netsuite para qualquer usuário. Esse tipo de script é compatível com HTML e pode ser utilizado para criar janelas com dados que são constantemente acessados pelo seu usuário como listas de faturas a serem aprovadas, por exemplo.

Página Inicial do Netsuite com diversos Portlets

7 – Map/Reduce Script

Esse tipo de script é ideal para o seu negócio caso seja necessário processar uma grande quantidade de dados. Um exemplo bom de aplicação é quando você deseja realizar operações de agrupamento de um tipo de registro para criar outros registros. Eles podem ser tanto agendados quanto disparados manualmente.

8 – Mass Update Script

Imagine a seguinte situação. Você preencheu de forma errada um campo em milhares de faturas e isso vai afetar seu negócio, como corrigir? A solução mais adequada é utilizar o Mass Update Script. Ele é responsável por alterar um determinado campo de todos os registros que possuam aquele campo.

9 – Workflow Script

Os workflows no Netsuite são responsáveis por regular o fluxo de algum registro. Por exemplo: Você deseja implementar um fluxo customizado para aprovação de pedidos de venda, onde o status do pedido de venda é alterado a partir de ações dos usuários. Como mostra o exemplo abaixo:

Exemplo de Workflow implementado no Netsuite

Apesar de ser uma ferramenta simples e robusta, o workflow possui ações simples. Como por exemplo, adicionar botões e mudar valores nos registros. No entanto é possível utilizar dos Workflow Scripts para disparar ações quando o registro entra em algum estado.

10 – Bundle Installation Script

Durante o processo de desenvolvimento no Netsuite utilizamos Bundles. Esses são pacotes com todos os objetos customizados que desenvolvemos no ambiente DEV instalados no ambiente de produção.

Às vezes é necessário executar ações durante o processo de instalação ou de atualização de algum Bundle. Para isso, podemos utilizar os Bundle Installation Scripts. Eles disparam scripts tanto antes quanto depois do processo de instalação e/ou atualização.

O que vem em seguida?

Existem ainda outras ferramentas que podem auxiliar o desenvolvimento no Netsuite. No entanto, acredito que o resumo acima é um bom ponto de partida para quem pensa em implementar esse tipo de sistema em seu negócio.

É de suma importância que qualquer desenvolvedor Netsuite saiba como utilizar cada uma das ferramentas acima. Assim, o desenvolvimento será ágil e com um número mínimo de erros.

A última dica que deixo aqui é “Sempre estude!”. Por se tratar de um sistema bem recente, ainda existem atualizações que alteram pontos, talvez, críticos para o seu negócio. E, é importante saber qual ferramenta utilizar para melhorar o gerenciamento da sua empresa.