-
Notifications
You must be signed in to change notification settings - Fork 7.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Project Gross Margin #9990
Comments
Admittedly I did this, but didn't follow through with the rest of it. Margin should also reflect employee salaries based chargeout, but I think it's currently set up that it would be based off of activity per employee. An overhaul using the employees salary at time of time log instead of activity cost per employee is a better scenario |
Hi superlack |
Absolutely it's clear. What I had intended with having the Sales Orders in the project document as a way to view budgets. In example: Deliver estimate or quotation, client accepts, becomes Sales Order which is the "Budget" for the job. Any change orders associated are added (also through the use of Sales Order), and manager is able to keep track of labour, purchase, and expense cost through the project module. The margin field should definitely take into account a lot more factors than it currently does. For your proposal: The calculation of $5000 - $3000 through timesheets. I believe that should reflect different pay rates of employees (in HR/Salary module). Right now it is handled as "Activity Cost", and drilling down "Activity Cost per Employee". I think it's more common to have margins handled as a direct relation between employee cost and employee chargeout rate. If there are different rates for activities, it should be formulaic, as the salary slip is. There are a lot of discussions recently on bolstering the Project module, especially to handle different billing formats, and tracking budgeting and profit margins. Quoted projects and Time and Material, or "Cost Plus" jobs are a big one, all the way down to the invoice. Feel free to add to the discussions on these two topics for project management improvements: https://discuss.erpnext.com/t/foray-into-other-saas-options-some-return-thoughts/25166 |
Hi, As discussed in our last community meeting, here is my proposal to provide a quick solution to this issue and to issue #5393. I propose to add a report that calculates the margin per project. This report could be accessible from the project document directly. As you can see, I propose a three columns scenario, with the Actual, the Budget (based on Sales Orders), and the estimate (based on the estimate field in the project). For the cost, I propose to deduct actual purchases, actual costing based on timesheets and activity cost, and actual expense claims. Regarding activity cost vs employee salary: Not everyone is using ERPNext to calculate the salary so it should be independent IMHO. Maybe we could have the possibility to calculate the cost based on one or the other. Please let me know your thoughts, so I can start working on a prototype. Thank you. |
Hi @chdecultot first thanks for your efforts and I think this is a good proposal. |
In the case there is no PO, then I guess there can be no detailed budgeting done. In this case, the only column of interest for the user will be the first one ("Actual"). Repeating it in a second column called "Budget" doesn't bring any additional value IMHO. They would be identical. |
@chdecultot here my notes: |
Hi @dufani1, Thanks for your comments! Here are my comments:
Here the point is to look at the actual margin (what is my current real margin) and the budgeted margin (what will my margin be according to the orders I have received and made). We can also have another specific report to highlight sales and purchasing invoices status based on payment terms. Let's start working on a blueprint after this one is delivered.
4.I agree, we could think about the dynamic generation of the Estimated Costs based on the budget. Can you please elaborate on how you see the flow and the calculation ? Thanks! |
Dear Charles, |
Hi @dufani1, Sorry if I was not clear in my mockup. This proposal is for a simple report that will fetch all documents linked to a project between two dates based on the transaction date for example. The actual profitability of a project (first column on the mockup) can be measured like that (don't hesitate to tell me if I'm wrong): Revenue = Total Sales Invoices linked to the project So Gross Margin = Revenue - Cost For a given timeline, we can therefore consider: Gross Margin (01/01-31/03) = Revenue (01/01-31/03) - Cost (01/01-31/03) We proceed similarly for the "Budget" and "Estimate". -- The point behind this report is to be able to compare three things:
If my understanding is not wrong (and please correct me if it is the case), what you want to see comes at a previous step, because you want to know if you have reach milestones triggering invoicing or purchasing. |
Hi @chdecultot My proposal to handle Planned Value in ERPNext and compare this planed value with Actual Costs: Now real Report of XYZ project after 1 month of execution: I sent to you an email with project report template. |
Hi @dufani1, Thanks for your detailed document. I understand now that we were not talking about the same thing exactly. Your approach is to develop a report with the earned value management methodology, whereas my proposal is a simple Gross Margin calculator (more like this) because it is the initial request of this issue and #5393. I really like your approach and I think it would be a great addition to ERPNext, so here is my proposal:
How does it sound ? -- Based on your return I have simplified the gross margin report and here is a new simplified proposal: Instead of having a dedicated report for the gross margin, why not just add a graph in the dashboard that show the burn rate and the margin (similarly to the link posted above). We would calculate each value with the following rules: For past date until current date:
From currrent date till expected project end date:
The idea is to provide a tooltip on the graph, so the user can check all values at any point in time. The only issue with this approach would be the permissions... I think we would need a way to assign permission to this graph as it should be restricted to some users only. But that's more a technical problem. Would this approach be better ? I will also start working on a proposal for the task cost calculation enhancement and the earned value report. Thanks! |
Dear @chdecultot first thanks for your email and I appreciate your efforts to make ERPNext better. Thanks and please if you have any other ideas do not hesitate to contact me. |
1 similar comment
Dear @chdecultot first thanks for your email and I appreciate your efforts to make ERPNext better. Thanks and please if you have any other ideas do not hesitate to contact me. |
Hi @dufani1, Sure no problem to work on the Earned Value report and I fully agree that it is better to follow international standards. I have created a new Github issue (#11910) in order to not get things mixed up, since the purpose of this issue is to get a Gross Margin report. As you are more proficient with this methodology, can you please provide a detailed functional specification (specific layout for the report in ERPNext/ detailed calculation logics and formulas for each field/...) ? Regarding the "Budget" question: Usually the budget for a projet is equal to the total of the sales order(s) linked to this project, as a sales order is firm commitment from a client. As for this specific issue, I will try to find a solution for the permissions and work on the small chart above as soon I have one. |
I have just pushed a PR to correct some of the inconsistencies spotted in the issue regarding the margin calculation: #11911 |
Dear @chdecultot I am really happy to work with person like you, all of our discussion is to share the knowledge between us, and all of our work is to make ERPNext is better to help others around the world. Dear Charles the Budget is estimation for each task or phase of project, and estimations not related to any project real document (likes; PO, SO... etc), these estimations prepared in period between winning the project and starting the execution of projet. |
Dear @chdecultot sorry I closed the issue by mistake and reopen it again. |
Dear @chdecultot |
Hi @dufani1, You are entirely right, it's a silly mistake from my end with a poor choice of words. I have modified the PR by adopting the term "Total Sales Amount" as proposed. Let's keep this term for future improvements of the module. |
Gross Margin dose not work with Sales Order, the Sales Order ( like the contract with customer) and has the total of project quoted amount, It should when make any payment through the sales order, this payment should be updated as income for this project not cost.
Please let us improve the cost tracking of projects and I am available for any help.
The text was updated successfully, but these errors were encountered: