I have been writing code since past 10 years, mostly for small companies which have seen medium level of traffic (50-500 concurrently active user). Last year I moved to a startup where I had to scale code to 5000-10000 concurrent users which has been done nicely so far! 
Now I have to refactor one of its core functionality  to enterprise level software. In short it would be a logistic division of my company and whose end users would be 3-4 tier city users of India who aren’t really so tech Savy ( basically it means exceptions catching and validations should be full proof). Last written code has been working good so far but I am not happy with the ‘if else’ way code has been written! 
Any suggestions on how to architect a logistic company or how to refactor code that with assumptions it would fail and recover automatically or atleast points developer/data team that some thing wrong has happened (as there are 2-3 dbs which have to kept in sync, thanks to micro services :/) 
In short I have never written enterprise grade application !
Any suggestions/advise would be highly appreciated.