I totally agree with the caveat that at some point, depending on the size and number of the companies involved, you may need to split it. I’ve kicked this around a lot. There are benefits and downsides to both. I have even developed two different apps for two different entities that share a database – they were similar databases. At some point, there were so many features in one app that I had to split databases just to keep design complexity down in the second app.
I am in this same spot. Same APP, different customers, some shared data, most completely different and proprietary data. Every customer will have north of 25,000 rows so one BIG app currently will be an issue.
Keeping it separate means a pain in bug fixing/adding functionality. Hobson’s Choice