If you are starting from scratch, I would recommend Express.js as a backend web framework. It is faster and more flexible than Django. Express makes it easy to build web applications offering numerous benefits such as efficiency and quicker development times. Some features that are worth mentioning: middlewares, templating, routing, and debugging.
The most important element that is missing the stack is the database. A Web-Based ERP/Accounting Software require a powerful Relational Database to comply with ACID princliples (Atomicity, Consistency, Isolation and Durability). By atomicity, we mean that that database is able to perform the transactions in an atomic manner.
A transaction is just a single unit of work, which can either be one query, or multiple queries. Let's say that we have two accounts. And we need to transfer $100 from account one to account two. Now this transfer is just one transaction, but it is going to consist of three different steps. The first step is checking if the account one does have $100. The second would be upgrading the amount of account one to be $900. And the third would be taking this $100 and making the balance and account two be $200. If the database does support atomic transactions, if one of these three steps fail, the whole transaction should fail. This is what atomicity is.
Consistency means that the database should help in achieving the correct data state, adding certain constraints. We can add a constraint on the amount column that it can never be negative, and the database must make sure that this constraint must always be followed.
Then, we have isolation, which is mainly about the concurrency control. Let's say that we have an account which has $1,000, and there are two persons A and B trying to get the money out of this account. So $1,000 and $100. If we let both of these transaction happen at the same time, this would result in the reduction of $1,100. So the balance will result in the negative $100. Isolation prevents this to happen.
Finally, durability means that once a transaction is committed, the data must be written to the non volatile memory or the storage. So that even if the crash happens or something wrong happens with the database, the data must be there and not be corrupted.
In terms of relational database my recomendation is using Postgres. Postgres is an object-relational database, while MySQL is a purely relational database. This means that Postgres includes features like table inheritance and function overloading. Postgres also adheres more closely to SQL standards.