I have been testing out the on-premise implementation of ERPNext, and have read/watched most of the guide/documentation/videos. One thing that has irked me is the assumption Services industry only consists of project management and task management.
TLDR; - Enable fine grain control for BOM for service specific business model in T&M.
Longer version:
I work as an individual independent corporate trainer, management and cybersecurity implementation consultant, and a lead auditor. While most of the assignments of such services do require me to manage tasks and manage projects, however that is seldom how billing is actually done for my clients.
In most of the cases, it’s just a variation of Time and Material (T&M) billing. There are
- billable services (“Tasks” which can be easily billed via Timesheets), and
- deliverables (billable and non-billable Items - documents, reports, artefacts, certification exams, or final assemblies that’s not sold as products - but definitely need to be accounted for purchase expenses).
Both services and deliverables may be produced/provided by in-house resources (me and my own team), or by temporarily acquiring them from third party suppliers or vendors. Internally, whenever there’s an Opportunity generated, a Quotation must be generated based on pre-defined BOMs for standard services (eg. corporate ITIL Foundation Certification training - comprising of billable training delivery fees, billable/non-billable venue fees, non-billable student book and training aids, and billable certificate exam fees, and non-billable certificate) or custom BOM for specific T&M services (eg. ISO/IEC 27001 Certification Audit for ISMS - comprising of yet imprecise and rough estimated billable man hours for fixed tasks, non-billable plans and reports, billable certificate as per scope).
The above workflow conflicts with the standard key workflow, ie. BOM created before Sales Order, compared to BOM created after Sales Order (https://erpnext.com/docs/user/manual/en/introduction/key-workflows). At this time, I can safely guess that I’m not alone in this particularly common business scenario, and it shouldn’t be rocket science to figure out the business logic. As a business owner, I would like to have every purchase Item (Stock or non-Stock, Product or Service) pre-populated in my Sales Order as a preliminary BOM (billable and non-billable deliverables and billable and non-billable services), that I need to account for, so that my quotations can be made faster, with less margin of error for wrong pricing.
I have been struggling with getting this to work using combination of Product Bundles, in the lines of [Enhencement] Auto calculate rate of service product bundle based on sub-parts · Issue #4171 · frappe/erpnext · GitHub. I’m expecting this logic to ensure the quotation process would not only become easier, faster and relatively error-free, but also largely independent of decision-making pit-stops for standard services and accounting to be more cost-center focussed (bordering onto Business Intelligence).
Am I missing out a feature or a logic that is already in-built in ERPNext, or does this require customization?