Executando verificação de segurança...
4

Stack para desenvolver um ERP

Boa noite a todos!
Este é meu primeiro post no TabNews, ainda não sei bem como fazer isso aqui.

Estou com a missão de desenolver um sistema simples, mas eficiente para uma microempresa da família. As funcionalidades que devem ser incluídas são as mais clássicas: emissão de pedido, tabela de produtos, lista de clientes, contas a pagar, contas a receber, visualização e edição de pedido, etc. Nunca fiz esse tipo de coisa, apenas aplicações web, então tenho muitas dúvidas!

Um detalhe importante é que ainda não sei se os dados serão armazenados em nuvem ou no pequeno servidor que já existe na empresa hoje.

Venho aqui para iniciar essa discussão e perguntar a vocês mesmo: Qual stack vocês me sugeririam usar para construir esse software?

Obs.: Tenho alguma experiência com Java e Python, mas minha linguagem principal é o Javascript.

11

Desenvolvemos ERP aqui na empresa ja faz algumas décadas, vou ser sincero com você, leia com atenção.

Um ERP sério, por mais simples que seja, não dá para ser desenvolvido por uma só pessoa, principalmente se for um iniciante sem vivência de mercado.

Existem tantos elementos que envolvem o negócio que a tecnologia utilizada é o menor dos problemas.

Principalmente se pretende cobrir as áreas de faturamento, fiscal, contábil e financeiro. Estes são "mundos" tão complexos que todo levantamento de requisitos para criar qualquer módulo desses vai ser falho até por quem é experiente na área.

ERP não é só CRUD, iniciantes não vão dar conta do recado. É tão complexo que todas as iniciativas de criar um ERP open-source focado no mercado brasileiro falharam, pode procurar e vai ver que todos estão abandonados há anos.

Faça um favor a si mesmo, e ajude o pessoal a encontrar um ERP que se encaixa nas necessidades deles. Há inúmeras opções no mercado prontas para uso.

Não vá na empolgação que acha que vai conseguir criar um ERP sozinho, não dá. É loucura assumir uma responsabilidade dessas.

6

Opa
Me senti na obrigação de responder(hahaha), pois atuo no segmento de Sistemas ERP desde 2016 acredito que posso contribuir uma pouco com a discussão.

Sobre o Problema

