[Me deem uma luz] - Gerador de Relatório personalizado

Salve Salve galera, Trabalho com um sistema ERP e atualmente estamos gastando um tempo alto criando relatórios para os clientes, Entendo que relatório tem um valor alto ao cliente, porém isso consome um tempo custoso ao time, além do fato de ser repetitivo (mudando apenas a fonte de dados).

Alguém já precisou criar um meio de permitir que o próprio cliente crie seus relatórios via aplicação, tirando do dev a necessidade de interver nesse sentido ?

Qualquer direcionamento e ajuda é bem vinda.

Trabalho com ERP há alguns anos (desde 2004). Este é um assunto espinhoso. Criar relatórios à pedido do cliente, dentro do próprio ERP é algo que eu não aconselho muito.

Algumas empresas pedem algo tão específico que dificilmente servirá para outros clientes. Além do fato de, infelizmente, não termos a garantia que aquela empresa que pediu tal relatório, continuará a utilizar o sistema.

Após alguns anos, teremos um mar de relatórios específicos, que quase ninguém do time, saberá explicar como funcionam, ou porque trazem tais resultados.

Com isso, acabamos fazendo novos relatórios, mesmo já tendo algo similar dentro do sistema.

Com o passar dos anos, consegui formar algumas opniões sobre a geração de relatórios, apartir de dados do ERP:

1 - É preferível utilizar alguma ferramenta externa, para gerar estes relatórios personalizados (atualmente, utilizamos o Microsoft Power BI);

2 - Os relatórios personalizados, são específicos da empresa que solicitou. Vendemos um serviço de consultoria, que auxiliará a empresa a definir os dados que ela precisa, inclusive o layout mais apropriado;

3 - Relatórios fixos dentro do sistema, são somente relatórios consolidados, sem margem para personalização. Como relatórios da ANVISA, fluxo de caixa, balanço de estoque, DANFE da NF-e/NFC-e, boletos, etc;

Para estes relatórios fixos do ERP, em sistemas WEB, tenho adotado o seguinte fluxo: Como trabalho com .NET e C#, gero os relatórios com o Razor (C#, HTML e CSS), extraio a string que representa o html da view do Razor, então converto este html em pdf utilizando bibliotecas como DinkToPDF por exemplo.

Utilizar HTML e CSS para construir relatórios, te dá uma flexibilidade gigante.

Tem uma ferramenta que está sendo implementada onde eu trabalho chamada Flexmonster, acho que seria o que você está procurando, da uma olhada: https://www.flexmonster.com/

Cara fiz uma pesquisa usando ChatGPT, veja se isso ajuda:

"Com base na pesquisa realizada, aqui estão algumas sugestões para permitir que os clientes criem seus próprios relatórios através de uma aplicação em um sistema ERP:

  1. Utilização de um ERP que Permita a Emissão de Relatórios pelos Usuários:

    • Alguns sistemas ERP já possuem funcionalidades integradas que permitem aos usuários (clientes) criar e customizar seus próprios relatórios. Por exemplo, o SAP Business One é um sistema de gestão integrado que permite a emissão de relatórios pelo próprio usuário, possibilitando a customização das informações necessárias para análise de forma simples e rápida através de dashboards intuitivos. Além disso, o sistema oferece a vantagem de processos internos que garantem a exatidão das informações fornecidas aos usuários, como checagem de dados recebidos, automação de processos e integração entre processos e sistemas, facilitando a tomada de decisões assertivas baseadas nas informações fornecidas pelos relatórios customizados.
  2. Automatização e Personalização:

    • A automação e a personalização são características importantes de um bom sistema ERP, permitindo economizar tempo e recursos ao automatizar atividades do negócio e reunir informações de forma automática, facilitando a criação e customização de relatórios pelos clientes.
  3. Consideração de ERPs Open Source:

    • ERPs de código aberto ou Open Source permitem maior flexibilidade para personalização de acordo com as necessidades da empresa. Essa característica pode ser útil para implementar funcionalidades que permitam aos clientes criar seus próprios relatórios. Alguns exemplos de ERPs gratuitos ou Open Source foram mencionados pelo Sebrae, e podem ser uma opção a considerar se a personalização for uma prioridade.
  4. Utilização de Módulos ou Ferramentas Externas:

    • Se o seu sistema ERP atual não oferece as funcionalidades desejadas para a criação de relatórios pelos clientes, pode ser uma opção considerar a integração de módulos ou ferramentas externas que possam oferecer essa capacidade. Por exemplo, ferramentas de Business Intelligence (BI) podem ser integradas ao seu sistema ERP para fornecer uma interface intuitiva para a criação de relatórios pelos clientes.

