#59019·erpnext

BOM 中基于公式的/非线性材料计算(对制药和工艺制造至关重要)

作者: danialradmehr创建于 2026年9月11日更新于 2026年9月17日
标签feature-request
  1. 背景和上下文 你好 Frappe/ERPNext 团队! 我们一直在为一家制药公司大量开发和定制 ERPNext。 在实施过程中,我们遇到了一些与行业特定的挑战,并本地解决了这些挑战。 然而,为了促进 ERPNext 的发展和成熟,我们决定将这些解决方案作为功能请求进行分享。 我们相信此特定功能将使 ERPNext 成为流程制造(制药,化学品,餐饮)的强大平台。 2. 您的功能请求是否与问题有关?请描述: 目前,ERPNext 纯粹以线性方式处理物料清单(BOM)。 如果一个 BOM 基于 1 单位,并且为 100 单位创建了一份工作单,系统只需将每种原材料乘以 100。 虽然这对于离散制造(例如组装椅子)来说完全合理,但在制药等高精度和流程制造中却完全失败。 在这些行业中,材料消耗并不总是与产出数量成正比,因为产率因素、化学反应、设置材料或动态批量调整。 示例:一个基于 1 单位的 BOM 可能需要 1 克物质 X。 然而,由于化学配方,生产 100 单位的批次可能从数学上需要 67 克(而不是 100 克)。 目前,要在 ERPNext 中处理此问题,生产 50 种不同产品,且 10 种目标批量大小的公司必须手动创建和维护 500 个不同的 BOM。 这简直是一个行政噩梦,而且极易出错。 3. 描述您想要的解决方案: 我们建议在 BOM 行级引入一个“公式基础计算系统”,其功能类似于 Excel 列公式。 基础设置:主要的 BOM 页面仍然基于标准数量(例如 1 单位)。 公式字段:在 BOM 项表中引入一个新字段(例如 产量计算公式)。 动态批量评估:当生成工作单并输入目标生产数量(批量大小)时,系统应评估此公式,以计算特定行所需的确切材料数量,而不是依赖于简单乘法。 UI 建议:BOM 中的一个次级标签或视图可以专门用于定义这些计算规则和公式,以针对特定目标批量大小。 4. 描述您考虑过的替代方案: 维护多个 BOM:为每个可能的批量大小创建一个单独的 BOM(例如 50 个基础产品 x 10 个目标批量大小 = 500 个 BOM)。 这使得 BOM 维护变得极其困难和低效。 自定义客户端/服务器脚本:我们已经在本地定制了工作单生成,以基于自定义数据字段覆盖材料数量。 然而,将此功能本地集成到 BOM 功能将使 ERPNext 中的流程制造标准化。 5. 商业影响/额外上下文:实施此功能将无缝弥补 ERPNext 中离散制造和流程制造之间的差距。 它允许具有高度