Не совсем верно Вы поняли про идеологию. Я имел ввиду внутреннюю реализацию тех механизмов, которые являются типовыми и общими для всего софта. Если отбросить всю "шелуху", то весь софт выполняет одни и те же функции. Минимальный необходимый набор этих функций во всех реализациях одинаков. Различаются лишь инструменты/среды/платформы и т.д. с помощью которых эти функции реализовали. Да, можно много говорить о том, что в одном софте это поставлено так, а в другом этак, но по факту это одни и те же процессы. И если изначально сама идея не верна или противоречива (читай выбрали схему учёта тяжело встраиваемую в реальный объект), то не важно какими инструментами вы будете пользоваться. Сами по себе системы не "лечат" изначально не верные данные в них.
Я веду к тому, что сейчас посоветовав вам то, или иное решение любой из советующих рискует в конечном итоге нарваться на негатив после применения вами этого решения. Поясню: Вы прислушавшись к тому или иному мнению выберете продукт, внедрите его, всё будет так же криво, а то и еще хуже, вы обвините во всём советчиков...
Я бы начал с оптимизации уже существующих процессов. Привел все схемы к максимально возможной производительности. И, уже когда существующие мощности софта/железа не перекрывали бы потребностей бизнеса, начал подходить к решению выбора нового ПО или развитию существующего, но уже с учётом требований развития, а не требований "тушения пожаров". Нет такой концепции - мы поменяем софт, будем работать как раньше и у нас всё сразу станет хорошо. Есть концепция - мы изменим алгоритмы работы и, возможно, для этого нам придётся сменить софт и вот тогда у нас всё станет хорошо.