Essas sugestões podem ajudar a reduzir o tempo gasto pela equipe de desenvolvimento na criação de relatórios e permitir que os clientes tenham mais autonomia para criar seus próprios relatórios conforme necessário.

Bons pontos, porém não recomendo o SAP BO como uma ferramenta de usuário, acredito que PBI para visualização seja o mais recomendado... Agora olhando de uma maneira mais certa, vejo que o usuário não deveria criar suas visualizações e sim alguém mais capacitado (algum profissional de Data Viz ou analista de negócios)

Vocês precisam analisar essa demanda para ver se não seria pratico já incorporar no ERP esse relatório... Outra opção seria disponibilizar uma api externa com controle de token por cliente e aí o cliente usa a ferramenta que ele preferir (ex: power bi, google datastudio etc)

Boa tarde!

Existem poucas ferramentas desse tipo no mercado, porque realmente é necessário o conhecimento de alguém que entenda do assunto para a análise correta. Deixar essa responsabilidade nas mãos do cliente pode levar a falsos positivos e complicar sua vida com decisões equivocadas.

Outro ponto crucial é que o cliente pode não saber como otimizar essas queries para reduzir o consumo, o que pode esgotar os recursos de hardware. É importante ter cuidado com quem arca com as despesas do servidor, pois podem ocorrer surpresas desagradáveis.

No entanto, se mesmo assim estiver disposto a fazer isso, algumas empresas oferecem treinamentos em Power BI para os clientes. Além disso, ferramentas como BIRT, IBM e Google também disponibilizam boas opções.

Aqui eu crio relatórios formatados a partir do iReport-5.6.0, é uma ferramenta free, e cria relatórios formatados que podem ser baixados em vários formatos.

Vale a pena aprender.

Uso o IReport também. Sugiro que, se possível, crie 3 a 5 modelos e disponibilize. No mais, você não dará conta de atender, se não reservar recursos pra cuidar especificamente disso.

Cara, trabalho com o Power BI da Microsoft, não é recomendado pro usuário final criar os relatórios, mas até da pra disponibilizar pra eles a versão web, com os dados já tratados, é bem intuitivo, porem recomendo contratar sim um cara especializado em PBI.

Garanto que será um excelente investimento pra empresa visto que o Power BI é capaz de gerar dashboards interativos que atualizam de forma automática eliminando a necessidade de planilhas exportadas do sistema, isso economiza um tempo enorme do usuário final que só vai ter o trabalho de abrir o relatório e analisar as informações na tela.

O PBI se conecta direto ao banco podendo realizar consultas diretas ou importando os dados, é bem otimizado e fácil de utilizar (tem uma curva de aprendizado bem pequena pra quem já trabalha com banco de dados realizando consultas, etc...).

Por aqui utilizamos o Metabase.

Ele tem uma interface bastante amigavel para o usuário, com o que eles chamam de 'perguntas', bantante intuituiva.

Da pra usar SQL diretamente nele tambem, adicionar filtros, dashboard, interações de cliques nos dashboards, exportações dos dados (csv, xlsx, json), tem um otimo controle de permissoes...

Esta ajudando demais com essa geração de relatórios, e alguns usuários chaves dos setores daqui, estão gostando bastante de ter essa independencia para trazer os dados que precisam.

Único porem é o acesso direto ao banco de dados, mas nada que um DW não resolva.

Tem a versão paga, mas a self-hosted - Open Source (docker) ja nos atende muuito bem.

Muito interessante esse questionamento. Eu sou da área de negócios e acabei desenvolvendo uma solução em Python para gerar relatórios para os gestores.

Acho que não vai ter solução pronta para resolver seu problema. acredito que pensar em uma etapa intermediária onde seja possível criar uma interface que permita o usuário selecionar os campos, dados e aalgns outros filtros seja o mais indicado.

Isso vai depender também do nível de conhecimento da área para encontrar uma solucao adequada.