《注塑件-标准成本核算模型》(可安装通用版)
一、模型定位与核算边界
注塑件的定义:注塑件是指,通过使用注塑机,把塑料粒子加热熔融后注射到模具型腔内部,经保压、冷却后定型脱模成型的塑料制件。
本模型的核算边界(明确范围):
- ✅ 涵盖:塑料原料(粒子 + 色母等辅助材料)→ 注塑成型(直接人工 / 能源 / 设备折旧 / 厂房租金)→ 常规后处理(仅一般去水口、检验,不含特殊后道)→ 运费与包装 → 期间费用(销售/管理/财务)→ 行业利润 → 税。
- ❌ 暂不核算(若发生须作为独立行项另行加算,不得并入标准模型,以免高估/低估):
- 嵌件注塑(金属/其他材质嵌件成型);
- 双色 / 多色注塑;
- 膜内注塑(IMD / IMF);
- 独立的后道工序(烫印、喷油、电镀、丝印、组装等)。
边界原则:凡是超出"单纯注塑成型"的工艺,本模型不内置计价,由核算人单独补充。
二、标准成本的概念(CPA 口径)
本模型命名为"标准成本",依据 CPA《成本与管理会计》教材概念:
- 标准成本是一种在正常高效的生产经营条件下,剔除异常浪费后预计发生的目标成本;分"理想标准成本"(最优效率)与"正常标准成本"(考虑合理损耗/正常低效)。
- 本模型采用正常标准成本口径:基于行业通用的工艺与效率基准测算,已计入正常损耗(如废料按行业惯例 50% 回收冲减视为正常损耗),不含异常停机、废品等非正常损耗。
- 因此本模型产出的"标准成本"是谈判锚点与成本基线,不是某一企业的实际账面成本。
三、三种输入形式
| # | 输入形式 | 说明 | 落点 |
|---|---|---|---|
| ① | 2D / 3D 图纸输入 | 由 WorkBuddy 底座调用图纸解析能力(视觉识别 / OCR,或 CAD 解析 Skill)阅读图纸,提取配件体积(cc)与原材料名称/牌号。若图纸未注明原材料牌号,则生成问卷让核算者输入,或给出候选牌号提示选择。再根据配件所用材料,调用本模型比重/密度数据,确定材料用量(体积×密度=重量)。 | drawing_parser / 视觉能力 → compute(volume_cc=…) |
| ② | 对话框直接输入 | 核算者在对话框直接给出材料名称/牌号、用量(净重/毛重或体积)、吨位/模穴/周期、省份/工资/电价/厂房等参数。 | full_quote(material=…, net_kg=…, tonnage=…) |
| ③ | 供应商核价/报价单输入 | 尽可能按规定的表格格式(Excel / CSV / 图片等)直接提供。Skill 读取表中数据,获取配件的用量、材料名称/牌号等信息;图片报价单建议先用视觉能力 OCR 转 Excel/CSV 再解析。 | supplier_quote_parser.parse_supplier_quote() → diff_quote() |
体积→净重换算:
净重(g) = 体积(cc) × 材料密度(g/cc)。密度表见data/materials_default.json。
四、三种输出形式
| # | 输出形式 | 内容 | 引擎 |
|---|---|---|---|
| ① | 标准核价单(固定格式) | 严格对齐标准《核价明细表》模板:直接材料(主/辅/外购)、直接人工/制造费用(10 工序行)、期间费用、成本汇总报价(含未税总价 + 含税总价);每个单价列标注"不含税"。 | build_quote_sheet() → render_quote_html() |
| ② | 标准核价单 + 供应商报价逐项对比表 | 标准 vs 供应商逐项成本对比(材料/人工/能源/折旧/三费/利润),含差异率分级、进攻点 TOP3、合计行。 | diff_quote() → render_diff_html() |
| ③ | 差异分析点说明(含潜在问题预警) | 在②基础上,明确潜在错误/不合理之处。例如:30~50 克零件配 160 吨注塑机、2 克小件也配同一台大机——存在设备选型问题,会在分析中明确指出(选型过大/过小预警)。 | validate_quote.check_quote() 嵌入 diff_quote() |
四-A、⚠️ 输出铁律(任何执行本 skill 的 agent / 平台通用)
核心原则:核价与差异结果必须由脚本生成,LLM 不得自行绘制表格或编造数字。 本 skill 的格式规范(字段、单价标注"不含税"、未税/含税双栏、占比、差异分级)全部锁定在代码里(
quote_sheet_engine.py/diff_analyzer.py的render_quote_html/md与render_diff_html/md)。无论你在 WorkBuddy、Trae、还是其他 AI 编码/对话平台运行本 skill,都必须走下方调用,才能保证输出格式一致、不被改写。
- 生成核价单:
python scripts/run_quote.py --material ABS --net_kg 0.02 …(自动写outputs/quote_<code>.html);或在代码里from main_entry import full_quote, render_quote后调用render_quote_html(q)/render_quote_md(q)。 - 生成差异分析:
diff_quote(standard_quote, supplier_quote)→render_diff_html(d)/render_diff_md(d)。 - 格式选择:默认 HTML(inline 样式,可直接粘贴进公众号/富文本编辑器出排版);若平台只接受纯文本/Markdown,加
--format md(或调render_*_md),字段与 HTML 版完全一致。 - 禁止事项:不得用自然语言重写核价表、不得省略"不含税"标注、不得改动未税/含税口径、不得手算金额替代脚本输出。LLM 只负责转述结论与谈判建议,不负责画表。
五、税口径与价格标注规范(重要)
历史教训:曾把"含税料价"直接当不含税喂入引擎,进项税被计入成本、又在末道被征一次销项税 = 双重计税,使含税价虚高约 8~10%。务必遵守下方规则。
1. 设计基准(与标准财务记账一致)
- 本模型以<b>不含税</b>为核算口径:所有输入(材料单价/电价/工资/设备价值)均视为不含税;增值税 13% 末道统一计一次。
- 这与企业会计准则"成本不含税、税务单独确认"一致。
2. 税负特殊说明(本模型铁律)
- 材料单价、设备单价、能源单价,在成本核算中一律按财务记账模式以不含税处理。
- 总含税单价 = 不含税总价 × 1.13,税率 13%。其他特殊情况本模型不涉及。
- 增值税以外的各项附加税(城建税、教育费附加、地方教育附加等)在本模型不予考虑。
3. 双重计税防错开关
- 若数据源本身是含税市场价(如中塑在线挂牌多为含税),导入
data/*_local.json前请先÷1.13;或调用核价时传compute(p, base, D={"vat_inclusive_input": True}),引擎自动把材料/电/设备价剥离 13% 进项税后再核算。
4. 供应商报价对接规则
- 供应商<b>含税</b>报价 → 先
÷1.13得不含税构成再逐项比;总价对总价(含税对含税)。 - 供应商仅给<b>含税总价</b> → 直接比模型含税总价(最简)。
- 供应商给<b>裸价</b>(仅料+机,无三费/利润/税)→ 只比"直接材料+人工+制造费用"不含税小计,勿与模型含税全口径比。
5. 单价标注强制规范
- 每张核价单/差异表:每个单价列标题后标注
(不含税);汇总区明确「未税总价」+「含税总价(含13%增值税)」;差异表顶部加税口径提示条。
六、数据生命周期(固化进 skill,不依赖外部自动化)
本 skill 自带完整的数据生命周期,无需依赖任何外部定时任务/自动化。 下载即用:首次使用引导你加载本地化数据,之后每次运行自动检查数据新鲜度并提醒刷新。
1. 数据层级与来源三方向
- 安装自带(原始基线):Skill 包内
data/*_default.json开源大数据基线(40 品类料价/密度、22 档注塑机参数、各省电价、行业利润率等)。 - 公开网站大数据:生意社 / 中塑在线 / 各省电网 / 物流公开参考等,由智能体(WebSearch)抓取最新公开价后写入
data/*_local.json。 - 使用者上传数据:按固定格式(CSV/Excel)上传私有料价、实际机台/工资/电价/运费、协商利润等,覆盖默认基线。
- 合并规则:
data/*_default.json(开源基线)被data/*_local.json(本地覆盖)同名键覆盖;materials按 spec 合并(local 优先,独有追加)。改完任意本地文件后跑python scripts/merge_data.py再生plastic_cost_base.json。
2. 首次使用:本地化数据引导(四维度)
- 用户下载本 skill 后首次使用,agent 应主动询问:"是否加载本地化数据(原材料价格 / 设备机台 / 工艺参数 / 运输距离)?"
- 流程(agent 按此转述给用户):
python scripts/localize.py init→ 输出四维度问卷(每项带开源基线默认值,用户可直接回车用默认)。- 用户填写后,
python scripts/localize.py write --category <materials|equip|process|logi> --json '<填好的JSON>'落库,并自动置data/_meta.json的localized=true。 python scripts/merge_data.py再生运行底座。
- 四类落点:原材料价格→
materials_local.json;设备机台→machine_local.json;工艺参数(省份/技能/模穴/机械手/废料回收)→config_local.json:process_defaults;运输距离(区域/运距)→config_local.json:default_logistics。full_quote()会优先使用这些本地化默认值。
3. 数据更新窗口(每月 1 日 / 16 日,内建)
- 升级窗口为每月 1 日 / 16 日;
data/_meta.json记录last_updated,merge_data.py每次重生底座会自动刷新它。 - 每次运行
run_quote.py会自动打印生命周期提示:若距上次更新 ≥15 天,提醒"数据建议刷新";若尚未本地化,提醒"建议首次加载本地化数据"。该提示非阻塞,由 agent 转述给用户。 - 刷新执行:公开价用
python scripts/data_upgrade.py(由智能体抓取后写入 local);自有数据用import+log(记录升级时间 / 升级人 / 升级来源到references/data_upgrade_log.md);再merge_data.py。
4. 升级记录(必做)
- 任何数据升级都记录升级时间、升级人、升级来源(见
references/data_upgrade_log.md),保证可追溯、谈判时可甩出依据。
七、数据来源与更新(开源大数据 + 本地上传)
| 维度 | 开源大数据基线(默认) | 本地上传覆盖 |
|---|---|---|
| 原材料价/密度 | 生意社/中塑在线/万通商务网 公开参考(40 品类) | materials_local.json 填私有/协商价 |
| 工艺/机台 | 通用注塑机市场参考(30~4000T 采购价/功率/注射量/周期) | machine_local.json 填实际机台/模具 |
| 能源单价 | 各省电网电价 + 水/气/蒸汽均价 | energy_local.json 填实际价 |
| 人工 | 各省最低工资折算时薪 + 技能档 | labor_local.json 填实际工资 |
| 运费/包装 | 物流公开参考(体积×距离费率) | config_local.json 调费率/区域 |
| 三费/利润 | 行业参考 + 行业平均净利率 | config_local.json 填企业实际 |
网络大数据刷新:由 WorkBuddy 智能体用 WebSearch 抓取最新公开价后写入 data/*_local.json,或使用者直接编辑本地文件;随后 python scripts/merge_data.py 再生底座。
八、Quick Start(对话用法)
主入口 scripts/main_entry.py 暴露工作流函数:
from main_entry import (
full_quote, # 一步:业务参数 → 标准核价单
parse_and_advise, # 一步:图纸 → 解析 + 工艺推荐
diff_quote, # 一步:标准 vs 供应商报价 → 差异分析(含风险预警)
render_quote_html, # 渲染核价单 HTML
render_dashboard, # 渲染多供应商比价仪表盘
)
# 示例:完整核价(含运费 800km + 行业利润基准)
q = full_quote(material="ABS", net_kg=0.020, gross_kg=0.025, tonnage=160,
mold_factor=4, has_robot=True, province="浙江",
factory_area_sqm=8.0, rent_per_sqm_month=25.0,
distance_km=800, region="华东", industry="汽车零部件",
volume_cc=24.0, part_name="ABS外壳-A", part_code="ABS-A-001")
print(q["summary"]["tax_included_total"]) # 含税总价 元/件 = 未税 × 1.13
# 差异分析(含设备选型等潜在问题预警)
d = diff_quote(standard_quote=q, supplier_quote={...})
print(d["risks"]) # 潜在问题列表(如 2g 配 160T)
不想写代码?直接用命令行入口
scripts/run_quote.py:--selftest/ 参数直传 /--params params.json。
九、核心能力(v3 升级点)
1. 图纸解析(2D + 3D 双轨)
- 2D 工程图:优先用 WorkBuddy 视觉能力识别材质标注 + 尺寸 → 估算体积 → × 密度 = 净重;OCR 兜底用
drawing_parser。 - 3D 模型:优先由 WorkBuddy 多模态视觉读取图形/尺寸估算体积;离线可选
drawing_parser用 trimesh 提网格体积(STL/OBJ/PLY/3MF),cadquery 提实体体积(STEP/IGES)。 - 材质自动识别:覆盖 ABS/PC/PA66/PA6/POM/PP/PE/PBT/PMMA/PVC/PS/TPU/TPE + 增强型(+GF30 等);图中/文件名有标注就用,没有则返回 None 由核算人输入。
2. 工艺推荐(吨位 / 模穴 / 周期 / 费率)
- 吨位:材质系数 × 投影面积 × 系数;机台库
machine_default(30~4000T 共 22 档)。 - 模穴数 / 循环工时 / 机台费率:基于机台库与材质基准测算。
3. 标准核价单(全口径,与 V3.0 公式零差异)
- 直接材料:主/辅/外购三段,9 字段;废料按 50% 回收价冲减(默认减法口径,可切 V3.0 加法)。
- 直接人工/制造费用:10 工序行;人工(机械手系数 0.5)、能源(电价×功率×工时×负载)、设备折旧(10年/残值5%)、厂房租金(实际占地×运营系数3 ÷ 年工时 × 单件工时)。
- 运费 + 包装:体积×距离×参考费率(轻货按体积/重货按重量,叠距离阶梯+区域系数)。
- 期间费用:销售(包装+运杂+其他)/管理(管理2%+次品损失3%)/财务(资金利息 年化×账期/360)。
- 利润:默认参考行业平均净利率(如 汽车零部件 6.44%、塑料制品 4.5%);可切固定/比例。
- 成本汇总:生产成本/期间费用/最终报价三栏并排 + 占比;全程未税核算,末道统一 ×13% 增值税(附加税不计)。
4. 供应商差异分析 + 进攻点 + 潜在问题预警
- 8 项逐项对比,差异率分级(≥20% 深红 / 10~20% 橙 / <-3% 警惕偷工 / ±3% 内正常);TOP3 进攻点;多供应商仪表盘。
- 潜在问题预警:
validate_quote校验设备选型(单件净重与吨位匹配),指出"大马拉小车"等选型错误。
5. 数据底座(双层,单一真本)
- 八大类 + 运费/占地/利润,分
data/*_default(开源基线)与data/*_local(本地覆盖)。 - 更新:改本地文件 →
python scripts/merge_data.py一键再生;validate_v3.py自证算法零差异。
十、Workflow 决策树
用户输入
├─ 有图纸(2D/3D)?
│ ├─ 是 → parse_and_advise()(视觉 或 drawing_parser)→ 净重/材质/工艺
│ └─ 否 → 询问材料+净重(对话框直接输入)
├─ 有供应商报价单(Excel/CSV/图片)?
│ ├─ 是 → supplier_quote_parser 读表 → diff_quote() → 对比 + 进攻点 + 风险预警
│ └─ 否 → 仅生成标准核价单
└─ 运费? → 给 distance_km/region(按体积×距离测算)或回退固定兜底
十一、File Structure
plastic-cost-core/
├── SKILL.md
├── workbuddy.json # 展示元数据
├── _icon.svg
├── scripts/
│ ├── run_quote.py # 命令行入口(--selftest / --params / --format html|md / 生命周期自检)
│ ├── data/ # 双层数据源(开源基线 + 本地覆盖)
│ │ ├── _meta.json # ← 生命周期状态(last_updated / localized / package_version)
│ ├── plastic_cost_base.json # 运行底座(merge_data 生成,勿手改)
│ ├── merge_data.py # 合并 默认+本地 → 运行底座
│ ├── plastic_cost_engine.py # 核价引擎(与 V3.0 零差异;仅计13%增值税)
│ ├── quote_sheet_engine.py # 标准核价单(对齐《核价明细表》模板)
│ ├── drawing_parser.py # 2D/3D 图纸解析
│ ├── process_advisor.py # 工艺推荐
│ ├── freight.py # 运费+包装核算
│ ├── diff_analyzer.py # 差异分析 + 进攻点
│ ├── validate_quote.py # ← 设备选型等潜在问题校验
│ ├── supplier_quote_parser.py # ← 供应商报价单(Excel/CSV)解析
│ ├── data_upgrade.py # ← 数据升级与日志
│ ├── localize.py # ← 生命周期与本地化(status/init/write;每月1/16窗口+四维度问卷)
│ ├── main_entry.py # 主入口(含 lifecycle_prompt)
│ ├── refresh_prices.py # 大数据刷新(CSV→local)
│ ├── validate_v3.py # 算法零差异自证
│ ├── bootstrap_split.py / extract_base.py # 历史用
├── references/
│ ├── quote_sheet_field_spec.md
│ ├── v3_validation_report.md
│ ├── data_storage.md
│ ├── tax_basis_convention.md
│ └── data_upgrade_log.md # ← 升级记录(时间/人/来源)
└── outputs/ # 运行产物
十二、Default Parameters(开源基线建议值,可本地覆盖)
| 参数 | 默认 | 说明 | |---|---|---| | 废料回收比例 | 50% | 浇口料按材料单价 50% 冲减总价 | | 机械手减人工系数 | 0.5 | 有机械手时人工按 0.5 | | 设备折旧 | 10 年 / 残值 5% / 265 天 / 8h | 行业参考 | | 占地运营系数 | 3.0 | 实际占地 ×3(通道/检修/仓储) | | 管理费 | 5%(管理2%+次品3%) | 行业参考 | | 销售费用 | 运费+包装(大数据)或固定 0.06 兜底 | 给距离则测算 | | 利润 | 行业平均净利率 | 汽车零部件 6.44% 等 | | 财务费率 | 3% 年化 × 60 天账期 | 行业参考 | | 增值税 | 13%(末道统一计) | 附加税不在本模型计列 | | 运费费率 | 0.45 元/m³·km(轻货)/0.70 元/吨·km | 物流公开参考 |
十三、Output Conventions
- 核价单 HTML:
outputs/quote_<code>.html;差异 HTML:outputs/diff_<code>.html;仪表盘:outputs/diff_dashboard.html;Markdown 版:outputs/quote_<code>.md/diff_<code>.md(--format md)。 - 价格 4 位小数,占比 2 位;未税/含税两栏,税率 13% 显式标注。
- 全程不含税核算:材料单价/电价/工资/设备价值等输入均视为<b>不含税</b>,增值税 13% 只在末道统一计一次(不计附加税)。
- 单价必须标注税状态:核价单/差异表的每个单价列(材料单价、费料单价、电价、平均工资、设备价值)标题须带
(不含税);汇总区须同时给出「未税总价」与「含税总价(含13%增值税)」。 - ⚠️ 格式由脚本锁定:所有结果必须经由
run_quote.py/render_*_html/render_*_md生成(见 四-A 输出铁律),LLM 不得自行绘制表格或改动口径。HTML 与 MD 两版字段完全一致。 - 完整规范见
references/tax_basis_convention.md
十四、Required Environment
- python3:核心核价只依赖 Python 标准库,无需第三方包(已用 Python 3.13 实测)。
- 3D 解析依赖(可选):
pip install trimesh cadquery numpy;2D OCR(可选):pip install pillow pytesseract - 不装上述库时,2D 由视觉能力替代、3D 退化为读边界框,核心核价不受影响。
- 一键自检:
python3 scripts/run_quote.py --selftest
十五、安装与跨平台适配(特殊平台说明)
本 skill 以 Python 标准库 + 脚本生成锁格式输出 为设计基底,因此可在任何能运行 Python 的 agent / 平台(WorkBuddy、Trae、其他 AI 编码/对话工具)中保持一致的核算与格式。特殊平台差异处理如下:
1. 输出格式适配(最重要)
- 默认 HTML:
render_quote_html/render_diff_html输出自带 inline 样式的 HTML,可直接粘贴进公众号、知乎、头条等富文本编辑器即出排版(无需插件)。这是推荐格式。 - 纯文本 / Markdown 平台:加
--format md(或调render_quote_md/render_diff_md),输出字段与 HTML 版完全一致的 Markdown 表格,避免 LLM 改写格式(见 四-A 输出铁律)。 - API / 程序接入:直接
import引擎函数拿 dict / JSON,自行渲染。
2. 运行环境适配
- 有 Python 的环境(最常见):按 八、Quick Start 直接调用;
run_quote.py不依赖 cwd,从任何目录运行均可。 - 无 Python 的环境 / 纯对话 agent:让 agent 调用本 skill 的脚本(平台需支持执行沙箱命令);若平台完全不支持运行脚本,则只能由 agent 读取 SKILL.md 与示例,按公式手算——此情形下无法保证格式铁律,建议优先选用支持脚本执行的平台。
3. 首次使用与数据更新
- 安装后首次使用按 六-2 引导加载本地化数据;之后数据更新窗口(每月 1/16)由
run_quote.py自动提醒(六-3),不依赖任何外部定时任务。 - 若平台无法自动跑
localize.py/merge_data.py,使用者可手动编辑data/*_local.json后本地跑一次merge_data.py再使用。
4. 常见坑(跨平台)
- 不要把含税价当不含税喂入(双重计税,见 五)。
- 不要跳过脚本、让 LLM 直接"口述/表格化"核价结果——会失格式、失口径。
- 不同平台默认的 agent 行为不同:若发现输出格式不对,先确认是否走了
run_quote.py/render_*,而非 agent 自由发挥。
十六、References
references/quote_sheet_field_spec.md— 核价明细表字段规范references/v3_validation_report.md— 与 V3.0 零差异验证报告references/data_storage.md— 数据存储说明references/tax_basis_convention.md— 税口径与价格标注规范references/data_upgrade_log.md— 数据升级记录(时间/人/来源)data/README.md— 数据源与更新流程
微信扫一扫