第一篇:销售及库存管理系统开发步骤(网络版)
“销售及库存管理系统”开发的基本步骤
一、准备工作:
1、确定需要管理的数据项、数据表及数据库。(从数据流程图中):
① 数据库:销售库存.DBC
② 数据表:客户.dbf、销售员.dbf、合同.dbf、发货单.dbf、入库单.dbf、产品.dbf、库存.dbf
③ 表间关系:一对多关系:客户-合同、销售员-合同、产品-合同等
2、明确系统界面、用户界面:
① 系统起始信息:欢迎界面、用户名称、口令
② 系统功能菜单:
③ 系统I/O界面:输入表单、输出报表
④ 统计计算:自定义表单及程序。
二、上机步骤:
1、启动计算机及VFP,设置默认工作目录。
2、新建一项目,或打开原有项目管理器。
3、在“项目管理器”中,选“数据”卡片,新建或修改数据库及表、关系。
4、在“项目管理器”中,选“文档”卡片,新建或修改I/O界面(表单、报表及统计计算程序)
5、在“项目管理器”中,选“其他”卡片,新建或修改功能主菜单。
6、在“项目管理器”中,选“代码”卡片,新建或修改主程序及其他程序。
7、运用“项目管理器”,将所有文件连编成可独立运行的.EXE程序文件。
第二篇:库存销售办法及程序
库存销售办法及程序
价格体系的修改和制定
1.结合市场同档位品牌、促销政策、活动力度等因素来制定价格;
2.计算现有库存产品的成本来制定价格;
3.制定原则——保本不赔,略有盈余。
销售渠道的选定
1.代理商——所覆盖的渠道和店面;
2.公司直销所覆盖的渠道和店面;
3.既有销售能力又相对熟悉的名烟名酒、社区超市、餐馆、饭店等渠道;
4.全体员工的社会关系及亲朋好友渠道;
促销方案的制定
1.传统渠道:逐家拜访,力度加大,争取陈列,力争助推,赠品辅助,预热市场,赢得口碑;
2.关系渠道:根据是否开票情况出台提货价格,应低于或等于批发价。不同类型、不同主题的客户配赠不同的赠品。
3.赠品的搭配、比例、相关规则及方法。
促销品的选定:(选定的促销品要带有大漠酒业或大漠LOGO的字样!)
1.商务茶杯、2.U盘、3.等价香烟、4.雷锋书包或雷锋茶杯、5.德克士代金券、6.iPhone4s精美
彩壳、7.酒业笔记本、8.手机消毒器、9.导航仪、10.电子狗、11.车饰套装等。
销售队伍及所需的配套设施
1.2.3.4.5.现有销售人员——; 重新包装的送货车辆——2~3辆; 促销品的采价、购买; 人员需求:市场部1名,商务1名,具有快消品、白酒销售经验者2~5名; 独立的办事处和相关的办公用品。
第三篇:数据库课程设计——库存销售管理系统
数据库课程设计
实验报告
姓名:黄世增
班级:计算机1403
学号:14116403051.实验名称
使用Visual Basic 6.0和SQL Server 2014开发库存销售管理系统
2.实验目的
使用Visual Basic 6.0开发工具开发一个库存销售管理系统,该系统采用SQL Server 2014数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。
系统主要实现以下目标:
实现系统登录及修改用户密码的功能。 对库存货物的出入库信息进行管理。 对商品的销售信息进行管理。
根据销售日期统计商品的销售数据。
3.实验步骤 3.1 设计数据库
建立一个名为“DB_KCGL”的数据库,根据前述的主要功能目标,需要建立3个数据表(关系):
(1)货物的出入库信息:保存货物的出入库信息
id:库存货物信息的编号,主码,建议长度为18的numeric类型。 tb_title:库存货物的名称,建议长度为50的varchar类型。 tb_style:库存货物的类型,建议长度为50的varchar类型。 tb_nums:库存货物的数量,建议为整型int。 tb_values:库存货物的价格,实数类型real。
tb_date:库存货物的入库日期,时间日期类型datetime。
tb_mark:库存货物的备注信息,建议长度为50的varchar类型。
(2)商品的销售信息:保存商品的销售信息
id:商品销售信息的编号,主码,建议长度为18的numeric类型。
tb_title:销售商品的名称,建议长度为50的varchar类型。tb_nums:建议为整型int。
tb_values:销售商品的总价,浮点类型float。
tb_date:商品销售的日期,时间日期类型datetime。
(3)系统用户的信息:保存系统用户的信息
id:用户信息的编号,主码,建议长度为18的numeric类型。 tb_name:用户名称,建议长度为50的varchar类型。
tb_pas:用户的密码信息,建议长度为50的varchar类型。
3.2 设计连接数据库的模块
需要首先建立一个连接数据库的模块,这样应用程序才能与数据库中的数据表取得连接,将数据信息从数据表中读出到应用程序中或通过应用程序保存到数据表中。
为此,建立一个负责数据库连接的模块如下:
(1)选择“工程”菜单下的“添加模块”命令,在应用程序中添加一个模块Module1。(2)Module1模块的实现如下: '数据连接模块
Public MyStrs As String Public DB_AdoRs As New ADODB.Recordset
'后添加一个记录集对象 Public DB_AdoRs1 As New ADODB.Recordset
'后添加一个记录集对象 Public DB_AdoRs2 As New ADODB.Recordset
'后添加一个记录集对象 Public Function Cnn()As ADODB.Connection
'定义连接字符串函数
Set Cnn = New ADODB.Connection
Cnn.Open “Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB_KCGL;Data Source=.” End Function Public Sub Main()
MyStrs = “Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=DB_KCGL;Data Source=.”
'显示系统登录窗体
Form1.Show End Sub(3)这里需要将程序的入口设置为模块中的Main()函数。选择“工程”菜单下的“工程属性”命令,在“通用”标签中进行相应设置。
3.3 系统登陆模块设计
在本库存销售管理系统中,只有授权用户(管理员)可以登录并进行库存和销售信息管理与维护,因此需要一个系统登录界面,防止非法用户登录到系统中,从而保证了应用程序的安全性和可靠性。
3.3.1 登录窗体设计
设计如下的登录窗体,在窗体中要添加一个ADO控件,命名为Adodc1。
(1)登录窗体启动之后,需要将系统用户的信息数据表中的所有用户名称信息添加到窗体的ComboBox控件的Op_Name属性中,即实现在“操作员名称”下拉列表中可以出现系统当前的操作员信息,供登录用户选择。Private Sub Form_Load()'使用代码连接数据库与数据表
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = “select * from 系统的用户信息”
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Op_Name.Clear
'在添加数据时,首先清空控件中的内容
Do While Adodc1.Recordset.EOF = False
'将操作员信息添加到下拉列表框控件当中
Op_Name.AddItem(Adodc1.Recordset.Fields(“tb_name”))
Adodc1.Recordset.MoveNext
Loop
End If End Sub
(2)当用户在“操作员名称”下拉列表中选择操作员的名称,并且在“操作员密码”文本框输入正确的密码之后,单击“确定”按钮将登录到系统中,否则将无法登录系统。具体实现如下:
Private Sub Cmd_Ok_Click()Adodc1.RecordSource = “select * from Tb_User where tb_name ='” & Op_Name.Text & “'” Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
MPassword = Adodc1.Recordset.Fields(“tb_pas”)
If Txt_Password.Text = MPassword Then
'判断数据的密码是否正确
Name1 = Op_Name.Text
Frm_Main.StatusBar1.Panels.Item(2).Text = “当前操作员: ” + Adodc1.Recordset.Fields(“tb_name”)
Frm_Main.Show
'通过身份验证则显示主窗体,登录到系统当中
Unload Me
Else
MsgBox “密码不正确,请您确认后重新输入”, , “提示信息”
Txt_Password.Text = “"
Txt_Password.SetFocus
End If
Else
MsgBox ”对不起 没有此用户的信息“, , ”提示信息“
Op_Name.Text = ”“
Txt_Password.Text = ”“
End If End Sub 3.4 系统主界面的实现
3.4.1 主界面设计
(1)在工程中添加一个窗体,将窗体命名为Frm_main,将窗体Caption属性设置为“库存管理系统”。
(2)添加一个Toolbar控件,工具栏由“修改密码”、“库存管理”、“商品销售”、“销售统计”和“退出系统”5个按钮组成。(3)添加一个StatusBar控件,使得状态栏中能够显示登录操作员姓名和当前系统时间等信息。
(4)在主窗体上添加一个时钟控件,用于显示系统当前日期和时间信息。
(5)在主窗体上添加一个Label标签控件,将其Caption属性设置为“库存管理系统”。
3.4.2 代码实现
(1)窗体启动时,在窗体的状态栏中将显示当前系统的日期信息: Private Sub Form_Load()
StatusBar1.Panels.Item(3).Text = Format(Now, ”yyyy年mm月dd日“)End Sub
(2)单击窗口工具栏按钮时,将会调用系统的各个子功能模块: Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
Frm_Pas.Show
'修改密码
Case 2
Frm_Inout.Show '库存管理
Case 3
Frm_Sale.Show
'商品销售
Case 4
Frm_Stat.Show
'销售统计
Case 5
End
'退出系统
End Select End Sub
(3)在时钟控件的Timer事件中添加如下代码,实现在状态栏中显示当前系统时间的功能: Private Sub Timer1_Timer()
StatusBar1.Panels.Item(4).Text = Time End Sub
(4)再向状态栏中添加公司名称,操作员和公司网址信息。
系统主窗体的运行界面如下图所示:
3.5 出入库管理模块的设计与实现
该模块主要是记录和维护库存中的货物信息,其中包括对货物信息的删除、修改和保存等方面的功能。
3.5.1 窗体界面设计
(1)在工程中添加一个窗体,命名为Frm_Inout,将窗体Caption设置为“出入库管理”。(2)在窗体上添加相应的控件,如下图所示。
(3)通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。
(4)在窗体上添加一个ADO控件Adodc1,同时将DataGrid1的数据源属性DataSource设置为Adodc1。
3.5.2 程序代码实现
(1)窗口载入时,将数据库中商品表数据读出。Private Sub Form_Load()
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = ”select * from 货物的出入库信息 order by id“
Adodc1.Refresh
AddTitle End Sub
其中,AddTitle函数用于向DataGrid1添加表头,实现如下: '添加数据库字段标题的事件过程 Private Sub AddTitle()
DataGrid1.Columns.Item(0).Caption = ”编号“
DataGrid1.Columns.Item(1).Caption = ”名称“
DataGrid1.Columns.Item(2).Caption = ”类型“
DataGrid1.Columns.Item(3).Caption = ”数量“
DataGrid1.Columns.Item(4).Caption = ”单价“
DataGrid1.Columns.Item(5).Caption = ”入库日期“
DataGrid1.Columns.Item(6).Caption = ”备注“
End Sub
(2)点击“添加”按钮,清空编辑框,让用户输入新的待添加内容 Private Sub Command1_Click()'清空文本框中的内容
Text1.Text = ”“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”“
Text5.Text = ”“
Text6.Text = ”“
Text1.SetFocus End Sub(3)点击“删除”按钮,删除选中当前记录。Private Sub Command2_Click()'删除库存信息
c = MsgBox(”确认要删除该信息吗“, 17, ”提示信息“)
If c = vbOK Then
'如果有错误则执行错误处理
On Error Resume Next
Set DB_AdoRs = Cnn.Execute(”Delete from 货物的出入库信息 where id='“ + Text1.Text + ”'“)MsgBox ”数据删除成功“, 64, ”提示信息“
'删除后刷新数据信息
Adodc1.RecordSource = ”select * from 货物的出入库信息 order by id“
Adodc1.Refresh
AddTitle
End If
Text1.Text = ”“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”“
Text5.Text = ”“
Text6.Text = ”“
End Sub
(4)点击“修改”按钮,修改当前的记录信息。Private Sub Command3_Click()'修改库存信息
c = MsgBox(”确认修改信息吗“, 33, ”提示信息“)
If c = vbOK Then
'
On Error Resume Next
Set DB_AdoRs = Cnn.Execute(”UPDATE 货物的出入库信息 SET tb_title='“ + Text2 + ”',tb_style='“ + Text3 + ”',tb_nums='“ + Text4 + ”',tb_values='“ _
+ Text5 + ”',tb_mark='“ + Text6 + ”' where id='“ + Text1.Text + ”'“)
MsgBox ”数据修改成功“, 64, ”提示信息“
Adodc1.RecordSource = ”select * from 货物的出入库信息 order by id“
Adodc1.Refresh
AddTitle
End If End Sub(5)点击“保存”按钮,将保存文本框中输入的货物信息。Private Sub Command4_Click()If Text1.Text = ”“ Or Text2.Text = ”“ Or Text3.Text = ”“ Or Text4.Text = ”“ Or Text5.Text = ”“ Or Text6.Text = ”“ Then
MsgBox ”保存的数据信息不能为空“, 48, ”提示信息“
Else
DB_AdoRs.Open ”select * from 货物的出入库信息 where tb_title='“ + Text2.Text + ”'“, Cnn, adOpenKeyset
If DB_AdoRs.RecordCount > 0 Then
'判断要保存的信息是否已经存在
MsgBox ”该货物信息信息已经存在“, 48, ”提示信息“
DB_AdoRs.Close
Else
DB_AdoRs.Close
c = MsgBox(”确认保存信息吗“, 33, ”提示信息“)
If c = vbOK Then
'如果选择的是“确定”按钮则保存信息
Set DB_AdoRs = Cnn.Execute(”insert into 货物的出入库信息 values(“ & Text1 & ”,'“ & Text2 & ”','“ & Text3 & ”',“ & Text4 & ”,“ _
& Text5 & ”,'“ & Date & ”','“ & Text6 & ”')“)
MsgBox ”信息保存成功“, 64, ”提示信息“
Else
End If
'保存数据后刷新数据信息
Adodc1.RecordSource = ”select * from 货物的出入库信息 order by id“
Adodc1.Refresh
AddTitle
End If
End If End Sub(6)点击退出,销毁当前窗口。Private Sub Command6_Click()
Unload Me End Sub
(7)单击DataGrid1中的相应记录,会在窗体左侧的各个编辑框中显示相应的内容。Private Sub DataGrid1_Click()'On Error Resume Next
If Adodc1.Recordset.RecordCount > 0 Then
Text1.Text = Adodc1.Recordset.Fields(0)
Text2.Text = Adodc1.Recordset.Fields(1)
Text3.Text = Adodc1.Recordset.Fields(2)
Text4.Text = Adodc1.Recordset.Fields(3)
Text5.Text = Adodc1.Recordset.Fields(4)
Text6.Text = Adodc1.Recordset.Fields(6)
End If End Sub
窗体的运行界面如下图所示:
3.6 商品销售模块的设计与实现
在“商品销售管理”窗口中的“销售商品”下拉列表中选择要销售的商品之后,该商品的基本信息将显示在窗体中相应的文本框中,在输入销售数量和实收金额后,单击“确认销售”按钮完成销售商品的操作。
3.6.1 窗体界面设计
(1)在工程中添加一个窗体,命名为Frm_Sale,将Caption属性设置为“商品销售管理”。(2)在窗体上添加相应的控件,如下图所示。
(3)通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。
(4)在窗体上添加2个ADO控件Adodc1和Adodc2,同时将DataGrid1的数据源属性DataSource设置为Adodc2。
3.6.2 程序代码实现
(1)窗体启动时,将商品库存中的货物名称信息添加到下拉列表中,然后再将商品销售的数据信息显示在DataGrid1控件中。Private Sub Form_Load()Adodc2.ConnectionString = MyStrs
Adodc2.RecordSource = ”select * from 商品的销售信息 order by id“
Adodc2.Refresh
AddTitle
'使用代码连接数据库与数据表
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = ”select * from 货物的出入库信息“
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Combo1.Clear
'在添加数据时,首先清空控件中的内容
Do While Adodc1.Recordset.EOF = False
'将货物出入库信息添加到下拉列表框控件当中
Combo1.AddItem(Adodc1.Recordset.Fields(”tb_title“))
Adodc1.Recordset.MoveNext
Loop
End If End Sub Private Sub AddTitle()
DataGrid1.Columns.Item(0).Caption = ”编号“
DataGrid1.Columns.Item(1).Caption = ”名称“
DataGrid1.Columns.Item(2).Caption = ”销售数量“
DataGrid1.Columns.Item(3).Caption = ”销售总价“
DataGrid1.Columns.Item(4).Caption = ”销售日期“ End Sub(2)选择下拉列表中的商品之后,该商品的详细信息将显示在窗体中相对应的文本框中。'商品详细信息
Private Sub Combo1_Click()Adodc1.RecordSource = ”select * from 货物的出入库信息 where tb_title ='“ & Combo1.Text & ”'“ Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Text1.Text = Adodc1.Recordset.Fields(”id“)
Text2.Text = Adodc1.Recordset.Fields(”tb_style“)
Text3.Text = Adodc1.Recordset.Fields(”tb_nums“)
Text4.Text = Adodc1.Recordset.Fields(”tb_values“)
Text5.Text = Adodc1.Recordset.Fields(”tb_mark“)
End If
'清空文本框中的内容
Text6.Text = ”“
Text7.Text = ”“
Text8.Text = ”“
Text9.Text = ”“
End Sub
(3)单击“确认销售”按钮,将完成销售商品的操作。
(4)当用户输入销售数量后并将输入焦点移开后,需要实时更新商品详细信息中的数量信息,即在原有数量的基础上减去用户输入的销售数量。(3)和(4)的代码:
Private Sub Command1_Click()
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = ”select * from 货物的出入库信息 where tb_title ='“ & Combo1.Text & ”'“
Adodc1.Refresh
Dim a As Integer
Dim b As Integer
a = Val(Text7.Text)
b = Val(Text4.Text * Text6.Text)
If Text6.Text = ”“ Or Text7.Text = ”“ Then
MsgBox ”请补全信息!“, 64, ”提示信息“
Else
If a < b Then
MsgBox ”信息输入有误,请重新输入!“, 64, ”提示信息“
Else
Text8.Text = Text4.Text * Text6.Text
Text9.Text = Text7.TextText6.Text
Adodc1.Recordset.Update
Set DB_AdoRs = Cnn.Execute(”insert into 商品的销售信息 values('“ & Adodc2.Recordset.RecordCount + 1 & ”','“ & Combo1.Text & ”','“ & Text6 & ”',“ & Text8 & ”,'“ & Date & ”')“)
Set DB_AdoRs = Cnn.Execute(”UPDATE 货物的出入库信息 SET tb_nums = '“ & Text3 & ”' where id= '“ & Text1 & ”'“)
MsgBox ”销售成功!“, 64, ”提示信息“
Adodc2.RecordSource = ”select * from 商品的销售信息 “
Adodc2.Refresh
AddTitle
End If
End If End Sub
窗体的运行结果如下图所示:
3.7 销售统计模块的设计与实现
该模块主要实现统计商品销售信息的功能。选择商品的销售日期和销售商品的名称之后,在下面的DataGrid数据表格控件中就会显示查询的数据结果信息,同时统计出销售商品的总数量和总价格。
3.7.1 窗体界面设计
(1)添加一个窗体,命名为Frm_Stat,将窗体的Caption属性设置为“销售统计”。(2)在窗体上添加控件情况如后图。
(3)在窗体上添加一个数据表格控件DataGrid1。
(4)在窗体上添加2个ADO控件Adodc1和Adodc2,同时将DataGrid1的数据源属性DataSource设置为Adodc2。
销售统计窗体的设计界面如下图所示。
3.7.2 程序代码实现
(1)在启动窗体时,将货物的名称信息添加到下拉列表控件中,然后再将商品销售的数据信息显示在表格控件中。
(2)在日期时间控件DTPicker1的Change事件下添加如下的程序代码,实现根据选择条件统计商品销售信息的功能。
(3)在日期Combo1控件的Click事件下添加如下的程序代码,实现根据选择条件统计商品销售信息的功能。
Private Sub Combo1_Click()Adodc2.RecordSource = ”select * from 商品的销售信息 where tb_title ='“ & Combo1.Text & ”' and tb_date ='“ & DTPicker1.Value & ”' “ Adodc2.Refresh AddTitle Dim n, m As Integer n = 0 m = 0 Do While Not Adodc2.Recordset.EOF n = n + Adodc2.Recordset.Fields(2).Value m = m + Adodc2.Recordset.Fields(3).Value Adodc2.Recordset.MoveNext Loop Text1.Text = n
Text2.Text = m End Sub
Private Sub DTPicker1_Change()Adodc2.RecordSource = ”select * from 商品的销售信息 where tb_title ='“ & Combo1.Text & ”' and tb_date ='“ & DTPicker1.Value & ”' “ Adodc2.Refresh AddTitle Dim n, m As Integer n = 0 m = 0 Do While Not Adodc2.Recordset.EOF n = n + Adodc2.Recordset.Fields(2).Value m = m + Adodc2.Recordset.Fields(3).Value Adodc2.Recordset.MoveNext Loop Text1.Text = n Text2.Text = m End Sub
Private Sub Form_Load()
Adodc2.ConnectionString = MyStrs
Adodc2.RecordSource = ”select * from 商品的销售信息 where tb_title ='“ & Combo1.Text & ”' and tb_date ='“ & DTPicker1.Value & ”' order by id“
Adodc2.Refresh
AddTitle
'使用代码连接数据库与数据表
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = ”select * from 货物的出入库信息 “
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Combo1.Clear
'在添加数据时,首先清空控件中的内容
Do While Adodc1.Recordset.EOF = False
'将商品销售信息添加到下拉列表框控件当中
Combo1.AddItem(Adodc1.Recordset.Fields(”tb_title“))
Adodc1.Recordset.MoveNext
Loop
End If End Sub
Private Sub AddTitle()
DataGrid1.Columns.Item(0).Caption = ”编号“
DataGrid1.Columns.Item(1).Caption = ”名称“
DataGrid1.Columns.Item(2).Caption = ”销售数量“
DataGrid1.Columns.Item(3).Caption = ”销售总价“
DataGrid1.Columns.Item(4).Caption = ”销售日期“ End Sub
窗体的运行结果如下:
3.8 修改密码模块的设计与实现
3.8.1 窗体界面设计
(1)添加一个窗体,命名为Frm_Pas,将Caption属性设置为“密码修改”。(2)在窗体上加入一个ADO控件Adodc1。(3)设计窗体的界面如下图。
3.8.2 程序代码实现
(1)载入窗口时连接操作员信息数据表 Private Sub Form_Load()'使用代码连接数据库与数据表
Adodc1.ConnectionString = MyStrs
Adodc1.RecordSource = ”select * from 系统用户的信息“
Adodc1.Refresh End Sub
(2)当点击“确定”按钮时,首先判断用户输入的用户名和原密码信息是否正确,如果正确并且两次输入的新密码一致,就将用户密码修改为新密码。Private Sub Command1_Click()Adodc1.RecordSource = ”select * from 系统用户的信息 where tb_name ='“ & Text1.Text & ”'“ Adodc1.Refresh
If Text1.Text = ”“ Then
MsgBox ”请输入用户名!“, 48, ”提示信息“
Text1.SetFocus
Else
If Text2.Text = ”“ Then
MsgBox ”请输入旧密码!“, 48, ”提示信息“
Text2.SetFocus
Else
If Text3.Text = ”“ Then
MsgBox ”请输入新密码!“, 48, ”提示信息“
Text3.SetFocus
Else
If Text4.Text = ”“ Then
MsgBox ”请确认新密码!“, 48, ”提示信息“
Text4.SetFocus
Else
If Adodc1.Recordset.RecordCount > 0 Then
MPassword = Adodc1.Recordset.Fields(”tb_pas“)
If Text2.Text = MPassword And Text3.Text = Text4.Text Then
'判断数据的密码是否正确
Set DB_AdoRs = Cnn.Execute(”UPDATE 系统用户的信息 SET tb_pas='“ + Text3.Text + ”' where tb_name='“ + Text1.Text + ”'“)
MsgBox ”密码已修改!“, 48, ”提示信息“
Unload Me
Else
If Text2.Text <> MPassword Then
MsgBox ”密码不正确,请您确认后重新输入!“, 64, ”提示信息“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”“
Text2.SetFocus
Else
MsgBox ”两次输入的新密码不一致,请重新输入!“, 64, ”提示信息“
Text3.Text = ”“
Text4.Text = ”“
Text3.SetFocus
End If
End If
Else
If Text1.Text <> ”“ Then
MsgBox ”对不起 没有此用户的信息!“, 64, ”提示信息“
Text1.Text = ”“
Text2.Text = ”“
Text3.Text = ”“
Text4.Text = ”"
Text1.SetFocus
End If
End If
End If
End If
End If
End If End Sub
(3)当用户点击“取消”时,关闭密码修改对话框。Private Sub Command2_Click()
End End Sub
窗体的运行结果如下:
4.实验总结
通过这两星期的学习,加深了我对数据库的认识,懂得了如何去应用数据库,也对Visual Basic有了一定的了解了,虽然设计的过程中并不是那么的顺利,但经过查找相关的资料后,问题一步一步地解决了,相信对我以后的学习有一定的帮助。
第四篇:库存管理
服装公司如何科学订货、控制库存---给“品牌代理商、加盟
商”开启一道良方
2010-10-08 21:19:51| 分类: 营销企划 | 标签:科学订货 库存管理 库存控制 买货 选货 |字号大中
小 订阅
库存不是个新鲜的话题,但如何系统地治理库存,对目前国内很多鞋服企业来说却仍然很新鲜。特别是笔者所见的一些闽派企业,但凡采取期货订货、代理分销模式的,几乎都经历过或正在经历着渠道的库存之“痒”。以笔者最近服务的K品牌为例,截至07年,虽然订货总额接近10个亿,但其渠道库存就达两个多亿!应收帐款近3个亿!有的区域库存、欠款年年增高,代理商市场投入信心颇受打击,对企业的支持政策颇多怨言,往往在企业的一些统一行动中消极抵制。而企业方想回收市场又“投鼠忌器”,每到发货关头就左右为难…… 如此种种,阴魂不散的库存导致连串的„并发症‟令企业焦头烂额。围绕订货指标与扶持政策的争吵,业已成为„订货会综合症‟,令许多企业与代理商的利益博弈几乎陷入胶着状态。
很显然,代理商的不良库存不仅制约着区域领先策略的实现,也严重阻滞了企业货品流与资金流的畅通,成为三方利益最大化的巨大障碍。因此,能有效治理代理商不良库存的方法,无论之于品牌商还是代
理商,都可谓梦寐以求!
区域代理模式下,规模化分销的原罪
众所周知,在区域代理分销模式下,国内鞋服行业在世纪初的若干年间得到迅猛发展。无论是市场网络还是总体销量,许多企业的规模都实现了几何级的翻倍。以闽南鞋服企业为例,自2000年到2005年,可谓是“偷着乐”的时代。据可靠调查,2000年安踏、特步等运动品牌全国的销售终端也就在一千个左右,销售额在一两个亿徘徊;而到07年,其销售网点都已不下于四千个,销售额则超过十倍的增长!许多国内鞋服企业分销的规模化正是在这一时期迅速形成。
随着规模化分销持续壮大,企业研发、生产周期不断延长,必须提前进行研发预测和货期统筹才能应对变幻莫测的市场需求;分销渠道必须提前预测市场需求才能给研发生产提供依据——期货订货会便应运而生。目前,许多鞋服企业的秋冬季产品订货会已提前到3月份,远期预测的时间跨度达到半年多!
而令人头疼的是,虽然行业„繁荣昌盛‟,但企业在研发预测、货期统筹、联合组货的技术水平上却未能同步进化。绝大部分品牌企业的订货模式还很原始和粗放,即便一些如雷贯耳的品牌企业,其订货会模式也无非就是„估指标、猜款式‟,所谓的订货会几乎就是„集体猜谜会‟!而且常常是“期货期货,就是不按期到
货!”。
与此同时,繁荣促进竞争!为了尽快抢占市场份额,企业纷纷采用„萝卜+大棒‟的方式推动代理商多订货,指标任务年年看涨,优惠政策花样翻新。诸如奖宝马奔驰、巨额现金等等不一而足。很多时候,代理商就在萝卜的诱惑和大棒的淫威下,连估带猜地填下了巨额订单,库存隐患就此萌生;加上货期的延误、动销的掌控不力,巨额的恶性库存就成为必然。由此可见,在区域代理模式下,通过期货订货会进行规模化分销,要在短期内彻底杜绝代理商的不良库存几乎是一种奢望——远期预测的不确定性和无孔不出的多环节因素,令不良库存几乎阴魂不散。因此,库存的治理一如治水,不可能一蹴而就,要建立长效机制、全面管控才能凑效!
正所谓治水必治源。
通过对区域代理期货模式供销周期的分析,我们不难发现,代理商不良库存的滋生主要集中在前后共
五个关键环节。
如图示一:滋生代理商恶性库存的五个关键环节。
第一关、指标制定:指标虚高,与代理商实际销售能力不匹配,导致溢仓库存;
第二关、三级组货:选款订货不准,产品不能适销对路造成滞销库存;品类组合结构不合理,造成断
货与库存并生;
第三关、货期统筹:货期延误错过销售季节导致过季库存;
第四关、动销管理:销售乏力,动态管理乏术,日渐滋生库存;
第五关、库存处理:缺乏系统的库存处理方法,导致常年积压、恶性循环。
必须注意的是,五个环节都涉及品牌商、代理商、加盟商三方的业务衔接,因此,治理代理商的不良库存,必须是紧扣五个关键环节,三方联动,才能凑效。
五关联动治库存
第一关:指标制定
——三方指标测算如何做到客观科学,以免„指标之痒‟恶性循环;
笔者曾有幸参与某男装品牌的订货会,期间,一位代理商与笔者在客房单独交流,说到动情处竟涕泪滂沱,令笔者手足无措。原来,该代理商自从接受总部的期货订货制,连续四年,订货指标从1000万涨到去年的3000万;为了得到企业高额的返利和信用额度,该代理商不惜抵押房产、向亲戚朋友借贷融资支付货款和投入市场开拓。结果到现在,库存将近1000万,被加盟商欠近400万,欠总部500万。现在总部给出的指标是3800万,本季30%的定金300多万还没有着落,早期的借贷又已到期,夫妻为此争吵不休。数落着这„内忧外患‟的诸多困境不禁焦躁惶恐、悲从中来。
据了解,有类似困境的代理商在许多冒进发展的品牌中不在少数。这些品牌企业在下达区域指标时,并没有充分的调研依据和科学分析,往往只注重整体订货额的逐年飙升,去年1000万,今年就得1500万,不必理由!一律采用“萝卜+大棒”策略,把货推给代理商,以达到逼迫代理商快速增量、企业快速赢利的目的。而一旦企业未能及时给代理商提供足够的销售管理支持和资源扶持,致使指标与区域实际的销售能力不相匹配,企业最终的赢利幻想往往成为区域库存和欠款的现实。事实上,盲目的强压指标一如拔苗助长,代理商一旦照单开药地填下订单,库存与欠款的隐患即已生成。
图示二:三级指标管理导致库存的原罪:
笔者愚见,要彻底解决三级指标管理问题,必须进行品牌商、代理商、加盟商三方联动的指标对接:
1、代理商应派专门人员协助核心加盟商对其门店进行销售分析和商圈分析,寻找任何可能的销售增长机会,比如品类结构调整、店面形象整改、店面地址优化、店面面积扩大、门店人员优化、门店管理加强
等等,为加盟商测算订货指标;
2、品牌商同样应派专业人员协助代理商对区域市场上季的销售状况进行统计分析,对区域市场的网点状况和商圈变化进行研究,查找销量流失的原因和新的销售增长机会,比如可整改的市场、可新进入的市场、可新进入的渠道、可加强的销售管理业务等等,结合核心加盟商的指标测算,客观评价、预测区域市场的可能增量,并按可能性大小分为„基础增量、突破增量、超越增量‟三个层级的目标,从而制定该区域大、中、小三级的订货指标;
3、品牌商应结合企业整体营销目标分别规划各区域该季的订货指标,将该指标与协助区域测算的三级指标进行对接,看哪级指标更接近企业规划的区域指标。通过深入分析,从而了解实现该区域指标代理商所需要的资源配置和支援需求,进而确定该区域最终的订货指标,同时制定支援该区域的政策扶持方案。
4、与此同时,对参与三级指标管理的所有人员按责任程度进行工作成效考核,以促进指标管理的良性
效果。
第二关:三级组货
——三方如何实现科学组货,使产品适销对路、具备终端竞争力;
自从期货订货会登上国内鞋服行业历史舞台,三级组货(即品牌商、代理商、加盟商各自的货品组合策略和订货方法)就成为国内鞋服营销界的独特课题。笔者有幸参与过十余家鞋服企业的订货会,其中K
品牌的情况最具普遍性:
1、企业研发组货是“星星点灯”,款式丰富,琳琅满目看上去很美,但很难找到贯穿始终的东西,缺乏独有个性;更重要的是,结构规划混乱。不仅造成年龄断层、价格断层、气候断层,而且并未考虑到自身主要门店的大小及其系列化和销售波段需求,动辄几千个款,令订货者眼花缭乱不知所措;
2、代理商组货连估带猜:不了解库存结构、不了解网点动销能力、不了解增量机会等等,模糊决策、乱点鸳鸯谱;
3、加盟商组货则如赌博押宝,订货时一味寻求 “哪几个是暴款?”
从滋生代理商不良库存的角度探究,我们不难发现:
1、如果品牌商研发货品缺乏终端市场调研和终端销售分析的成果依据,则可能导致产品不能与品牌定位相匹配、不能适销对路满足市场需求,从而可能因研发组货失败而导致代理商库存;
2、如代理商缺乏货品组合策略,货品结构不合理,则货品在区域内不适应市场、不能形成竞争力、不
能满足门店销售需求,则会导致库存;
3、如门店选款不准、备货不合理则会误导代理商的货品组合导致库存。
由此可见,三级组货导致库存的原罪主要就是货品组合缺乏终端市场的调研依据——既不能充分满足需求,又不具备同行竞争优势,进而导致库存。因此,三级组货的核心就是终端市场研究和门店销售分析。
显然,这里终端市场研究的核心是消费分析和竞品分析:究竟什么样的产品适合自己区域的消费特点,包括价格、风格、色系、尺码等;究竟什么样的品类结构能对商圈内竞争对手造成打击,突出自身优势。这需要市场人员通过走访调研和统计分析来做出判断。
而这里的门店销售分析则主要是针对自身产品的品类分析:究竟哪类产品在带来利润,哪些产品在导致库存,哪些产品在制造销量......等等。要弄清楚一个门店内所有产品对门店经营绩效„益‟和„损‟的贡献,才能发现哪些产品是错误的选择,哪些产品需要继续增量,哪些产品需要继续保留等等。这需要借助数学坐
标和矩阵图来进行定性分析。如图:
图示三:品类定性分析——库存VS销售额。
图示四:品类定位分析——贡献毛利VS销量
图示五:产品市场定位矩阵分析
结合分析成果进行货品组合,产品组合才有科学依据,组货成果才能更具科学性和策略性。
第三关:货期统筹
——三方如何有效遏制和应对货期延误状况;
K品牌虽然前些年的产品研发相对盲目、订货缺乏方法,但经笔者一年多的贴身服务,同时加大了研发团队的建设,如今在货品组合上已上正轨。然而,问题还远没有解决……
笔者走访K品牌6个区域市场,在代理商那听到最多的就是:定好的货总是姗姗来迟;想补货得“望穿秋水”;要退货几乎“磨破嘴皮”!货期的问题在渠道内成为永远的症结。其中Z省的代理商更反应“当季应销的货经常要迟将近20天,有的还会被临时取消;甚至还有要罢市了才到的,这能不库存吗?。”
可见,要控制不良库存,做好指标对接和三级组货还只是堵住了源头,能否按期、保质、保量向代理
商交付期货订单,同样是至关重要的环节。
谈起期货订单交付问题,国内许多鞋服企业无不心力交瘁。为什么订货会后很长时间也不能确定采购、生产计划?为什么生产计划一调再调还是不能如期交货?为什么代理商总是抱怨货品不全、货品丢失、货品姗姗来迟?这一连串的问题,几乎是每个采用期货订货制鞋服企业所必须面对的难题。虽然缺乏权威统计数据,据笔者了解,很多国内一线品牌的期货订单满足率也是低得可怜。每年几次的订货会成为决定企业当年经营业绩的关键,而目前大部分企业实际“按质按量准时交货”的订单比率甚至不到50%!也就是说,企业每年眼睁睁看着因为不能“按质按量准时交货”而流失的销售机会,几乎占到每年实际销售的三分之一!这就是一直困扰鞋服品牌企业的切肤之痛——供应链症结!
毋庸置疑,这是个统筹学的课题。要实现货期的„快、准、狠‟,必须依靠三方紧密配合,由品牌商主导
期货订单的计划统筹。
1、计划统筹:品牌商应依据每季订货会生成的期货订单初步拟定各区域大货发货计划,并据此拟定生产计划(含自加工计划、贴牌生产计划、带料加工计划)、采购计划(含面料采购计划、辅料采购计划)、资金计划(含代理商回款计划、借贷计划)。
2、计划对接:代理商应依据品牌商的发货计划拟定自己的收货计划和分销计划,同时结合品牌商的资金计划,与核心加盟商沟通初步的回款计划,最终实现三方货期
计划、资金计划的对接。
如图示六:三方计划对接。
3、调整应变:在三方的货期计划与资金计划对接确定的基础上,代理商还应有专人负责跟踪品牌商货期的动态变化,如有意外,应及时与上下两方协调计划的调整,并与品牌商及其他区域保持紧密沟通,积极做出货期改变的应变措施。如调整订单、调货、换货、调期、取消订单等等。
总之,货期管理的关键就是三方计划的对接和动态应变的紧密协作。
第四关:动销管理
——三方在动销管理上如何有效对接,促进良性销售;
动销管理不善导致库存的核心原因主要有两点:
一、销售能力弱;
二、动态控制乏术。销售能力弱是有货卖不好,临门一脚太臭;动态控制乏术是不能及时发现库存的危机,不能及时应变、防微杜渐地遏制
库存。
因此,控制动销管理环节代理商恶性库存的产生,必须做到:
一、强化销售能力:
1、品牌商应充分重视当初指标制定时为各区域拟定的支援方案的落实,不要„只打鞭子不喂草‟。很多代理商正是在长期孤立无援、孤军混战的煎熬下逐渐丧失打拼信心的。在相应的指标任务下,品牌商应结合各区域的实际需求,为代理商提供品牌推广、产品促销、市场规划、网点拓展、门店整改、销售培训等技术和资金的相应支援,并制定相应的支援计划、成效评估、考核办法等。不要大把的银子花了没地听响。
2、代理商也应积极响应品牌商的资源支持,积极与品牌商的管理业务对接,为核心加盟商提供促销、整改、培训等贴身服务,从提高终端销售的各个细节来推动整体销量的提升,积硅步而至千里。
二、加强动态控制:动态控制关键在于对动态信息的掌握和及时应变。动态信息的掌握对信息化程度要求较高,这需要较大的资源投入,实现所有网点的信息化管理,许多代理商还比较难做到。但对于核心门店及自营网络应力求动态信息的及时准确。应建立动态信息记录、统计、传输的规范机制并坚持不懈。时刻掌握各品类、款式甚至色、码的销售动态变化和库存状况。同时设立产品库存的预警机制。预警机制要结合订货时对产品的定位(销量拉动型、利润拉动型、搭配拉动型、品牌拉动型等),评估该产品的销售周期长度和 „产品醒市、产品旺市、产品退市‟三段时长;同时从利润贡献角度测算各产品的预警销量(或安全库存)。一旦出现产品滞销预警,就应积极调整陈列或者价格,或者开展促销活动、与相关单位进行调换。切忌到产品完全退市再进行处理,那时就悔之晚矣。就好像有人为了不扔掉苹果,总是吃快坏掉的苹
果,结果就总是吃坏掉的苹果。
有人以点菜喝酒来说明库存控制的动态管理,亦颇值借鉴。请客喝酒,菜总是好吃的不够,不好吃的剩余,酒却喝得好且很少剩余。究其原因,主要还是动态的掌控和应变做得好:敬酒、劝酒、划拳促进酒消化的同时,杯中酒随时被服务员关注并及时添酒,最后还来个„满堂红‟、门前清,清除库存。这正好应了
最后一个关键环节:
第五关:库存处理
——三方在库存处理上如何进行三方联动、资源对接。
经过上述四个关键环节的层层把控,代理商的恶性库存基本可以得到扼制。但由于鞋服产品的时尚流行特点,令远期预测难以做到绝对准确;加上过程控制的执行力问题,库存往往难以绝对性避免。
诚如此,则库存处理也是整个库存控制体系中不可偏废的课题。
所谓„久病成医‟。正由于恶性库存一直伴随着期货模式的成长,故而许多鞋服企业在库存处理上可谓技高一筹,笔者亦不敢在此班门弄斧,姑且将行业常见的几个招术做个提炼,以飨读者。
1、作为促销搭售或馈赠礼品;
2、在厂矿企业集中区开折扣店快速集中消化;
3、聚焦竞品的主力产品集中打击;
4、集中通过外贸渠道消化以避免冲击国内市场;
5、作为推广投入:串换媒体广告资源,当作推广活动奖品,做公益投入营造品牌美誉度。
小结
综上所述,期货模式下,代理商的库存管理必须抓住五个关键环节的把控,且必须三方联动才能行之有效。而现实问题是,在区域代理模式下,„三方联动‟对于某些企业来说也只是个美丽的假设——由于诸多的利益因素,许多企业与渠道商之间存在着盘根错节的博弈立场,三方很难真正肝胆相照地合力。因此,„五关联动治库存‟只是从业务规划上的思路方案,如要发挥它的最大成效,破解三方博弈的局面是前提。
第五篇:库存管理
正确控制库存成本
重要性
企业管理工作的重要内容之一就是要考虑如何为企业开源节流。销售部门作为企业的利润中心对企业的开源有着重要的作用,物流部门作为企业的成本中以对企业的节流也同样重要。良好的物流管理可以通过提高库存周转次数、加快资金回转、降低运营成本、改善客户服务水平等方法节约企业的成本支出,通过节流增加的利润。
一般来讲,企业物流的管理内容包括以下几个方面:客户服务、库存控制、采购管理、仓储管理和运输控制。现在,越来越多的企业开始重视并强调一体化物流的管理方式,也就是通过合理直辖市各部门的运作,适当制定和调整各部门的业绩上标,来达到整体的业绩标准。具体措施
对库存成本的控制具体可以从以下几方面的展开:
一)正确确定库存物料:
对一般性的企业来说,其所经营的产品少则几十种,多则成千上万种,并且在大多数的情况下,不需要也不可能对所有的产品都准备库存。所以企业的首要任务就是正确确定库存和非库存的物料。
一般来说,企业的库存管理模式可以分为拉动式(反应式)和推动式(计划式),前者是基于需求(生产或客户的订单),仅在需要时才生产或采购的库存管理模式,JIT和看板管理系统就是属于这种方式。
二)减少不可用库存:
虽然很多时候库存是必须存在的,但并不是所有的库存都能随时发挥其作用来满足生产或交货的需要,或者说这些库存在一定时间内是不能用的,降低库存成本的一个重要方面就是要尽可能地降低这些不可用库存的量。对于一个企业来说,在途库存、淤带(滞销)库存、预留库存(可交货的订单因其它方面的原因而不能交货)、在制品或者是待检品都是不可用的库存。库存管理的目标之一就是要提高可用库存占库存总量的比例。
在实际的工作中,不可用库存通常通过以下的途径来降低:
1、在途库存。缩短交货运输时间:从供应商到企业的这段距离的运输时间应尽可能地缩短,先需要根据产品的特性(价格、体积重量等)选择合适的运输方式,对这段时间的管理会大大影响企业的在途库存量。一般来说,价格高而且体积重量较小的产品会优先选择空运,反之则海运为常用的运输方式。但是合适的运输方式是要通过仔细比较运输时间的缩短对库存乃至库存成本的影响以及运输费用的影响而做出选择的,否则将不能达到整体优化的目的。选择合适的交货和付款方式,也是降低库存成本的一个重要方面,尤其是在国际采购中。从货物离开供应商的工厂,到实际抵达企业的仓库,需要经过较长的时间和不同的场所,在这个过程中,货物的所有权越晚交与企业,付款的期限越长,则企业所需承担的风险和费用也就越小。选择正确的厂址,企业离开供应商或者客户的距离会影响其库存的水平,距离越短,交货时间越短,库存量相应也可以降低。这也是为什么通用汽车的供应商会随着通用公司在上海设厂而纷纷将其工厂移至上海,其目的就是为了加快供应时间,降低库存。
2、预留库存。控制订单的整批交货:整批交货的订单对客户来说可以大大降低其库存的水平,但是对供货方来说却是不小的压力,所以企业对此类订单必须要严格控制,在确实需要的情况下,才能向客户提供整批销售部、财务部及客户之间的的沟通,忙消除因付款、客户项目延期等原因造成的预留库存。
3、淤滞库存。通过合适的商务政策来减少淤滞库存的产生。
通过优化生产线的管理,制定合理的生产节拍,缩短货物在特产过程中运输路线来降低在制品的库存,通过加快产品检测来降低待检品的库存。
改善库存管理的对策 试论存货理问题
存货是指企业在正常生产经营过程中持有的、以销售的产成品或商品,或为了出售仍然处于生产过程中的产品,或在生产过程、劳务过程中消耗的材料、物料等。它是反映企业流动资金运作情况的晴雨表,往往成为少数人用来调节利润、偷逃国家税费基金的调节器。因为它不仅在企业营运资本中占很大比重,而且又是流动性较差的流动资产。存货管理就是对企业的存货进行管理,主要包括存货的信息管理和在此基础上的决策分析,最后进行有效控制,达到存货管理的最终目的提高经济效益。
企业置留存货的原因一方面是为了保证生产或销售的经营需要,另一方面是出自价格的考虑,零购物资的价格往往较高,而整批购买在价格上有优惠。但是,过多地存货要占用较多资金,并且会增加包括仓储费、保险费、维护费、管理人员工资在内的各项开支,因此,进行存货管理目标就是尽力在各种成本与存货效益之间做出权衡,达到两者的最佳结合,这就是存货管理的目标。
存货作为一项重要的流动资产,它的存在势必占用大量的流动资金。一般情况下,存货占工业企业总资产的30%左右,商业流通企业的则更高,其管理利用情况如何,直接关系到企业的资金占用水平以及资产运作效率。因此,一个企业若要保持较高的盈利能力,应当十分重视存货的管理。在不同的存货管理水平下,企业的平均资金占用水平差别是很大的。通过实施正确的存货管理方法,来降低企业的平均资金占用水平,提高存货的流转速度和总资产周转率,才能最终提高企业的经济效益。
当前企业存货管理存在问题及原因
1.存货的收入、发出、结存缺乏真实记录。
材料领用记录生产成本及费用的归集、结转的记录人为因素较多,尤其在工程项目核算上更显现其弊端。比如,甲、乙两个工号同时开工,月末核算记录显示的是乙工号的材料消耗极少甚至为零,而甲工号的材料消耗多出一大块;原辅材料已经领用消耗,而实际上并未相应结转成本;原辅材料并未领用消耗,而实际上已经结转了成本;购入的材料已经领用消耗,购货发票未到,期末又没有按规定暂估入库,造成资产负债表期末存货记录减少甚至出现红字余额。
2.内部控制制度不健全。
在材料采购、产品销售环节往往由同一个人完成采购销售、付款收款、入库出库等全过程,使采购销售工作无章可依,还会提供暗箱操作的温床,增加了营私舞弊的可能性。
3.流动资金占用额高。
因库存量大,导致流动资金占用额高,有的企业存货储备要占到流动资金总额的60%以上,给企业流动资金周转带来很大的困难。
4.非正常存货储备量挤占了正常的存货储备量。
为控制流动资金占用额,在日常存货管理中尽量降低库存占用量,减少进货量,从而影响了正常生产经营所需要的合理存货储备量。
5.管理不到位。
毁损待报废、超储积压存货储备在每年一次的清产核资中都要作为重点问题进行上报,但每年都是只上报,没有上级主管部门的批示,没有处理结果,致使毁损待报废、超储积压存货储备量像滚雪球一样越滚越大,没有从根本上解决问题。
提高企业存货管理水平的途径分析
1.严格执行财务制度规定,使账、物、卡三相符。
存货管理要严格执行财务制度规定,对货到发票未到的存货,月末应及时办理暂估入库手续,使账、物、卡三相符。
2.采用ABC控制法,降低存货库存量,加速资金周转。
对存货的日常管理,根据存货的重要程度,将其分为ABC三种类型。A类存货品种占全部存货的10%~15%,资金占存货总额的80%左右,实行重点管理,如大型备品备件等。B类存货为一般存货,品种占全部存货的20%~30%,资金占全部存货总额的15%左右,适当控制,实行日常管理,如日常生产消耗用材料等。C类存货品种占全部存货的60%~65%,资金占存货总额的5%左右,进行一般管理,如办公用品、劳保用品等随时都可以采购。通过ABC分类后,抓住重点存货,控制一般存货,制定出较为合理的存货采购计划,从而有效地控制存货库存,减少储备资金占用,加速资金周转。
3.加强存货采购管理,合理运作采购资金,控制采购成本。
首先,计划员要有较高的业务素质,对生产工艺流程及设备运行情况要有充分的了解,掌握设备维修、备件消耗情况及生产耗用材料情况,进而做出科学合理的存货采购计划。其次,要规范采购行为,增加采购的透明度。本着节约的原则,采购员要对供货单位的品质、价格、财务信誉动态监控;收集各种信息,同类产品货比多家,以求价格最低、质量最优;同时对大宗原燃材料、大型备品备件实行招标采购,杜绝暗箱操作,杜绝采购黑洞。这样,既确保了生产的正常进行,又有效地控制了采购成本,加速了资金周转、提高了资金的使用效率。
4.充分利用ERP等先进的管理模式,实现存货资金信息化管理。
要想使存货管理达到现代化企业管理的要求,就要使企业尽快采用先进的管理模式,如ERP系统。利用ERP使人、财、物、产、供、销全方位科学高效集中管理,最大限度地堵塞漏洞,降低库存,使存货管理更上一个新台阶。