示例系统 - 库存管理系统

本系统包含库存管理的常用功能,点击下面【在线体验】按钮进入系统进行体验,本系统只为演示目的,仅供参考。

在线体验

一、系统框架

整个系统分为四部分:基础数据、进货管理、出货管理、统计报表。其中商品的进出库采用先进先出的方法,出库价及成本价采用移动加权平均算法。

系统框架树形结构
系统框架概览

二、各模块功能说明

基础数据

基础数据的录入步骤:『仓库信息』→『仓库初始化』→『库存情况』→『商品表』,最后是『客户信息』和『供货商信息』。

基础数据录入步骤

进行仓库初始化时,只需新建一张『仓库初始化』表单,不需要手工录入任何数据,系统自动把当前的库存信息提取过来,直接保存即可。注意,仓库初始化表单只能填写一张,在保存第二张时,系统会给出相应提示。

仓库初始化

仓库初始化后的各仓库库存情况,明细部分为空,因为明细部分不是手动输入的,而是通过填写『商品表』、『入库单』、『出库单』时补充进来或者删除的。

库存情况

『商品表』中的"当前库存数量"和"当前库存金额"不需手工录入或计算。当前库存数量等于该产品在各个仓库总的数量和。填写一种产品的『商品表』,该商品的信息在保存的时候同时插入一条记录到相应的仓库的『库存情况』表中,同时也插入入库ID,入库ID使用当前系统日期时间。

商品表

进货管理

『入库单』操作要点:

  1. 收入仓库和供货商通过下拉方式选择;
  2. 选择商品编码后,系统会自动查询出商品名称、规格、单位、单价;
  3. 数量必须大于零,否则系统会给予相应提示;
  4. 如果一行明细也没有输,不能保存;
  5. 保存后,系统会自动更新商品的当前库存量、当前库存金额、及发出仓库的库存量;
  6. 保存后,向对应仓库的"库存情况"里插入一条入库明细以及入库ID。
入库单

『退货出库单』:通过下拉菜单选择供货商和出货仓库后,可以直接通过列表选择要退货的货品;若是整单退货,在"整单退货"后选"是",再选择退货单号,退货商品明细将自动被提取出来。保存退货单后,相应仓库的对应商品数量就会减少。

出货管理

『出库单』操作要点:

  1. 收入仓库和客户名称通过下拉方式选择;
  2. 选择商品编码后,自动查询商品名称、规格、单位、单价(即移动平均价)、当前库存量;
  3. 数量必须大于零,且小于或等于当前库存量,否则系统会给予提示;
  4. 如果一行明细也没有输,不能保存;
  5. 保存后,系统会自动更新商品的当前库存量、当前库存金额、及发出仓库的库存量;
  6. 保存后,如果某种商品的出库后库存为0,则删除对应仓库"库存情况"中该入库ID的信息。
出库单

『客户退货单』的操作方法与『退货出库单』类似,有两种选择方式:直接通过列表方式选择,或整单退货。

库存管理

『货品捆绑』与『货品拆分』是一组相反的过程,也是按照商品先进先出的原则处理的。填写一张『货品捆绑』单,主表上的信息,除了"捆绑数量"是需要手工录入的外,其他信息都是通过列表选择和表间公式提取过来的。

保存该表单时,要完成的任务很多,主要是更新『商品表』和『库存情况』中相应商品的库存和总金额。详细的表间公式如下图所示:

货品捆绑表间公式1
货品捆绑表间公式2
货品捆绑表间公式3
货品捆绑表间公式4

统计报表

在统计报表模块可以进行『货品采购查询』、『货品出货排行』、『库存变动情况』和『营业分析』。

统计报表

三、先进先出实现原理

商品的进出库采用先进先出的方法,大致解决思路如下:

  1. 建立"库存情况"模板,保存商品的入库明细;
  2. 整理好仓库信息后,进行仓库初始化——有几个仓库,就建立几张"库存情况"报表,一个仓库对应一个"库存情况"表。此时各仓库的库存情况明细表为空,明细信息不是靠手工录入的,而是通过填写"商品表"和"入库单"时插入进来的;
  3. 录入商品信息,插入明细信息到对应仓库的"库存情况"里;
  4. 录入入库单和出库单时,选择商品编号后,系统自动提取商品明细。入库单是从"商品表"里提数据的,而出库单是从"库存情况"里提数据的;
  5. 入库ID填充的是当前的系统日期时间。