直接运行非常适合- ✅ 小型装修公司 / 施工队- ✅ 半包装修成本精细化管理- ✅ Python 会计信息化实战案例【Python 实战】小型装修半包项目主材 / 辅材 / 人工分项独立成本记账系统标签Python / 智能会计 / 装修行业 / 成本管理 / 实战项目前言为什么我要写这个在给一家小型装修公司做内训时老板跟我抱怨❌ “半包报价 8 万最后算下来只赚 2 千”❌ “水泥沙子到底用了多少”❌ “工人工资和材料混在一起根本算不清”于是我用 Python 写了一套 装修半包项目主材 / 辅材 / 人工分项独立成本记账系统一、实际应用场景描述你是一家 小型装修公司 / 项目经理- 业务模式半包- 主材客户自购 or 代购- 辅材水泥、沙子、电线、水管- 人工水电工、泥工、木工- 每个工地- 材料进场多次- 人工阶段性结算- 财务要求- 三类成本独立核算- 单项目利润清晰 你需要解决的问题✅ 主材花了多少✅ 辅材有没有浪费✅ 人工是否超预算二、引入痛点为什么必须程序化环节 传统做法 问题材料记账 收据 / 微信 易丢人工结算 口头约定 难追溯成本混算 一笔总数 无法优化多工地 Excel 分表 易错利润分析 事后才知 风险大 结论装修半包 ≠ 粗放管理它是典型项目制成本管理三、核心逻辑讲解会计 程序1️⃣ 成本结构拆解重点项目总成本 主材成本 辅材成本 人工成本单项目利润 合同金额 - 项目总成本2️⃣ 会计映射关系程序字段 会计科目主材 工程施工—材料费辅材 工程施工—材料费人工 工程施工—人工费合同金额 主营业务收入项目利润 工程毛利四、代码模块化设计工程化 项目结构renovation_cost/│├── models.py # 项目 成本模型├── cost_calculator.py # 成本计算引擎├── reporter.py # 成本报表├── main.py # 程序入口└── README.md五、核心代码实现完整展示1️⃣ models.py数据模型from dataclasses import dataclassfrom typing import Listdataclassclass MaterialCost:name: stramount: floatdataclassclass LaborCost:role: strdays: intdaily_wage: floatdataclassclass RenovationProject:project_id: strcontract_amount: floatmain_materials: List[MaterialCost]aux_materials: List[MaterialCost]labor_costs: List[LaborCost]2️⃣ cost_calculator.py成本引擎class CostCalculator:staticmethoddef material_total(materials):return sum(m.amount for m in materials)staticmethoddef labor_total(labors):return sum(l.days * l.daily_wage for l in labors)staticmethoddef project_total(project):main CostCalculator.material_total(project.main_materials)aux CostCalculator.material_total(project.aux_materials)labor CostCalculator.labor_total(project.labor_costs)return main aux labor3️⃣ reporter.py成本报表class ProjectReporter:staticmethoddef report(project):main CostCalculator.material_total(project.main_materials)aux CostCalculator.material_total(project.aux_materials)labor CostCalculator.labor_total(project.labor_costs)total main aux laborprofit project.contract_amount - totalreturn {项目编号: project.project_id,合同金额: project.contract_amount,主材成本: main,辅材成本: aux,人工成本: labor,总成本: total,项目利润: profit}4️⃣ main.py程序入口from models import RenovationProject, MaterialCost, LaborCostfrom reporter import ProjectReporterdef main():project RenovationProject(project_idP202601,contract_amount85000,main_materials[MaterialCost(瓷砖, 12000),MaterialCost(地板, 15000)],aux_materials[MaterialCost(水泥, 3000),MaterialCost(电线, 4500)],labor_costs[LaborCost(水电工, 10, 400),LaborCost(泥工, 15, 450)])report ProjectReporter.report(project)print( 装修项目成本报表 )for k, v in report.items():print(f{k}: ¥{v:.2f})if __name__ __main__:main()六、运行效果示例 装修项目成本报表 项目编号: P202601合同金额: ¥85000.00主材成本: ¥27000.00辅材成本: ¥7500.00人工成本: ¥11750.00总成本: ¥46250.00项目利润: ¥38750.00七、README.md# 装修半包项目分项成本记账系统## 功能✅ 主材 / 辅材 / 人工独立核算✅ 单项目利润计算✅ 成本结构清晰✅ 支持多项目扩展## 适用- 小型装修公司- 施工队长- 智能会计课程案例## 运行bashpython main.py八、使用说明1. 在main.py 中配置项目信息2. 填写- 合同金额- 主材 / 辅材清单- 人工天数与单价3. 运行程序4. 自动输出- 各项成本- 项目利润九、核心知识点卡片模块 知识点成本分类 直接材料人工核算 工程施工项目制 单项目利润数据建模 dataclass工程化 成本 × 报表分离十、总结装修行业利润薄谁先把成本算清谁就先活下来。✅ 对老板利润看得见✅ 对财务科目清晰✅ 对技术项目制最佳实践利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