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.