Easy way to have non-tech users modify database? We're in the process of engineering a BI solution.

One problem we have is that sadly a lot of HR information (start date, department, department change date, work hours, etc etc) -- seems to me maintained manually in an Excel spreadsheet. Needless to say it lacks standardization, validation, is subject to errors, lack of completeness, etc. Not good.

I'm not sure the most straightforward way to improve this. We currently use HR software that lacks an API. And I'm not even certain it contains all the necessary data fields, or input validation.

In an ideal world, I could just demand we find new software that has an API and data validation. But I don't see that happening. But maybe that's the only solution.

Otherwise, I'm trying to think of a simple solution where users can view the current database (id, employee name, start date, department, etc) ... and possibly either make direct changes, or at least propose changes to be approved. Some kind of input that at least has basic checks and validations, timestamps changes and who made them, etc. 

I know this is a pretty open-ended question, but what is a possible straightforward solution?

Ideally I'd like to not have to piece together some application from scratch, at least not too much.

Can't be the first business here trying to track department headcounts and costs month to month.

At the end of the day, a lot of this stuff does have to entered by a human at some point. If someone changes departments, that's largely an abstraction. A computer system may not know if someone went from working to marketing and is now working in sales. A human being will have to enter this change somewhere (ideally a dedicated application, but not necessarily) -- the person, the change, the effective date. What's really needed is better validation controls and business rules that either an application, I myself, or another developer, can impose.

For instance --- non duplication of employee IDs. (both not giving Mark and John the same ID, nor giving Mark two different IDs). An employee only working associated/ under 1 department at a given time. Easy views and management of changes (aka the leave date was incorrect, change history and timestamp of updates would be useful). Maybe some decent payroll/ accounting software can be leveraged. I mean, this isn't reinventing the wheel, I wonder how mature/ Fortune 500 companies manage this. Probably dedicated software, but eh.

The problem is the database needs this information. Currently it receives it from a garbage Excel spreadsheet. I'm trying to find ways to make sure the information is not garbage. This needs to be done in the form of a restriction, or alert, to the end user before the garbage is submitted down the chain. At the very least maybe I can send them an Excel sheet that has its own validation in cells, but that's comically unsuitable long term.
If you run SQL Server Enterprise edition it comes bundled with Master Data Services which sounds like it would do what you want. It was originally intended to merge multiple sets of data and come out with a golden master but if you think about it that process can be applied to almost any data work.

It's non-cloud so safe for internal use. It has a web application used to define and edit the schema and relations, and also for users to view/enter/edit existing data (they can also do the latter through an Excel add-on which is pretty cool).

Using the same web app you can also set rudimentary business rules about data checking, set up data export options (views), and there are other options for initially loading data using T-SQL. 

Data changes have lineage information and can be held back until approved by someone authorized. So there's a little workflow component possible, though I haven't seen that in use much.

For schema changes, it has some versioning/lineage capability, but I'm not 100% sure if you can see who made the change and/or if you can separate doing the change to the model from authorising a deployment of it. It has granular security, and it has a Metadata model to retain this information, but Microsoft have been on/off about whether they're deprecating that future or not.