Bom com base no que você escrever não seria um ERP e sim um Micro ERP, alias pelo que falou das funcionalidades parece mais um CRM (sistema de gestão de clientes) pois essas funcionalidades são básicas demais:

  • Produtos -> CRUD (em um ERP meio ou grande tem uma infinidade de coisas aqui desde o tipo categoria até onde isso influencia no Contábil, na Emissão de nota e Apuração de impostos)
  • Clientes
  • Contas e Pagar e a Receber
  • Pedidos (aqui você não especificou

Um ERP possui todo um fluxo para cuidar do BackOffice completo, tais como:

  • Compras aqui a parte de Suprimentos alinhada com Estoque/Custo/Produção etc
  • Estoque
  • Custo (custo de aquisição do produto, venda, custo de funcionário, custo do prédio, custo de maquinário, energia, etc.).
  • Ativo e Imobilizado
  • Faturamento
  • Financeiro
  • Fiscal
  • Contábil
  • Produção se for uma indústria
  • Controle de qualidade
  • Gestão de Pessoas

Vou parar por aqui com os módulos (mas saiba que tem mais) pois o que você descreveu e para uma micro empresa não vai usar tudo isso que falei (assim penso).

Os colegas já deram ótimas dicas aqui então vou falar do que não mencionaram ou por não conhecerem ou por esquecerem.


Solução já pronta

Você disse que o dono da empresa quer algo que possa ser customizado, então vou disser que existem soluções prontos que podem de atender e elas são customizáveis vou listar aqui as que conheço o que vai determinar aí é o preço.

Soluções de mercados customizáveis:

  • ERP Protheus da TOTVS: pode ser um pouco caro, Ele utiliza 3 stack para customizar o ERP sendo o ADVPL, TL++, e POUI
    • Advpl uma linguagem baseda no Clipper modificada pela TOTVS adicionando recursos nela (simples poderosa) pode conferir aqui link

    • TL++ evolução do Advpl possui a mioria dos recursos de linguagens de mercado como Java e C# pode conferir aqui link

    • POUI lib baseda no Angular para construir aplicações WEB podendo embarcar elas dentro do ERP pode conferir aqui link


  • SAP ele é mais utilizado por grandes empresas,tem uma versão para pequenas o SAP Business ONE stack para customizar ABAP
    • O ABAP é um tecnologia feita pela propria SAP pode conferir aqui link

  • ERP CIGAM é bem utilizado no mercado usa uma stack Magic xpa como se fosse um ide de low code
    • Magic xpa e uma IDA da empresa Magicsoftware e agiliza muito o trabalho de quem usa essa ela para desenvolver

  • Senior ERP, ele é cloud First e tem uma ferramenta low code para customizar e integrar.

Soluções Prontas de Baixo custo ou open source customizaveis

Existem alguns ERP open source que você pode experimentar, vou listar aqui apenas os que conheço, mas garanto que deve ter mais por ai basta procurar.

São eles:

  • maERP github stack .net e C#
  • WebVella-ERP github stack .net e C#
  • Odoo ERP muito poderoso totalmente customizavel usado no mundo link da edição gratis stack Python

A ultima é paga com um custo baixo ele é um ERP com a stack PHP com um framework Brazuca focado em Sistemas de gestão o Adianti Framework.

O criador do framework tem um curso chamado Dominado o Adianti onde ele te ensina o framework e constroi um ERP com você, no final do curso tu tens um ERP pronto.

Uma observação se você for apressado pode ir na seção downloads do curso e pegar o código do ERP e estudar/modificar. Sem contar que o propprio framework já possui varios componentes para construir sistemas de Gestão e a cada ano tem uma release nova com features, fora as de correções de bugs.

Outra Obs: o framework e open source e pode ser usado livremente, não precisa comprar o curso, tem um template que pode ser baixado e construir um micro erp nele o curso só vai acelerar o processo.


Considerações.

Bom espero ter ajudado não vou dizer o que usar ou não, pois cabe a você analisar o que é melhor e o que possa atender a suas necessidades.

3

Você está colocando os cavalos antes da carroça.

O primeiro passo crucial no desenvolvimento de um software, especialmente algo tão complexo como um ERP, é entender o que você precisa que este software faça. Isso significa ser capaz de descrever de forma precisa todos os aspectos do software que você deseja desenvolver. Inicie elaborando requisitos detalhados para cada uma das funcionalidades que você mencionou. Além dos requisitos textuais, faça diagramas e prototipe os fluxos de interação o usuário. Não se esqueça também dos requisitos não funcionais, que são igualmente importantes.

A decisão sobre se os dados serão armazenados localmente ou na nuvem deve ser baseada em evidências levantadas por esses requisitos. Com essa base, antes de pensar em desenvolver o software do zero, dê uma olhada na soluções disponíveis no mercado. Existem centenas, se não milhares, (inclusive open-source self hosted) de ERPs que podem atender às suas necessidades. Com os requisitos em mãos, você pode (e deve) marcar demonstrações com os fornecedores que parecerem mais relevantes e discutir suas necessidades específicas com eles. Muitas vezes, optar por uma solução pronta pode ser mais barato e eficiente do que desenvolver um sistema deste tipo. Pelo menos aprenda o que eles estão fazendo, quais stacks estão usando.

Agora, se após essa análise cuidadosa, você ainda achar que a melhor opção é desenvolver o seu próprio ERP, recomendo o uso de Java. No entanto, ao invés de usar frameworks web como Spring, utilize o JavaFx.

1

Opa, obrigado pela resposta!

Sim, estou ciente que preciso quebrar tudo em requisitos e criar um backlog consistente antes de começar, isso será feito sim com bastante calma. Como para fazer isso dependo de outras pessoas, e como nunca fiz uma aplicação do tipo, resolvi adiantar o lado que posso no momento que é entender quais as possibilidades de tecnologias para fazer o que foi pedido por alto.

Muito obrigado pelas dicas. A princípio a ideia é desenvolver um ERP próprio, pois o proprietário da empresa deseja um software 100% personalizado às necessidades do negócio (nem mais nem menos funcionalidades) e um atendimento dedicado e próximo para acompanhar e realizar possíveis adaptações. Mesmo assim, irei entrar em contato com fornecedores de ERPs para tentar buscar a melhor alternativa.
Tem alguns nomes bons (confiáveis) e baratos para indicar? A empresa é bem pequena, então não estão dispostos a absorver custos grandes com este empreendimento.

Legal, JavaFx é uma das tecnologias que tenho familiaridade, bom saber que é uma boa pedida!

2

Não é tão simples. Eu passei a vida inteira, mesmo depois de décadas na área com difiuldade para tomar as melhores decisões. Uma hora tem que decidir e pagar o preço. O que me ajudou foi ter todas as informações necessárias. Você deiu praticamente zero, das milhares necessárias, você provavelmente nem coletou todas elas, então você decidiu jogar na loteria, e veio aqui para começar rodar a roleta. Pode ver mais sobre isso em: https://www.tabnews.com.br/maniero/581ff71d-5083-403c-b9a3-dea68ba5a1f7.

Você entende que por não ter experiência fará algo bem pior do que poderia comprar e vai sair absurdamente mais caro? Nenhum problema se tem um objetivo claro.

Eu falo para as pessoas não fazer aplicações para web (a não ser a parte que realmente precisa), mas ninguém ouve, azar de todo mundo.

Eu faria 100% com C#, até mesmo se for web, mas você pode usar o que já sabe, provavelmente é a melhor decisão nas condições mostradas.

Ajudei? Era o meu desejo.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

1

Dei poucas informações em parte propositalmente, porque queria iniciar a discussão a partir de um ponto não enviesado, e em parte porque não as tenho ainda. Estou me adiantando em entender as possibilidades para que, quando me deparar com a realidade da demanda já ter uma breve noção de por onde começar.

C# é uma linguagem que não conheço (sou fruto dos novos cursos de tecnólogo que logo partem para as linguagens mais "pop" da atualidade). Mas está anotado aqui, quem sabe não uso a oportunidade para aprender. Valeu!

2

Recomendo o seguinte: assine o tiny ou o Bling. São baratos e muito completos.
Estude, teste, implemente lá. Fique dando o suporte etc.
Na sua cidade existirão outros comércios que precisam, então instale lá tbm. Esses softwares tem programas de parceria para pessoas que querem revendê-los. Você consegue tirar uma grana boa aí na sua cidade.

Ponto 2: Se, depois de instalado, a empresa tiver necessidade adicional, desenvolva um plugin ou um saas que se comunica com o erp. Dessa forma você pode personalizar a experiência e ganhar mais dinheiro vendendo o saas com a integração.

Mas a primeira coisa é entender o funcionamento. Depois você decide o próximo passo.

2

Eu estou nessa mesma jornada, estou fazendo um sistema simples, a alternativa que tomei foi começar com funcionalidades básicas:

  • Cadastro de categorias de produtos
  • Cadastro de produtos
  • Vendas

Vou apresentar para uma loja aqui do lado de casa, sem intenção de cobrar pelo uso. Quero colher mais informações sobre o dia a dia e implementar funcionalidades e melhorar como um todo, até que fique em um ponto aonde eu possa de fato cobrar algo de outros clientes.

Tenho uma "noção" de tudo que um ERP precisa, sei que meu sistema está bem imaturo ainda, mas aos poucos ele vai evoluir. ( devagar e sempre )

Estou utilizando Laravel com inertia, vuejs e mysql.

1

Parabéns pela iniciativa. Já passei por essa fase e tenho uma dica: saber se o cliente está disposto a pagar também faz parte da validação do produto. Cobre pelo uso nessa fase, mesmo que o produto esteja com poucas features.

Se o cliente está disposto a pagar x reais pelo seu produto beta, você já estará validando o negócio. Como desenvolvedor, a gente acaba focando muito na Stack e deixando a venda para o final.

0
1

Cara super desafio, meu 2 centavos de conselho sobre esta jornada que vc vai iniciar.
Vc esta fazendo um ERP então foca sua energia na arquitetura da solução desenvolvendo principalmente o seu core business mas inclua no seu ambiente serviços de apoio como uma stack de observabilidade podendo ser a pilha ELK e um serviço de segurança para não ter que criar o seu do zero podendo ser o Keycloak.
Boa sorte ai !!

1

Obrigado pelas visões, pessoal!

Como é um ERP para uma empresa pequena na qual eu já trabalhei e conheço um pouco dos sistemas e das funcionalidades necessários, pensei que pudesse ser algo mais simples.
Está sendo bom ler os comentários para ter noção da complexidade que pode ter a coisa e não me iludir kkkkkk vou dar uma explorada boa em ERPs já prontos, avaliar preços e pedir demonstrações para ver se algum deles se encaixa na necesidade da empresa.

Ainda não descartei totalmente a ideia de fazer do zero, seria uma experiência interessante e confesso que a dificuldade que vocês narraram também acende uma vontade de fazer pelo desafio. Porém preciso saber se é realmente viável.

Vou investir essa semana em estudar e entender o assunto e volto para compartilhar a decisão com vocês.

3
2

Olá amigo! Bem-vindo ao TabNews!

Olha, acho que você não quer (ou não precisa) de um ERP, você quer um "sisteminha" apenas para registrar listas de produtos, lista de clientes, lista de vendas, e coisas básicas. Um sistema que só faça um CRUD dessas informações. Sendo um sistema para uma empresa pequena que atenda a um ou dois bairros ao redor e que não tem pretensão para crescer rapidamente, vai em frente. Nesse caso, pode começar a desenvolver até em Assembly se quiser um desafio pra vida!

Agora, se precisar realmente controlar fluxo de caixa, calcular impostos, gerar nota/cupom fiscal válido na Receita, estoque, itens, controle de acesso a módulos por nível, cara, não inventa moda. Muitos tentam até hoje criar uma rede social do zero, fazendo um monte de CRUD em tabelas de mensagens, amigos e usuários, e falham nisso. Um CRUD de várias tabelas com alguns relacionamentos.

1

É isso aí meu querido! Acho que você entendeu completamente minha proposta, apesar de aparentemente eu ter usado os termos errados kkkkkkk

Essa parte de impostos e geração de nota fiscal já é feita por um outro programinha que o pessoal usa na empresa, não precisarei entrar nesse mérito (amém).
Pelo que todo mundo está apontando parece que essa seria a parte mais difícil/quase impossível.

1

Ah, então taca lhe pau nesse código rapaz!
Que bom que entendi, e você entendeu minha resposta. Nós devs somos um pouco ruinzinhos em nos expressarmos sem ser com máquinas kkkkkk
Vá em frente, vc vai aprender bastante coisa!
Boa sorte e bons estudos!

1

Do ponto de vista de negócio, porquê a empresa precisa de um ERP customizado? O setor dela é tão específico assim? Você não poderia usar um ERP base para Financeiro, NF, CRM, e em cima dele desenvolver só as particularidades?