Automating/simplifying labor distributions for salaried employees

All right. This is gonna be a long one, so bear with me here. Let me start by establishing that my background is mostly technical. I have very little accounting knowledge. I have a non-profit customer that works with several different funds. Their accounting has to be very clear as to what funds are being used for; i.e. how many employees are paid with fund 1, what activities are billed to fund 2, etc. Since their employees can switch projects frequently, they could be paid with a different fund every time payroll is run. They currently manage this by using jobs. Employee hours are manually entered against a job and payroll is run against a general checking account. Job reports are later used to identify how many hours each employee spent on a project and to bill the correct fund. Here's an important catch, though: this customer has mostly salary employees, with just  few hourly employees. So in order to bill for the salary employees, the customer manually distributes their hours to the corresponding jobs.

In order to simplify the payroll process, the customer decided to invest in a time & attendance solution. They were stuck in implementation purgatory with a previous time and attendance provider. We've since switched providers and are now just about ready to go live with their new time & attendance solution. The time & attendance product (like others) produces a time ticket CSV file to import into Sage 50. The time tickets have job distributions built into them. This works just fine for hourly employees, but for the majority of their workforce, who are salaried, time tickets don't really do much. The current workaround I thought of is this:

  1. Import time tickets for salary employees, billed against the corresponding job(s)
  2. Run payroll normally, without performing the manual labor distribution
  3. For salary employees only, bill the correct job by generating an invoice with the time tickets imported into Sage 50

I believe this workaround allows the customer to retain visibility into how funds are used, since the time tickets are used to create an invoice against the corresponding fund. At the same time, it eliminates the need for manual labor distributions. However, it still requires additional steps for the customer to complete. Here are my questions:

  • In terms of accounting, is the workaround above sound? Or would it muddle the customer's numbers?
  • Is there any way to simplify/automate this process more? The idea is to minimize (or, ideally, eliminate) any steps other than just importing time tickets and running payroll.