I use fetchmail to grab mail from an email provider and deliver it to my dovecot instance hosted at home. My mail provider is just used to store mail temporarly (up to a minute unless my server is down) and send email (I use their SMTP server).
That way, my data is stored at home but I don’t have usual ‘selfhosted mail server’ issues. I can be down for days and my email will be received by my provider and I don’t need to do/setup/maintain anything to ensure my mail will be deliverable!
With a custom domain and nothing that stay on their server, I can switch provider within a few minutes by updating the nameserver to point my domain to another server
There’s a zillion things you can do and implement for those kind of situation. If I was you, I would at least start by having:
I don’t know if your company use GSuite for all their needs (docs, emails, etc). If the answer is yes, then it might be difficult to migrate from GDrive, but otherwise, I would replace it with something else.
If your salesperson need to look for a customer name INSIDE their files, they are not storing/naming them efficiently. I don’t know the business you are in, how many customers you deal with and how many invoices a customers can have but here’s a few ideas:
Invoices/Customer XYZ/2023-10-16 Invoice 1234.pdf
Invoices/Customer XYZ/2023-10-16 Computer Replacement Project.pdf
Invoices/2023/2023-10-16 Customer XYZ - Invoice 1234.pdf
Projects/Customer XYZ/Project Name/Date - Invoice Number - Whatever.pdf
That’s just examples, but I would say that the kind of “metadata” they are looking for should be somewhere else than just in the content of the files