采销系统-坏账和亏损项目总结

本文描述了一个针对销售和采购亏损的项目,通过SQL查询实现商品维度的亏损计算。项目涉及技术选型、审批流程和复杂测试,最终通过系统自动计算减少了人为错误。老板对系统持积极态度,认为系统能提高准确性。未来建议在系统完善时再进行此类功能的开发。
摘要由CSDN通过智能技术生成

1. 项目背景和目标

  • 销售亏的账-坏账-收不回来的钱
  • 采购亏的账-亏损-花超的钱
  • 谁亏的-亏在哪里-亏了多少

2. 项目成果

  • 坏账走审批流程
  • 计算汇总每个采购商品的亏损
  • 计算汇总月度亏损总计

3. 技术选型和实现方案

因为目前系统支持部分退货和换货,从最小颗粒度考虑,最终,以商品维度计算亏损情况:

  • 采购单:采购亏损额=(商品原价x商品折扣率x数量)-采购单价x采购数量

  • 退货单:退货亏损额=退货金额-(商品原价x商品折扣率x退货数量)

  • 总亏损额=采购亏损额+退货亏顺额

4. 项目经验总结

  • 计算公式进行了多次讨论才得以敲定
  • 由于涉及多个对外对接项目,所有需要多种综合考量
  • 业务流程本身比较长,又处于流程的末尾,测试难度复杂

5. 项目评价

  • 老板喜欢
  • 财务喜欢:反驳别人,系统都算不明白何况人呢
  • 以前账算不明白怪人,以后就可以怪系统了

6. 展望和建议

  • 在系统流程还不是很完善的时候,不建议做这一部分
  • 人都对不明白的账,系统可以?

7.SQL

SELECT
	c.goods_price,
	b.discount_amount,
	b.return_number,
	b.purchase_total,
	ROUND( c.goods_price * m.rate, 2 ) * b.return_number AS discount_expect,
CASE
	WHEN a.after_sales_type = 2 THEN
	ROUND( c.goods_price * m.rate, 2 ) * b.return_number - b.purchase_total 
	ELSE 
	b.purchase_total - ROUND( c.goods_price * m.rate, 2 ) * b.return_number 
	END AS loose 
FROM
	return_order a
	JOIN return_order_goods b ON a.id = b.return_id
	JOIN military_order_goods c ON b.rec_id = c.rec_id
  join (select order,CASE 
        WHEN a.source = 10 THEN 0.97
	      WHEN a.source = 18 THEN 0.97
	      ELSE 1
	      END AS rate from order a)m on m.order=a.ordersn	
WHERE
	a.ordersn = '20230802152204522120'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值