下面给你一套“Python 工厂损耗智能分摊系统”完整示例方案,定位非常明确:

 

用数据和系数干掉“老会计拍脑袋估损耗”

让单品成本从“经验定价”走向“算法定价”

 

 

✅ 智能会计课程案例

 

✅ 制造业成本核算工具

 

✅ 技术博客 + 实战项目

 

一、实际应用场景描述

 

场景:离散制造型企业(五金 / 注塑 / 电子装配)

 

- 生产部门每日录入:

   - 原料投入量

   - 成品入库量

- 财务每月核算:

   - 单品真实成本

   - 损耗是否合理

- 传统做法:

“这个工序一般损耗 5%,那个 3%……”

- 结果:

   - 成本忽高忽低

   - 报价不准

   - 利润表像“玄学”

 

目标系统:

 

✅ 投料 + 成品数据

 

✅ 按行业损耗系数表自动分摊

 

✅ 输出单品精准成本

 

二、引入痛点(经验 vs 数据)

 

维度 老会计经验估算法 智能分摊算法

损耗依据 口头经验 行业系数表

成本波动 人为调整 数据驱动

可追溯性 无法复盘 公式可验证

定价准确性 靠感觉 靠模型

新手上手 难 直接跑程序

 

👉 一句话暴击:

 

成本核算不是玄学,是数学。

 

三、核心逻辑讲解(会计 × 工业 × Python)

 

1️⃣ 核心会计公式

 

应耗用量 = 成品数量 × 单位标准用量

理论损耗 = 投料量 − 应耗用量

损耗率 = 理论损耗 / 投料量

 

2️⃣ 智能分摊思路

 

- 不同工序 / 产品有标准损耗系数

- 实际损耗 偏离系数 → 预警

- 成本 = 原料单价 × (1 + 实际损耗率)

 

四、数据表结构设计(示例)

 

产品损耗系数表

 

CREATE TABLE product_loss_coefficient (

    product_id INT PRIMARY KEY,

    product_name VARCHAR(100),

    std_loss_rate DECIMAL(5,4) -- 如 0.05 表示 5%

);

 

生产投料表

 

CREATE TABLE production_record (

    id INT PRIMARY KEY AUTO_INCREMENT,

    product_id INT,

    input_qty DECIMAL(10,2),

    output_qty DECIMAL(10,2),

    material_price DECIMAL(10,2)

);

 

五、Python 模块化代码(强注释版)

 

📁 项目结构

 

factory_cost/

├── config.py

├── database.py

├── loss_calculator.py

├── cost_allocator.py

├── report.py

└── main.py

 

1️⃣ config.py

 

# config.py

DB_CONFIG = {

    "host": "localhost",

    "user": "root",

    "password": "123456",

    "database": "smart_factory"

}

 

2️⃣ database.py

 

# database.py

import pymysql

 

def get_connection():

    return pymysql.connect(

        host=DB_CONFIG["host"],

        user=DB_CONFIG["user"],

        password=DB_CONFIG["password"],

        database=DB_CONFIG["database"],

        charset="utf8mb4",

        cursorclass=pymysql.cursors.DictCursor

    )

 

3️⃣ loss_calculator.py(损耗计算核心)

 

# loss_calculator.py

"""

根据投料 & 产出计算实际损耗率

"""

 

def calculate_loss(input_qty, output_qty, std_usage_per_unit):

    theoretical_usage = output_qty * std_usage_per_unit

    actual_loss = input_qty - theoretical_usage

    loss_rate = actual_loss / input_qty if input_qty else 0

    return round(loss_rate, 4)

 

4️⃣ cost_allocator.py(智能分摊核心)

 

# cost_allocator.py

"""

按行业系数自动分摊损耗,计算单品成本

"""

 

def allocate_cost(material_price, loss_rate):

    """

    单品成本 = 原料单价 × (1 + 实际损耗率)

    """

    return round(material_price * (1 + loss_rate), 4)

 

5️⃣ report.py(成本报表)

 

# report.py

import pandas as pd

 

def generate_cost_report(data):

    df = pd.DataFrame(data)

    df.to_excel("单品成本核算报表.xlsx", index=False)

    print("✅ 单品成本报表已生成")

 

6️⃣ main.py(一键执行)

 

# main.py

from loss_calculator import calculate_loss

from cost_allocator import allocate_cost

from report import generate_cost_report

import pymysql

 

def main():

    conn = pymysql.connect(**DB_CONFIG)

    try:

        with conn.cursor() as cursor:

            sql = """

            SELECT p.product_id, p.input_qty, p.output_qty, p.material_price, c.std_loss_rate

            FROM production_record p

            JOIN product_loss_coefficient c ON p.product_id = c.product_id

            """

            cursor.execute(sql)

            records = cursor.fetchall()

 

        result = []

        for r in records:

            loss_rate = calculate_loss(

                r["input_qty"],

                r["output_qty"],

                r["std_loss_rate"]

            )

            unit_cost = allocate_cost(r["material_price"], loss_rate)

 

            result.append({

                "product_id": r["product_id"],

                "实际损耗率": f"{loss_rate:.2%}",

                "单品成本": unit_cost

            })

 

        generate_cost_report(result)

 

    finally:

        conn.close()

 

if __name__ == "__main__":

    main()

 

六、README.md(使用说明)

 

# 工厂损耗智能分摊系统

 

## 功能

- 自动计算实际损耗率

- 按行业系数分摊成本

- 输出单品精准成本

 

## 使用步骤

1. 配置数据库

2. 录入产品损耗系数

3. 录入生产投料数据

4. 执行 python main.py

 

七、核心知识点卡片

 

📌 知识点卡片

 

技术点 说明

标准成本法 会计核心思想

损耗系数 工业经验数据化

Python 函数封装 业务逻辑解耦

SQL JOIN 多表数据整合

Pandas 报表自动化

 

八、总结

 

❌ 别再用“大概 5% 损耗”糊弄老板

✅ 用 行业系数 + Python 算出真成本

这套方案的本质是:

 

把“老会计的经验”变成“可复用的代码资产”

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