I expected the rules for newcomers would be strict, and we have neither the Python nor accounting experience to contribute to those parts of the system. We can contribute to testing, feature design and documentation.
If you can put this up under the community, I think it would be a fantastic start, and thank you for doing so.
I found a useful video and design outline in the Dolibarr expense report documentation. Their design is nice because it allows for billing each line item to a different customer or charge code.
As I see the general shape of this solution, to me it looks like:
A GUI, perhaps like the Dolibarr one, for employees to enter their expenses. It should probably be ‘close to’ the timesheets, since these are almost always done together.
Entries go into a journal
A manager approves the expenses
The finance department pays the expenses, ideally as part of payroll
The journal entries get posted to the general ledger
Does that sound about right from a workflow perspective? The idea of a separate place to record all employee expenses sounds like the right thing to do from a reporting perspective. Expenses can be significant, sometimes being $100’s or even $1000’s per day per employee They are also a common source of abuse by some salesmen, so it would be nice to run reports by salesman, customer, employee, category, etc.
@pokoli, you mentioned putting up a working prototype. Is that available somewhere for me to try out?
I haven’t encountered too many situations where a company credit card is used. It it too simple to just record the credit card transactions into a journal and the reconcile them like any other bank statement? If the employee selects or has a corporate card, the expense report could be populated with all the line items from the statement and the process continues as normal? If the card statement is paper I think the same workflow will be sufficient, but a paper form will have to follow the electronic report.
That said, perhaps best to consider employee paid and employer credit card as two separate but related workflows. Most of the time if the employee is senior enough to have a credit card they’ll also have a personal assistant than handles travel details and payments.
This will have to be done anyway.
But we need the expense to be encoded and validated or rejected. If it is validated, then the company does not have to reimburse anybody and just book an expense against the supplier (which will be reconcile with the bank statement). And if it is rejected, the employee will have to reimburse the company.
Did you ever make available a working prototype for employee paid expenses? It looks like we be going with a new accounting system (Tryton) and my ‘Christmas project’ may be to get it working whilst things are quiet elsewhere.
Note, for the avoidance of doubt: I realise not everyone wants a ‘Christmas project’ and I’m truly just asking in case I missed it. Not in any way suggesting that you need an expense module as a holiday project.
I do not think I made it public but we have implemented in a private module.
I can extract the relevant parts and share to you so you can use it as available prototype for the “Christmas project”.
Would you mind if I share it into the Tryton Community incubator? You just need to ask access on the group and you will be able to publish your changes there after you finish the community project.
Note that the module now depends from project_invoice as we have all the expense modules linked to them. Probably the first that needs to be done is to make all this code just optional when the project module is activated.
Feel free to create issue, mr and any other enhanchement you feel neessary.