OpenERP 不花钱


开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 除非盖章,否则打印后为非控制文件 开源智造咨询有限公司(OSCG) ERP 不花钱 版本 V1.0 定稿日期:2012 年 11 月 1 日 作者:老肖 版本 日期 修改描述 撰写人 审查人 批准人 V0.5 2012-2-8 初版 OSCG Checker Approver OS Consulting Group 参考: OpenERP-Book 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 1 除非盖章,否则打印后为非控制文件 目录 1 前言 .............................................................................................................................................................. 1 1.1 本书目的 .................................................................................................................................................. 1 1.2 本书取得方式 .......................................................................................................................................... 1 1.3 版权声明 .................................................................................................................................................. 1 2 ERP 江湖 ..................................................................................................................................................... 2 2.1 ERP 简明历史 ........................................................................................................................................... 2 2.1.1 ERP 思想发展 ..................................................................................................................................... 2 2.1.2 中国 ERP 历史 .................................................................................................................................... 3 2.2 商业 ERP 软件 .......................................................................................................................................... 4 2.3 开源 ERP 软件 .......................................................................................................................................... 5 2.3.1 开源软件 ............................................................................................................................................. 5 2.3.2 开源 ERP TOP 5 ................................................................................................................................ 6 3 理解 ERP ..................................................................................................................................................... 8 3.1 理解单据 .................................................................................................................................................. 8 3.2 理解流程 ................................................................................................................................................ 10 3.3 理解报表 ................................................................................................................................................ 12 3.4 ERP 实施 ................................................................................................................................................. 12 4 OPENERP 实践 ........................................................................................................................................ 14 4.1 案例说明 ................................................................................................................................................ 14 4.2 安装 OPENERP .......................................................................................................................................... 14 4.2.1 下载安装包 ....................................................................................................................................... 14 4.2.2 安装步骤 ........................................................................................................................................... 14 4.2.3 常见安装问题 ................................................................................................................................... 18 4.3 创建新帐套 ............................................................................................................................................ 20 4.3.1 新建帐套 ........................................................................................................................................... 21 4.3.2 安装会计与财务(account_accountant)模块 .................................................................................... 22 4.3.3 安装出纳模块(account_voucher) ..................................................................................................... 23 4.3.4 安装销售模块 ................................................................................................................................... 23 4.3.5 安装采购模块 ................................................................................................................................... 24 4.4 设置会计信息 ........................................................................................................................................ 25 4.4.1 设置本位币信息 ............................................................................................................................... 25 4.4.2 定义/编辑科目信息 .......................................................................................................................... 27 4.5 设置客户和供应商 ................................................................................................................................ 30 4.6 设置产品信息 ........................................................................................................................................ 31 4.6.1 设置产品单位信息 ........................................................................................................................... 32 4.6.2 设置产品基本信息 ........................................................................................................................... 32 4.6.3 设置产品的会计信息 ....................................................................................................................... 34 4.7 销售订单处理 ........................................................................................................................................ 35 4.8 采购订单处理 ........................................................................................................................................ 37 4.9 入库出库处理 ........................................................................................................................................ 39 4.9.1 入库处理 ........................................................................................................................................... 40 4.9.2 出库处理 ........................................................................................................................................... 41 4.10 会计处理 .............................................................................................................................................. 42 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 2 除非盖章,否则打印后为非控制文件 4.10.1 销售收款 ......................................................................................................................................... 43 4.10.2 采购付款 ......................................................................................................................................... 46 4.10.3 会计凭证查询 ................................................................................................................................. 48 4.11 案例总结 .............................................................................................................................................. 49 5 OPENERP 配置指南 ................................................................................................................................ 50 5.1 业务概述 ................................................................................................................................................ 50 5.2 业务伙伴配置 ........................................................................................................................................ 50 5.2.1 业务伙伴联系信息 ........................................................................................................................... 50 5.2.2 业务伙伴购销信息 ........................................................................................................................... 51 5.2.3 业务伙伴事件 ................................................................................................................................... 52 5.2.4 业务伙伴财务信息 ........................................................................................................................... 53 5.3 产品信息配置 ......................................................................................................................................... 54 5.3.1 产品一般信息 ................................................................................................................................... 54 5.3.2 产品供应商和仓储信息 ................................................................................................................... 55 5.3.3 产品描述、包装和财务信息 ........................................................................................................... 57 5.3.4 产品单位及价格表 ........................................................................................................................... 58 5.4 财务信息配置 ........................................................................................................................................ 60 5.4.1 理解 OpenERP 的财务概念 ............................................................................................................. 60 5.4.2 会计年度设置 ................................................................................................................................... 61 5.4.3 会计科目表设置 ............................................................................................................................... 62 5.4.4 分类账(Journal)及税种设置 ....................................................................................................... 63 5.5 库存信息配置 ........................................................................................................................................ 66 5.5.1 理解 OpenERP 的库存管理 ............................................................................................................. 66 5.5.2 库位和仓库设置 ............................................................................................................................... 68 5.5.3 设置最小库存规则 ........................................................................................................................... 69 5.5.4 库存移动(stock_move) ................................................................................................................ 70 5.5.5 出入库单(Picking List) ................................................................................................................ 71 5.5.6 库存盘点 ........................................................................................................................................... 71 5.5.7 产品补货(Procurement) .............................................................................................................. 72 5.5.8 库存价值(stock valuation) ........................................................................................................... 73 6 OPENERP 高级配置 ................................................................................................................................ 74 6.1 系统修改 ................................................................................................................................................ 74 6.1.1 浅说 OpenERP 的技术原理 ............................................................................................................. 74 6.1.2 字段修改 ........................................................................................................................................... 74 6.1.3 菜单修改 ........................................................................................................................................... 82 6.2 数据导入和导出 .................................................................................................................................... 85 6.2.1 概述 ................................................................................................................................................... 85 6.2.2 CSV 数据导入导出 ........................................................................................................................... 87 6.3 权限设置 ................................................................................................................................................ 88 6.3.1 权限机制概述 ................................................................................................................................... 88 6.3.2 权限数据准备 ................................................................................................................................... 90 7 OPENERP 案例精选 ................................................................................................................................ 92 7.1 民营机械厂:OPENERP 替换 U8 .............................................................................................................. 92 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 1 除非盖章,否则打印后为非控制文件 1 前言 1.1 本书目的 本书目的是,降低中国 ERP 门槛,扩大中国企业,尤其是中小企业信息化应用范围,提高中国 企业信息技术应用水平,为转型中的中国企业提升管理水平尽一点力所能及的力量。 本书采取的技术路线是,从世界范围内,研究比较,精选出功能、性能、易用性、技术水平最好 的开源免费 ERP 软件,同时以文字和视频等多种形式介绍给大家,期望大家不花钱,少花钱,自力 更生,自己搞定自己企业的 ERP 系统。 本书配套视频讲解请参考:http://www.tudou.com/programs/view/BDuyHvdZK6o/ 1.2 本书取得方式 本书完全免费,且本书内容将每 2 个月升级一次,需要升级版本的同志,请联系开源智造公司。 1.3 版权声明 本书版权属于香港开源智造咨询有限公司(OSCG,Open Source Consulting Group),任何人 或机构可将本书内容用于学习、研究、教育,以及其他非商业性或非盈利性用途,但同时应遵守著作 权法及其他相关法律的规定,不得侵犯本书作者的合法权利。除此以外,将本书任何内容用于其他用 途时,须征得本书作者的书面许可,并支付报酬。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 2 除非盖章,否则打印后为非控制文件 2 ERP 江湖 ERP 是一门实践性相当强的技术,我们首先要找一款 ERP 软件操作实践。ERP 软件中,大的来 说,分商业软件和开源软件。商业软件要花钱买,而且价格极高,开源软件免费,下载下来就能用。 一些优秀的开源软件,其功能和技术水平毫不输于商业 ERP 产品。本章简单回顾 ERP 历史,以及各 种代表性商业 ERP 和开源 ERP 之后,我们将选择排名第一的开源 ERP 作为本书操作实践工具。 2.1 ERP 简明历史 2.1.1 ERP 思想发展 上世纪 40 年代,美国生产企业为了解决库存控制问题,提出了“订货点”的库存控制方法。订 货点法基本原理是,根据经验规则,为每一种或每一类生产原材料设定库存备货数量,当原材料低于 该数量,库管人员就申请采购,补充原料。有了这个办法,什么时候该订购什么原料,库管人员就有 了简单易操作的判断规则。 上世纪 60 年代,美国生产企业为了解决物料需求问题,提出了“MRP 理论”。物料需求问题是, 例如,要生产 A 产品 1 万件,需要哪些原料,需要多少数量呢?MRP 理论就是用来回答这个问题的。 其基本原理是,将 A 产品拆分成原材料,然后计算原材料的需求数量。例如,假设 A 产品有 B、C、 D 三个原料构成,其中 1 个 A 需要 1 个 B,2 个 C,2 个 D。如下图所示: 根据这个产品构成图,很容易计算出 1 万个 A 产品,需要 1 万件原料 B,2 万件 C,2 万件 D。这个 产品构成图就是 MRP 理论的核心 BoM(Bill of Material,物料清单)。 MRP 理论看上去很简单,不过在实际生产中,产品的构成图复杂得多,简单的产品往往也有几 十个原料,且由多层次构成,即先由底层原料构成半成品,再由半成品构成成品。实际生产中,还要 考虑原料损耗率。在这种情况下,生产物料的需求计算相当复杂,必须借助计算机才能完成。 上世纪 70 年代,人们又提出了闭环 MRP,即 MRPII 理论。MRP 能够计算物料需求,不过,它 没有考虑生产能力。例如,生产 1 万件 A 产品,根据我的生产能力,需要多长时间能生产完毕呢,每 周、每月应该生产多少呢?显然,尽管算出了需要 1 万件原料 B,2 万件 C,2 万件 D,但什么时候 采购,应该根据生产计划分阶段采购,而不能一次性全采购回来,这就形成了采购计划。根据生产能 力恰当排定生产计划,进而排定库存计划、采购计划、资金计划、销售计划等等,这就是 MRPII 解决 的问题。 上世纪 80 年代,MRPⅡ主要面向企业内部资源全面计划管理的思想,逐步发展成为 90 年代怎样 有效利用和管理整体资源的管理思想,ERP(Enterprise Resources Planning,企业资源计划)随之 产生。ERP 是由美国加特纳公司(Gartner Group Inc.)在 90 年代初期首先提出的,当时的解释是根 据计算机技术的发展和供需链管理,推论各类制造业在信息时代管理信息系统的发展趋势和变革。随 A产品 1B 2C 2D 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 3 除非盖章,否则打印后为非控制文件 着人们认识的不断深入,ERP 已经被赋予了更深的内涵。现在,基本上所有企业管理类软件都统称为 ERP 软件。 2.1.2 中国 ERP 历史 1973 年 9 月 1 日,“中国电子计算机辅助企业管理联合设计组”成立,时任机械部副部长的孙 友渔出任联合设计组组长。1975 年,联合设计组专家们以 94 万美元的价格从 IBM 引进了 370138 大 型机,1976 年购买了 IBM 的 MRP-II 软件 COPICS。同年,如获至宝的专家组开始翻译 IBM 提供的 说明书,这就是后来被 ERP 软件业称之为“黑八本”、“大八本”的中国 ERP 最早教材。 1978 年,中国开始改革开放,而彼时中国企业生产管理问题重重,人均劳动生产率只有先进工 业国家的几十分之一,产品交货周期长、库存储备资金占用大、设备利用率低等。为了改善这种落后 的状况,当年机械工业部旗下的企业先后开始引进当时世界上先进的 MRPII 软件系统。1979 年,沈 阳鼓风机厂引进 IBM 的管理系统 COPICS;1981 年沈阳第一机床厂从德国工程师协会引进 MRP-II 系统,接着北京第一机床厂、第一汽车制造厂、广州标致汽车公司也先后购买了系统。 1987 年国家高技术研究与开发计划(863 计划)CIMS(计算机集成制造系统)中心成立,中国 政府开始大力扶植 CIMS 工程建设。在此背景下,1991 年,开思公司成立,成为中国大陆地区最早涉 足 ERP 的企业,开发基于 AS/400 平台的 MRPII 系统。1994 年,北京机械工业自动化研究所 MIS 研 究室与美国 CDC 公司合资成立了利玛信息技术有限公司。1998 年 7 月 30 日,联想集团与瑞典 INTENTIAAB 公司正式签约,代理旗下的主流 ERP 产品 MOVEX。随后联想还代理了 SAP、SCALA、 SYMIX 等其他国外软件厂商的商品。 除了以 CIMS 为产品重心发展起来的一批中国 ERP 软件企业外,另一班人马在国家财政部支持 下,以财务软件起家,日后转型 ERP 而成今天中国管理软件市场上颇具影响力的厂商。1988 年,王 文京和苏启强在北京中关村注册成立了用友软件服务社,开发销售会计电算化软件。1991 年,徐少 春在深圳创办爱普电脑技术有限公司,这就是金蝶软件的前身。 1989 年,美国软件公司 SSA 正式登陆中国大陆,在北京设立办事处。两年后,SSA 在中国员工 数已达到 150 人规模,所销售的 BPCS 系统占据了制造业企业管理软件市场的六七成份额,在中国可 谓是风光一时。1990 年,美国一家规模较小的 MRPII 公司在中国开展业务,并给自起了一个响亮的 名字——“四班(Fourthshift)”。 1994,SAP 在北京成立代表处。1995 到 1997 年期,SAP 服务于它的全球客户的中国分支机构, 如柯达、宝洁都是此时 SAP 在中国的服务对象,SAP 还未真正开拓中国市场。 1998 年,SAP 走过市场准备期后,开始大力开拓市场。这一年 SAP 两个最成功的 ERP 样板客 户联想和海尔启动了 ERP 系统建设,联想和海尔先后上线。联想和海尔不仅给 SAP 带来了大笔收入, 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 4 除非盖章,否则打印后为非控制文件 更为关键的是起到了很好的“灯塔榜样”效果。此外,进入中国已很久的 ORACLE,也由数据库市场 转攻 ERP 市场,成为国外软件厂商进军中国 ERP 市场的又一主力军。 1998 年 3 月 20 日,北京三露厂与联想签订了 ERP 实施合同。合同中联想承诺 6 个月内完成实 施,如不能按规定时间交工,违约金按日千分之五来赔偿。但是由于汉化、报表生成等关键问题仍旧 无法彻底解决,最终导致项目的失败。2000 年 12 月 11 日,北京市三露厂正式起诉,要求联想赔偿 ERP 项目实施不利所带来的损失,“中国 ERP 第一案”爆发。 2001 年 2 月,金碟软件在香港创业板上市。2001 年 5 月,用友软件的股票在上海证交所正式发 行。上市融资后,财务软件公司开始了紧锣密鼓的收购行为。2001 年 12 月 18 日用友软件收购了华 表等国内软件公司。同年,用友软件与瑞典 IFS 公司成立合资公司。2002 年,用友软件出资 2000 万 向台湾软件厂商汉康购买了 NETUP-P2 软件技术。借助上述方式,用友软件由财务软件向 ERP 升级。 2001 年 12 月 28 日,开思软件继 1997 年被 TCL 收购后,又转售给金蝶软件,金蝶由此转型 ERP 市 场。 2003 年 2 月 18 日,IT 市场研究机构 CCID 发布的报告显示,用友凭借渠道优势和本土化优势以 21.6%的 ERP 市场占有率首次超过 SAP,标志着国产 ERP 厂商全面超越国外对手,成为中国 ERP 软件发展的重大突破。 2003 年 9 月,SAP 进军国内中低端市场,推出了面向中端市场的 mySAP ALL-in-One 系列产品 和面向低端市场的 SAP Business one。与此同时,Oracle 也向中国中小企业推出了电子商务套件产 品。 2009 年,国内外 ERP 代表厂商竞争白热化。《计算机世界》发表《画皮 SAP:世界最大软件公 司的中国真相》,令 SAP 光环极大失色。计世资讯发表了《2009 年中国管理软件发展状况调查报 告》,报告中说 2008 年 ERP 市场份额,国内厂商 77.5%,国外厂商 22.5%,其中用友软件市场份额 占据第一。 2009 年底,北京一个连锁超市的“老李”,他们买了用友的产品之后,受了很多气。气不过, 于是自己开发了全套企业管理系统,并免费,还开了个“软件服务社”,专门和用友对着干。软件服 务社的网站在这里: http://www.fuwushe.org/ 。 2.2 商业 ERP 软件 商业 ERP 软件分国内的和国外的,国外的代表是 SAP,国内的代表是用友软件。商业 ERP 软件, 都分高端、中端、低端三种产品线,收费模式基本上都是三部分构成:产品模块费用,用户数量的 License 费,系统实施费。下面以用友 ERP 为例说明。 用友产品分低端的 T 系列、中低端的 U6、中端的 U8、中高端的 U9、高端的 NC 几种。其价位 大约是,T 系列价位在几千到几万,U6 在几万到 20 万,U8 在 10 万到 100 万,U9 在几十万到几百 万,NC 在 100 万到几千万。下面以代表性的 U8 为例说明。 U8 10.1 公开报价表网上都可以查到,U8 10.1 将所有功能划分成了约 20 个大收费模块,100 个 小收费模块。其模块单价基本以小模块为收费标准,每用户价格基本以大模块为收费标准。按 U8 价 格,如果买齐 U8 所有模块,总价大约 390 万,如果再买 10 个用户,总价大约 590 万。详细统计结 果参照下表。 这个价格没有包括系统实施费用,仅仅是软件费用。如果需要系统实施服务,必须另签系统实施 服务合同,费用企业规模、实施模块数量、用户数量、业务复杂程度等估算,没有标准的价格。当然, 根据业界规则,用友的产品通常可以打 5 折,谈的好的话,也可以达到 3 折。因此,买齐 U8 的所有 模块,至少要 100 万,算上 10 用户的话,至少要 200 万,如果再算上实施费用的话,不会低于 300 万。这是用友中端产品的价格,SAP 等国外 ERP,其中端产品价格更高。当然,现实中不会有哪个 企业需要所有模块,也不会仅仅只有 10 用户,这里只是一种假设情况下的价格分析。 U8 10.1 大模块价格统计 (资料来源:百度文库,http://wenku.baidu.com/view/3671198083d049649b665863.html ) 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 5 除非盖章,否则打印后为非控制文件 大模块 单用户价格 10 用户价格 财务会计 Financial Accounting ¥134,300.00 ¥471,800.00 管理会计 Management Accounting ¥217,200.00 286,000.00 供应链管理 Supply Chain Management ¥343,400.00 ¥433,400.00 生 产 制 造 管 理 Manufacturing & Production Management ¥414,400.00 ¥603,400.00 人事管理 ¥298,000.00 ¥501,400.00 决策支持系统 Decision Support System ¥56,800.00 ¥218,800.00 集团管理 Group Company Management ¥355,600.00 ¥886,600.00 网络分销 Network Distribution ¥1,300,000.00 ¥1,300,000.00 连锁零售 Chain-retail Management ¥297,800.00 ¥351,800.00 内部控制 Internal Control ¥98,000.00 ¥278,000.00 企业应用集成(EAI ) Enterprise Application Integration ¥36,000.00 ¥36,000.00 UAP ¥48,800.00 ¥183,800.00 远程接入 ¥2,800.00 ¥28,000.00 网银适配器 ¥6,000.00 ¥6,000.00 即时通讯 ¥39,800.00 ¥39,800.00 移动 ERP ¥66,600.00 ¥66,600.00 OA ¥201,000.00 ¥220,600.00 所有模块总计 ¥3,916,500.00 ¥5,912,000.00 2.3 开源 ERP 软件 2.3.1 开源软件 开源(Open Source)是软件行业中一件很有趣的事情。我们知道,计算机软件发展的历史并不 长。在上世纪 70 年代,世界上刚刚出现个人电脑,那个时候的电脑基本上没有软件。为了提高电脑 的用处,一些电脑爱好者自己编写适合自己应用的软件,并互相传播交换。著名的世界首富“比尔盖 茨”当时正是这样的电脑爱好者之一,那时他还是一位中学生。 因此,软件发展初期是没有版权声明、没有商业买卖,软件本身的源代码是完全公开,允许任何 人按自己的要求修改的。但当时的商业天才“比尔盖茨”看到了软件商业化的巨大利益,他首先将自 己编写的软件“闭源”,并声明版权。任何希望获得他的软件的人,必须付费购买,而且只能获得使 用权,不能得到源代码,不得对他的软件做任何修改。这就是商业软件的起源。 但当时还有一些电脑爱好者,他们始终认为软件应该公开、共享,他们始终免费公开自己编写的 软件,其中的代表人物是 Richard Stallman。这批人的坚持,催生了和“比尔盖茨”的 Windows 分 庭抗礼的操作系统软件 Linux,这就是开源软件(Open Source)的起源。1998 年 4 月,世界开源软 件峰会召开,正式确立了“Open Source Software(开源软件)”的名称。 在开源软件的分支里,包含林林总总、各种各样的应用软件,基本上任何商业软件,都能找到同 样功能的开源替代品。操作系统领域有 Linux,数据库领域有 MySQL、PostgreSQL,办公软件领域 有 OpenOffice,互联网领域有 Apache,开发工具方面有 Eclipse,ERP 软件领域有 OpenERP、 OpenBravo、Compiere,等等。 开源软件本身免费、公开,但带来的缺点是,免费的同时,缺乏商业保障。因此,开源软件催生 了一批为该软件提供商业保障的“软件服务公司”。著名的有红帽(Redhat)公司,他们为企业提供 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 6 除非盖章,否则打印后为非控制文件 Linux 服务器的维护和支持服务。开源 ERP 软件,如 OpenERP,他们目前全世界登记在册的 OpenERP 软件咨询、实施、培训、定制开发、维护支持的服务公司超过 400 家。其中法国区最多, 有 60 多家,其中 Smile 公司最大,有 200 多人的团队在做 OpenERP 技术服务。中国区有 8 家,中 国区的开源智造咨询有限公司(OSCG,Open Source Consultant Group)最大,他们在香港和大陆 都有相当成功的案例。 2.3.2 开源 ERP TOP 5 在世界范围内,开源 ERP 软件少说也有一百个,截至 2012 年,排在前五位的是:OpenERP, Openbravo,Opentaps,ADempiere,Compiere。 OpenERP:源于欧洲的开源 ERP 软件,2002 年由比利时的 Tiny 公司开发,目前已经发展到 6.1 版。OpenERP 拥有 1700 多个功能模块,涵盖企业方方面面的管理需求。OpenERP 基于 Python 语言开发,同时有 GUI 客户端和 Web 客户端。OpenERP 被 InforWorld 评为 2012 年最佳开源 ERP。 2007 年 OpenERP 中文社区首先介绍 OpenERP 到中国,而后,在 OpenERP 中文社区的带领下,完 成了 OpenERP 的中文翻译,用户手册翻译,中国本地化改造等大量工作。 Compiere ERP:美国的 Jorg Janke 及其开发团队从 1999 年开始研发的 ERP 软件。Compiere ERP 最初为德国固特异轮胎与橡胶公司而开发,后加入风起云涌的开放源码运动中,成为今天我们所 熟知的 Compiere 的原型。Compiere 于 2003 年进入中国,是最早进入中国的开源 ERP 软件,因此 在中国的知名度比较高。不过,2005 年以后,该软件版本发布较慢,而且一直使用 GUI 客户端,没 有发布 Web 版的客户端。2010 年,Compiere 被 Consona 公司收购,此后,Compiere 在开源 ERP 世界基本没有声音了。 ADempiere:起源于 Compiere 的一个 Web-Based 的 ERP 软件。由于 2005 年以后,Compiere 更新较慢,而且始终没有推出 Web 版本,Compiere 开源社区的一些人于是在 2006 年 9 月从 Compiere 分裂出来,发起了 ADempiere 项目。ADempiere 的核心和 Compiere 是一样的,但改善了 Compiere 的用户界面,增加了 Web 界面,而且比 Compiere 开源得更彻底。 OpenBravo:OpenBravo 也是起源于 Compiere。2007,OpenBravo 公司基于 Compiere 核心 开发了 Web 界面的 LibrePOS 的零售店应用软件,后来改名为 OpenBravoPOS,并逐步添加 MRP、 CRM 等其他 ERP 功能,从而形成了今天的 OpenBravo ERP 软件。OpenBravo ERP 被 InforWorld 评为 2010 年最佳开源 ERP。它是 Compiere 之后最为优秀的企业管理套件。但 OpenBravo 在中国的 知名度不高,中文化也基本没有做。 Opentaps:Opentaps 的第一个版本发布于 2005 年 8 月份。Opentaps 其实是一个企业管理软 件套件,它包含了 Apache Geronimo, Tomcat 和 Apache OFBiz 作为系统的数据模型和事务框架,包 含了 Pentaho 和 JasperReports 作为系统的 BI,包含了 Funambol 作为手机和 Outlook 的集成部件, 以及 Opentaps 应用模块(CRM, 财务、仓库、生产、供应链等应用模块)。Opentaps 系统相当庞大 而复杂,极大限制了它的推广应用。Opentaps 的中文资料几乎没有,中文化也没有人在做。 上述世界排名前 5 的开源 ERP 软件,从中文化及中文资料翻译的程度来说,Compiere 最为完全, 其次是 OpenERP。但 Compiere 已经基本淡出了开源 ERP 的世界。从世界排名来看,2010 年前后, OpenBravo 排名第一。不过,最近两年,OpenERP 的关注度上升很快。从 Google 趋势看,已经超 过了 OpenBravo。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 7 除非盖章,否则打印后为非控制文件 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 8 除非盖章,否则打印后为非控制文件 3 理解 ERP 企业上 ERP 的价格,从几万到几千万的都有。从这个价格范围我们可以推断,ERP 的复杂度, 从简单的到复杂的,可以有几千倍的差别。本文的读者主要针对 ERP 初学者,我们先从简单的 ERP 入手理解 ERP。 简单的 ERP,就是销售、采购、仓库和财务,即进销存加财务。我们以广州 ABC 贸易有限公司 为案例,理解进销存和财务。 广州 ABC 贸易有限公司是健康蜂蜜公司指定的独家总代理,公司宗旨是以诚为本,力求将最纯 净的蜂蜜带给广大中国消费者。目前已经在广东、广西、江苏、江西、河南、山东、山西、东北三省、 内蒙古自治区、新疆维吾尔自治区等省份设立了代理点。公司从供应商处采购蜂蜜,批发给各地的代 理点及自己的零售专柜。 3.1 理解单据 广州 ABC 贸易有限公司(以下简称 ABC 公司)从供应商处采购蜂蜜,存放到自己的仓库,而后 销售给各地的代理商。在这个业务过程中,可以想象一下,采购的时候,ABC 公司需要传真或 Email 给健康蜂蜜公司采购订单,通知对方采购信息,包括什么时候,什么商品,多少数量,什么价格等。 同样,销售的时候,ABC 公司需要传真或 EMail 销售订单给客户,让客户确认本次交易信息。典 型的销售订单应该包括如下信息:哪个客户,什么时候,需要什么商品,多少数量,什么价格等。 此外,除了本公司和外界(供应商或客户)之间交易的单据,公司内部部门之间也需要借助各种 单据协调工作。例如采购和仓库之间,采购部门采购订单下给供应商之后,同时要以内部单据通知仓 库:大约什么时候,哪个供应商,会送来什么商品,多少数量,请予接洽。还有,采购和财务之间, 采购订单下出去以后,要通知财务:什么时候,向哪个供应商,支付什么商品,多少数量,什么价格 的采购付款,请予配合。 如果采购部门没有及时通知到各相关部门,采购业务就不能顺利完成。例如,如果仓库没有接到 采购入库通知,供应商货物送到以后,仓库不能判断是否应该接收该批物资,应接收多少数量,应按 什么标准验收,等等。如果财务没有收到采购付款通知,款项不能及时付出,供应商就不会及时发货。 销售部门的工作和采购部门类似,销售订单成交以后,必须及时通知仓库发货,以及财务收款。 因此,企业业务单据是协调公司和外部、公司部门间的非常重要的信息流。这个信息流不顺畅,企业 业务工作就会陷入低效和混乱。 下面以销售订单为例详细解说业务单据。下图是百度上搜索的一张销售订单,我在订单上加了一 些标识和备注。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 9 除非盖章,否则打印后为非控制文件 这张典型的单据上,包含的信息有这么几部分:  自己公司信息:本公司的名称、地址、电话、银行账户等等,几乎每个对外的单据都应该出现此 部分信息。  客户信息:客户名称、联系人、联系地址、联系电话等等,每个和客户相关的单据都应该有此部 门信息,除了销售订单,还有仓库部门的销售发货单,财务部门的销售收款单,都应该有此信息。  产品信息:产品名称、规格型号,数量单价等。  员工信息:员工姓名、部门、职位、分机号码等。 为了在电脑中更方便的制作销售订单,我们希望,例如客户信息,只要点击鼠标,选择客户名称, 联系人、地址、电话等信息自动带出到订单上,又如本公司信息,因为每个订单都一样,希望系统自 动带出来,不要输入。 简单想象一下就知道,为了让电脑系统自动带出信息,我们需要事先将公司信息、客户信息、产 品信息、员工信息等录入到电脑系统中,这里是 ERP 系统。事先录入相关信息到 ERP 中,这就是实 施 ERP 系统的一项非常重要又相当困难的工作:基础数据初始化。上过 ERP 系统的人都知道一句行 话:“三分软件七分实施十二分数据”,说的就是基础数据初始化的重要性。 为什么基础数据初始化很重要?前面说了,为了做单据的时候方便。此外,基础数据还有更重要 的作用,我会在后面讲业务流程的时候说到。 为什么基础数据初始化很难?举个例子,我们做过一个机械厂的 ERP 系统,上 ERP 之前,他们 仓库里有各种类别,各种品种,各种型号的原料、半成品、成品一万多个。谁也搞不清楚仓库里物料 到底有多少个品种、每个品种有多少数量。有些物料连标准名称也没有,例如有个物料,设计部门叫 “A 型螺栓”,采购管它叫“A 套”,而车间的叫法是“大套”。上 ERP 之前,需要将仓库中的一万 多种物料都分门别类整理出来,如果老板让你做这项工作,你会不会觉得“头大”呢? 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 10 除非盖章,否则打印后为非控制文件 为了上 ERP,需要哪些基础数据?根据需要的功能模块不一样,需要的基础数据差别很大。就进 销存和财务而言,典型的基础数据包括:  产品和物料信息:即产品/物料名称、规格型号、分类、供应商、成本价、默认售价、库存数量等 等。  客户和供应商信息:名称、联系人、联系地址、电话、类别等等。  会计信息:会计科目、科目期初余额等等。  员工信息:员工姓名、Email、部门、手机等。 复杂一些的情况,还可能有:  产品价格:同一个产品可能有多个价格,例如外销价、内销价、零售价、批发价、季节价等等。  安全库存:每个商品/物料低于一定数量,系统自动发起缺货告警,通知采购部门及时采购。 上面一些是通用的基础数据,基本上所有 ERP 系统都必须。不同 ERP 系统,还有其特定的一些 基础数据要求。后面讲“ERP 实战”的时候,我们会详细讨论。 3.2 理解流程 再考虑采购业务:采购下单给供应商的同时,要以内部单据通知仓库:大约什么时候,哪个供应 商,会送来什么商品,多少数量,请予接洽;还要通知财务:什么时候,向哪个供应商,支付什么商 品,多少数量,什么价格的采购付款,请予配合。 如果要求采购业务员在电脑系统中做好一张采购订单,还要她再做一张采购入库单给仓库,做一 张采购付款单给财务,你一定会觉得很麻烦。这样做,还有一个麻烦:信息不一致!如果采购业务员 一时眼花,给供应商的单据,和给仓库、财务的单据,产品或数量不一样,那就会造成很大的差错。 现实中,有些繁忙的采购部门,一天要处理几百个采购单,出现这样的差错一点不稀奇。 简单思考一下就可以发现,采购订单、采购入库通知单、采购付款通知单,三个单据包含的信息 大同小异,后面两个单据应该可以从采购订单采集信息自动生成。非常好!这就是 ERP 系统的一个 很大的功效:业务集成! 采购部门工作完成之后,系统根据采购订单,自动生成采购入库单,发起仓库部门的入库准备工 作;自动生成采购付款单,发起财务部门的付款和会计记账工作。这就是部门间的业务集成。 再进一步思考一下:谁来发起采购部门的工作?不考虑生产,对于进销存业务而言,应该是销售。 东西卖出去了,库存降低了,采购部门就要及时采购。 如果我们更细致的思考一下销售发起采购的流程,可以细分为两种情况,一种是,有些商品不备 库存,销售出去了,立即发起采购,这叫 MTO (Make to Order);另一种情况是,备库存,销售时候, 库存降低,如果低到一定数量以下,发起采购,这叫 MTS (Make to Stock)。这个“一定数量”,是 通常说的“安全库存”。 再细致思考的话,还可以发现问题。那个“安全库存”,是指仓库里面的实有数量吗?例如,仓 库里面实有 A 商品 1000 件,已经有一张销售订单,要求后天出货 800 件。A 商品的安全库存数量设 定的是 500 件,A 商品的采购周期是 3 天(从采购下单,到供应商送货入库的时间)。在这种情况, A 商品的采购是应该今天发起,还是后天发起呢?从仓库的实有数量来看,1000 > 500,是没有低于 安全库存的,但从将来库存来看,1000 – 800 < 500,是低于安全库存的。 从业务合理性的角度看,应该今天发起采购。这就是“虚拟库存”的概念。对库存管理更有参考 价值的不是仓库的实有数量,而是预期数量,即虚拟库存。 如果再深入思考的话,还会发现很多复杂的细节。例如:  多单位问题:采购是以“箱”为单位,销售是以“个”为单位,必须预先设置好单位间的换算率, ERP 系统才能正确的计算出入库数量。不同商品,一箱包含的个数还不一样,单位换算率的设置, 必须按商品逐一设置,想一想也不简单。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 11 除非盖章,否则打印后为非控制文件  多币种问题:采购用美元,销售有人民币,也有美元,会计上记账中国公司必须用人民币。不同 币种的汇率天天有变化,ERP 系统处理这种多币种问题又是一个复杂问题。  多价格问题:金牌代理价,银牌代理价,内销价,外销价,旺季价,淡季价,等等,同一商品可 能有 N 个价格,让 ERP 自动处理这种多价格需要预先作较为复杂的设置。 这些问题,我们暂时不作过多思考,否则太复杂了,不利于 ERP 入门。我们只要知道,企业上 线一个 ERP 系统,会有很多类似上述的细节上的复杂性。 继续回到业务流程上来。销售部门做好销售订单,成交之后,应该: 1) 根据销售订单自动作成销售出库单,触发仓库的销售出库工作; 2) 根据销售订单自动作成销售收款单,触发财务的开票、收款和记账工作; 3) 销售的出库引起库存降低,如果低于安全库存(为了简化问题,我们暂时不考虑不备库存, 即 MTO 的情况),应自动触发采购补货工作; 4) 采购部门修正并确认自动生成的采购订单,下单采购; 5) 根据采购订单自动作成采购入库单,触发仓库的采购入库工作; 6) 根据采购订单自动作成采购付款单,触发财务的付款、收票和记账工作。 如果考虑得更细致一点,仓库的收货和发货,还要自动作成入库/出库通知单,通知财务做库存变 动的记账工作。为了简化问题,库存变动的自动财务记账我们暂时不考虑。 上述的业务流程图,参见下图: 进销存+财务的业务流程,环环相扣,理想情况,各部门应紧密配合,高效合作。但实际上,没 有电脑 ERP 支持的情况,部门间交际,涉及很多单据拷贝,文档重复工作,出错率高,效率低下。 通过 ERP 实现的业务集成,就是要自动化上述的业务流程:前一部门的工作一完成,自动触发后一 部门的工作;后一部门工作一完成,自动反馈到前一部门。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 12 除非盖章,否则打印后为非控制文件 3.3 理解报表 企业中不同岗位人员,工作处理的对象是不同的。基层人员主要做单据处理,如销售人员处理销 售订单,采购人员处理采购订单,仓管员处理入库出库单,财务人员处理收付款单,等等。关于企业 中的各种单据,前面已经讲过了。 企业的中高层岗位,他们更需要的是汇总报表。如销售部经理,他需要知道,当月销售额多少, 毛利多少,他还希望能按客户区分、按产品区分、按业务员区分的销售额和销售毛利。财务经理,他 要知道当月收入多少,成本多少,费用多少,利润多少;对于成本控制较严的企业,财务经理可能还 要知道按部门或按项目区分的费用分别是多少。财务和销售经理都很关心的一个数据是,当月应收账 款多少,实收多少,新增多少应收账款。相应的,采购和财务经理很关心应付账款的汇总情况。 诸如此类的报表,如果没有电脑系统的支持,每到月底,各部门经理为了看到需要的报表,他们 要逐个查看单据,抄录数据,汇总计算。这个工作当然很繁重,而且容易出错,时效性还不好(月初 开始汇总上月数据,可能要到月中甚至月底才能得到结果)。 上 ERP 系统,对企业管理干部而言,一个最重要的作用就是,能够实时打印报表。平时的销售 订单、采购订单、入出库单、收付款单等,都储存在电脑中。月底,电脑系统自动汇总各种单据,打 印各部门经理需要的报表。实时的报表,能帮助企业管理者及时做出正确的管理决策。 3.4 ERP 实施 单据、流程、报表,这是 ERP 系统对企业的主要帮助。对基层岗位而言,ERP 系统帮助企业员 工更快更好的处理单据。对企业管理岗位而言,ERP 系统为管理人员提供及时的数据参考。对企业整 体而言,ERP 系统帮助跨部门甚至跨企业的流程协调,提高企业的整体工作效率。 ERP 的这些作用是很诱人的。犹如“宝石总在深山中,彩虹总在风雨后”,为了取得这些好处, 我们先要辛苦的工作,付出相当的努力。 这个努力就是 ERP 的实施工作。ERP 的实施工作主要包括:基础数据导入,流程配置,岗位培 训三项。 基础数据导入,前面讲单据的时候,我们已经讲了,为了更方便的制作单据,需要预先导入产品/ 原料信息、客户/供应商信息、员工信息等等。这项工作的重要性、复杂和辛苦程度,前面已经讲过了。 实际工作中,一般都是按 ERP 软件的格式要求,将基础数据分门别类整理成 Excel 等电子表格数据, 而后导入到 ERP 软件中。不同 ERP 软件,其要求的数据格式、导入的方法和复杂程度有所差别,但 基本做法都差不多。在后面各章节我会更详细的讨论基础数据导入方法。 流程配置,前面讲流程的时候,我们画了一个进销存+财务的典型流程,但不同企业,不同产品, 其实际流程还有很多变数。例如前面讲过 MTO 和 MTS,其流程是有差异的,前者由销售订单立即触 发采购工作,而后者,是否触发采购工作,还要看库存是否低于安全库存。又如,发货和收款的先后 关系有多种情况,有的是,先发货后收款,有的是先收款后发货,有的是先部分收款后发货再收尾款。 这个先后关系,有的是因客户而不同,有的是因产品而不同,流程上就要设置不同的处理步骤。 了解各部门、各项业务的详细流程,并正确设置到 ERP 系统中,这就是流程配置的工作。不用 电脑系统的时候,我们很多流程是不标准的。例如同样一项工作,我们有时候按 1,2,3,4,5 的步 骤去做,有时候又按 5,4,3,2,1 的步骤去做。什么时候,该用哪个步骤去做,我们人脑判断能力 比较强,通常根据经验和感觉,能正确选择步骤。但电脑没有人脑聪明,我们必须将该项工作统一成 一个步骤,即任何时候都按 1,2,3,4,5 的步骤去做,不允许其他选择;或者,我们必须明确定义 不同步骤的选择标准,并将该标准设置到电脑系统中。 澄清每项工作的流程,这个叫“流程规范化”。实际工作中,我们往往要先完成流程规范化,再 将规范化的流程配置到 ERP 软件中。不同 ERP 软件,对流程的支持程度是不一样的。有些流程, ERP 支持不了,而该流程对该企业而言又非常重要。这种情况下要求修改 ERP 软件,这个工作叫 ERP 定制开发,或者二次开发。ERP 定制开发的费用远高于流程配置,因此,不是特别必要的话, 建议不要轻易做定制开发。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 13 除非盖章,否则打印后为非控制文件 基础数据导入了,企业工作流程配置好了,接着就可以使用 ERP 系统来支持企业工作了。不过, 别急,还有一件很重要的事情要做,那就是用户培训。一旦上线 ERP,会有多个岗位使用 ERP 系统。 ERP 系统好比新购入的一台“办公机器”,所有办公人员都必须正确的操作这台机器。什么可以做, 什么不可以做,什么事情该怎么做,有问题应该找谁,等等,必须按岗位,将这些问题都写成 ERP 操作手册,并培训各岗位人员。只有所有岗位人员都学会了 ERP 操作方法,并正确的操作,ERP 机 器才能顺畅运转。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 14 除非盖章,否则打印后为非控制文件 4 OPENERP 实践 正如前面所说,我们将以 OpenERP 为例,以一个简单销售和采购业务为例,讲解 ERP 中如何 进行销售、采购、入库、出库、财务等业务处理。为了方便大家学习,本实践案例同时制作了视频教 程。视频教程地址:http://www.tudou.com/programs/view/BDuyHvdZK6o/ 建议读者朋友先看一遍视频教程,而后对着本书实际操作一遍。如此则可以进一步理解 ERP 的 基本概念和流程,掌握 OpenERP 的运作原理和操作方法。 4.1 案例说明 广州 ABC 贸易有限公司向东莞市 XYZ 食品有限公司销售“革木蜂蜜(400g 装)”50PCE,并向健 康蜂蜜公司采购该蜂蜜 10 箱补充库存(一箱 50 PCE)。该蜂蜜零售价格为 498 元/ PCE,采购价格 为 10000 元/箱。 在这个案例中,我们将: 1) 下载 OpenERP 软件并安装 2) 创建新帐套,安装必要功能模块 3) 设置基础数据,包括会计信息、客户及供应商信息、产品信息 4) 进销存业务处理,包括销售订单处理、采购订单处理、入出库处理 5) 会计业务处理,包括应收应付账款记账,付款及收款处理 4.2 安装 OPENERP OpenERP 提供了 Windows 版的 All-in-One 安装包,下载,直接点击“下一步”即可安装。如果 是 Linux 等其他平台,可以使用源码安装,稍微麻烦点,但也不复杂。下面介绍 Windows 版的 All-in- One 安装方法。 4.2.1 下载安装包 OpenERP 的官方网站提供了 OpenERP 的免费版、企业版、在线版三种选择,三种版本的源代 码是一模一样的,不同的是,免费版不带任何服务;企业版 165 欧元/月,带有远程咨询、Bug 优先修 复、版本升级等服务;在线版是直接线上租用官方安装好的 OpenERP,每月 35 欧元。为着学习的目 的,我们选用免费版,自己下载,自己安装,自己配置。自己动手,不花钱,全部自己搞定。 OpenERP 的安装包和源代码都可以从其官方网站下载:http://www.openerp.com/downloads 。 截止到 2012 年 10 月份,OpenERP 的最新稳定版本是 V6.1.1,下载 Windows Auto-Installer。如果 官方下载较慢,也可以从华军下载:http://www.onlinedown.net/soft/408304.htm 。 4.2.2 安装步骤 下载完成后,安装包为:openerp-allinone-setup-6.1-1.exe ,双击它即可安装。接着一步步点击 “Next”按钮完成安装。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 15 除非盖章,否则打印后为非控制文件 点击“I Agree”。 OpenERP 由开源数据库 PostgreSQL 和 Server 两部分构成,默认是自动安装该两部分。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 16 除非盖章,否则打印后为非控制文件 配置 PostgreSQL 数据库的连接信息。默认是连接本地数据库服务器(localhost),端口 5432,数 据库连接用户名 openpg,数据库连接密码 openpgpwd。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 17 除非盖章,否则打印后为非控制文件 默认安装路径是”C:\Program Files\OpenERP 6.1-1” 。 点击“Finish”,安装完成。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 18 除非盖章,否则打印后为非控制文件 OpenERP 登录画面。安装完毕后,浏览器中键入链接 http://localhost:8069/ ,应能看到如下画 面。 4.2.3 常见安装问题 1) 找不到数据库 在有些 Windows 机器上,可能是权限设置问题,安装完成后,OpenERP 相关服务不会自动启动, 需要手工启动。 查看服务启动情况:在桌面上找到“计算机”,右击,点击菜单“管理”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 19 除非盖章,否则打印后为非控制文件 查看服务“OpenERP Server ”和“PostgreSQL For OpenERP”是否都已启动,如果未启动, 则启动他们。 2) 本机可以访问,别的机器不能访问 这种情况通常是 Windows 的防火墙阻止了端口 OpenERP 的默认端口 8069。下面以 Windows7 为例说明。在 Windows 的控制面板上找到“Windows 防火墙”,点击它。 点击“允许程序或功能通过 Windows 防火墙”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 20 除非盖章,否则打印后为非控制文件 查看 OpenERP Server 是否被允许通过防火墙,如下图所示,三个勾都勾上了。 3) 浏览器访问的时候,速度特别慢 发生这个问题通常是因为浏览器版本太老。OpenERP 建议的浏览器是“火狐(Firefox)”,或者 Google 的 Chrome 浏览器,如果是 IE,建议使用 IE8.0 以上版本。其他一些浏览器,如果速度特别 慢,则建议升级浏览器,或者换一个浏览器试试。 4) PDF 报表中文字显示为“方块” OpenERP 默认的 PDF 报表不含中文字体,因此不能正常显示中文字。不过有人开发了补丁模块 解决这个问题。从这里下载该模块:http://apps.openerp.com/addon/6647 ,参照这里的说明安装模 块:http://shine-it.net/index.php/topic,2791.0.html 。 4.3 创建新帐套 帐套就是数据库,所有的模块、基础数据、流程配置等,都是保存在数据库中。实际工作中,通 常会创建多个帐套,例如,一个用于测试和培训,一个用于生产应用。本案例中,我们需要创建一个 新帐套,安装必要模块,设置基础数据等。 本案例需要安装下述模块:  会计与财务(account_accountant):会计科目,应收应付账款记账,基本会计报表  出纳(收付款)模块(account_voucher):实收实付款记账  销售管理(sale):销售订单的处理  采购管理(purchase):采购订单的处理  仓库管理(stock):入库、出库及库存报表等,由于销售管理和采购管理模块都依赖于本模块,因 此前两模块安装时候系统会自动安装本模块,不需要特别安装。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 21 除非盖章,否则打印后为非控制文件 4.3.1 新建帐套 点击“Manage Database”按钮,新建帐套。 录入数据库的“名称”、选择“默认的语言”、录入 admin 这个用户的密码等。点击“create” 即可。 注:Master Password 是超级密码,默认是“admin”。 Admin Password 是新建帐套的管理员密码,这里设为“123”。帐套管理员的用户名是 “admin”。 创建后的帐套名称,有一个设置模块。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 22 除非盖章,否则打印后为非控制文件 4.3.2 安装会计与财务(account_accountant)模块 为帐套添加其他模块。添加会计与财务(account_accountant)模块,此模块用于账簿、科目、税、 付款条件、发票、业务伙伴、财务报表等。 这个模块的安装过程中,会提示我们设置会计科目表。系统内置了很多国家的会计科目表,包括 中国的。不过,本案例目的是理解 ERP 系统的设置和运作原理,因此,我们不选择预配好的中国会 计科目表,而是选择一个最简单的会计科目表,而后自己修改成我们需要的科目。如下图: 安装完成后,帐套中多了模块“会计”,以及其包含的菜单。并且默认了基本的账簿、科目、税、 付款条件等数据。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 23 除非盖章,否则打印后为非控制文件 4.3.3 安装出纳模块(account_voucher) 回到设置画面,选择会计与财务中的出纳(account_voucher)模块。点击设置模块下的“模块”菜 单,找到会计与财务(account_voucher)模块,点击“install”按钮。 安装完后,会计菜单中多了客户付款和供应商付款。 4.3.4 安装销售模块 安装销售管理(sale)模块。点击设置模块下的“模块”菜单,找到销售管理模块,点击“install” 按钮。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 24 除非盖章,否则打印后为非控制文件 安装后,增加了销售和仓库模块及其菜单。 4.3.5 安装采购模块 安装采购管理(purchase)模块。点击设置模块下的“模块”菜单,找到采购管理模块,点击 “install”按钮。 安装后,增加了“purchase”模块及其菜单。由于少量翻译的不到位,这里有些菜单还是英文的。 不过没关系,后面我们会讲怎么自己动手翻译它,很简单的,这里暂不展开。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 25 除非盖章,否则打印后为非控制文件 4.4 设置会计信息 安装完会计与财务(account_accountant)以及出纳模块(account_voucher)后,系统提供了基本的 财务数据,如账簿、科目、税、付款条件等信息。但是根据每个公司的具体情况,还需要做一些调整。 4.4.1 设置本位币信息 路径为设置公司公司。点击“编辑”。 选择需要的币别作为本位币。在这个画面,还可以设置公司的 Logo 图片、地址、电话等信息,为 了节省篇幅,这里暂且不设。 设置完本位币后,还需根据企业实际的业务调整计价基础和价格表的币种。 路径分别为销售设置价格表计价基础、销售/purchase设置价格表价格表。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 26 除非盖章,否则打印后为非控制文件 修计价基础中的币种。 修改价格表中的币种。 将销售价格表的币种由“EUR”改为“CNY”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 27 除非盖章,否则打印后为非控制文件 将采购价格表的币种由“EUR”改为“CNY”。 4.4.2 定义/编辑科目信息 安装完会计与财务(account_accountant)模块后,系统中会自带科目。这个科目表是我们创建帐 套时候选择的一个最小的科目。我们需要将它修改成符合本案例要求的科目表。 本案例需要的会计科目有:应收账款、应付账款、在途物资、库存商品、银行存款、主营业务收 入、主营业务成本这几个。下面设置这几个会计科目。 路径为会计设置财务会计科目科目。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 28 除非盖章,否则打印后为非控制文件 将科目 Debtors 修改为“应收账款”。“应收账款”在客户信息中配置,用于客户发票核准时的 借方和销售收款的贷方。 将科目 Creditors 修改为“应付账款”。“应付账款”在供应商信息中配置,用于供应商发票核 准时的贷方和采购付款的借方。 将科目 Product sales 修改为“主营业务收入”。“主营业务收入”在产品和产品种类中都可以 设置,且前者的优先级大于后者。用于客户发票核准时的贷方。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 29 除非盖章,否则打印后为非控制文件 将科目 Expense 修改为“在途物资”。“在途物资”在产品和产品种类中都可以设置,且前者的 优先级大于后者。用于入库时的贷方和核准供应商发票时的借方。 将科目 Cost of Goods Sold 改为“主营业务成本”。“主营业务成本” 在产品和产品种类中都可 以设置,且前者的优先级大于后者。用于出库时的借方。 新建科目“库存商品”。在产品种类中设置,用于入库的借方和出库的贷方。 会计科目的设置,请详见 4.4.3 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 30 除非盖章,否则打印后为非控制文件 4.5 设置客户和供应商 本案例中,我们需要客户“东莞市 XYZ 食品公司”和供应商“健康蜂蜜公司”。 在 OpenERP 中,客户和供应商是同一个设置画面。 新建客户和供应商的路径有如下几种: 1) customer、销售地址簿客户 2) purchaseaddress booksupplier 3) 会计客户客户 4) 会计供应商列表供应商列表 点击“新建”按钮,新建客户和供应商。 在客户头信息中录入客户的名称,勾选客户。 在一般信息中录入联系人、地址、联系方式等信息。 注:地址类型主要有三种。默认、收票和收货。默认,当没有其他地址时使用此地址。发票,系 统生成财务票据时使用的地址。发货,系统生成送货单时使用的地址。 在客户会计信息中,录入会计的应付账款科目信息。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 31 除非盖章,否则打印后为非控制文件 按以上步骤新建供应商。 在客户头信息中录入客户的名称,勾选客户。 在一般信息中录入联系人、地址、联系方式等信息。 在供应商会计信息中,录入会计的应付账款科目信息。 4.6 设置产品信息 本案例中,我们需要设置产品信息“革木蜂蜜(400g 装)”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 32 除非盖章,否则打印后为非控制文件 4.6.1 设置产品单位信息 路径为销售设置产品计量单位计量单位。 录入单位名称、计量单位分类。 因为“单件”这个单位分类的基本单位是“PCE”,而“箱”是大于“PCE”的,且 1 箱 =50PCE。因此在计量单位类型中选择“大于引用的计量单位”,在比例中录入 50。 4.6.2 设置产品基本信息 新建客产品路径有如下几种: 1) products 2) salesproductsproducts 3) purchaseproductsproducts 4) warehouseproductsproducts 点击“新建”新建产品。 在产品头信息中录入“名称”,勾选“可以卖出”和“可被采购”。 在信息页中,录入产品的需求、价格和计量单位等信息。 注:各字段的意思,请详见后文的基础信息配置指南。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 33 除非盖章,否则打印后为非控制文件 在需求与货位页面中,定义产品的最小最大库存规则。点击“新建”按钮,选择仓库和库位,录 入最小数量和最大数量。 在供应商页面中定义产品的默认供应商。点击“新建”按钮,在弹出的界面中为该产品选择默认 供应商。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 34 除非盖章,否则打印后为非控制文件 4.6.3 设置产品的会计信息 在产品的会计页面中,将“盘点估值”的值选为“实时(自动进行)”。这个选项会让系统在出 库、入库时候自动生成入、出库对应的库存会计凭证。 “入库科目、出库科目、收益科目和费用科目”可在产品中也可在产品分类中配置,且前者的优 先级大于后者的优先级。此案例中采用在产品分类中配置。 路径为销售设置产品产品分类。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 35 除非盖章,否则打印后为非控制文件 4.7 销售订单处理 前述的基础数据配置完成之后,我们可以开始业务处理了。首先,我们将创建销售订单,然后由 销售订单,系统自动生成销售出库单、采购订单、采购入库单、财务收款/付款通知单(系统中叫客户 发票、供应商发票)。 新建销售报价单。路径为销售sales销售订单。点击“新建”。 选择销售的客户,点击“新建”录入销售订单明细。 选择要销售的产品,录入要销售的数量。弹出提醒的文本框是因为此时该产品的可用量为 0,小 于销售数量。录入信息无误后,点击“保存并关闭”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 36 除非盖章,否则打印后为非控制文件 点击“报价单/订单”,打印报价单并传送给客户,客户确认后,在系统中点击“确认订单”将报 价单生产销售订单。 销售订单确认后,系统会自动生成对应的出库单。 在 OE 中提供了多种开票方式,发票管理涵盖了实际业务中的各种情况,可以根据销售订单开内 部发票也可以根据出库单开内部发票。此案例中根据销售订单开发票,在销售订单确认后就点击“生 成最终发票”的按钮,生成了草稿状态的内部发票。 注:内部发票用于通知财务收付款。财务确认内部发票时候,系统会根据内部发票自动生成应收、 应付账款。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 37 除非盖章,否则打印后为非控制文件 4.8 采购订单处理 运行 MRP,系统根据最小库存规则自动生成采购询价单。在系统中设置好 MRP 计划的执行周期, 系统会自动运行 MRP。此处便于案例的演示,我们采用手工运行 MRP。 路径为仓库排程计划运行。点击“计划运行”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 38 除非盖章,否则打印后为非控制文件 查看系统自动生成的询价单。运行 MRP 后,看到系统根据最小库存规则自动生成了采购询价单。 查询路径为 purchase采购管理询价单。 自动生成的询价中,供应商为该产品设置的默认供应商。 确认订单后,产品的可用数量为-50 个,根据最小最大库存规则,当可用量低于最小数量时会触 发自动采购,订购数量=最大数量-可用数量=450-(-50)=500 个。而产品中定义采购单位为箱,所以 订购数量=10 箱。 打印询价单给供应商,供应商确认后,点击“转换成采购订单”按钮,将询价单转换成采购订单。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 39 除非盖章,否则打印后为非控制文件 转成采购订单后,系统会自动生成入库单,根据案例中的开票方式系统也会自动根据采购订单生 成草稿状态的内部发票。 4.9 入库出库处理 当销售订单确认时候,系统会自动生成对应的出库单;当采购订单确认时候,系统会自动生成对 应的入库单。仓管部门登录系统,点开库存模块,操作相应单子进行入库出库处理。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 40 除非盖章,否则打印后为非控制文件 注:实际使用中,通常会为不同人员设置不同系统权限。拥有不同权限的人,看到的模块和菜单 会不一样。例如仓管人员,可能只会看到仓库模块,而看不到销售、采购等模块。不过,这里为了不 让案例太复杂,暂时不考虑权限问题。 4.9.1 入库处理 菜单路径为仓库仓库管理入库。 确认公司准备接收的数量后,点击“处理”按钮。 确认此次接收的数量后,点击“validate”按钮。 入库单状态变为“完成”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 41 除非盖章,否则打印后为非控制文件 4.9.2 出库处理 出库处理和入库处理的步骤基本一致。菜单 路径为仓库仓库管理出库。 此时送货单的状态为“waiting available”,表示库存数量不足,尚且不可以出货。点击“检查可 用”按钮,系统会检测库存是否够了,如果库存够了,状态会变为“可用”,而后可以进行处理。 点击“处理”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 42 除非盖章,否则打印后为非控制文件 点击“validate”。 出库单的状态变为“完成”。 4.10 会计处理 系统基于销售订单开具“客户发票”,基于采购订单开具“供应商发票”。财务人员登录系统, 打开客户发票或供应商发票,做必要的修改确认工作。发票确认时候,系统自动生成应收应付账款。 注:实际使用中,通常会为不同人员设置不同系统权限。拥有不同权限的人,看到的模块和菜单 会不一样。例如财务人员,可能只会看到财务模块,而看不到销售、采购等模块。不过,这里为了不 让案例太复杂,暂时不考虑权限问题。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 43 除非盖章,否则打印后为非控制文件 4.10.1 销售收款 菜单路径为会计客户客户发票。点开可以看到系统生成好的客户发票。 在国外,没有统一的税务发票,通常是财务人员点开该发票,打印发票,盖上公司发票章,传真 或快递给客户,即算作有效发票。 但在中国,公司不能自制发票,我们必须使用税务局统一的发票打印。因此,通常的操作流程是, 当我们开具税务发票给客户的时候,我们确认系统的“客户发票”,系统自动生成应收账款会计凭证。 核准发票。财务开具发票传送给客户,并在系统中点击“使其生效”按钮,将发票进行核准。 使其生效后,发票状态变为“打开”。在国外,点击按钮“打印发票”,即可打印发票给客户。 但在中国不行,不过我们也可以打印它盖章作为收据。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 44 除非盖章,否则打印后为非控制文件 当收到客户付款时候,找到对应的付款发票,点击付款按钮。系统弹出付款单,输入付款信息,系 统自动生成实收款会计凭证,核销(勾稽)对应应收账款。如下图: 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 45 除非盖章,否则打印后为非控制文件 录入客户实际已付金额,选择付款方式。 点击“记账”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 46 除非盖章,否则打印后为非控制文件 4.10.2 采购付款 采购付款和销售收款处理基本一样。系统根据采购订单生成了供应商发票,点开它。当收到供应 商开具税务发票时候,确认“供应商发票”,当实际付款给供应商时候,作付款处理。 核准发票。收到供应商发票后,在系统中点击“核准”按钮,将发票进行核准。 路径为会计供应商列表供应商发票。 收到供应商实际开具的发票后,与系统中的供应商发票进行核准。 核准发票后,发票的状态变为“打开”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 47 除非盖章,否则打印后为非控制文件 采购付款。收到供应商发票并付款后,在系统中进行客户付款和记帐。点击“支付发票”按钮。 录入实际向供应商付款金额,选择付款方式。点击“记账”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 48 除非盖章,否则打印后为非控制文件 付款后,状态为“已登帐”。 4.10.3 会计凭证查询 完成会计处理的同时系统会自动生成会计凭证。查询路径为:会计账簿的分录账簿明细。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 49 除非盖章,否则打印后为非控制文件 从上图可以看出,系统自动生成的会计凭证如下: 业务 会计分录 入库 借:库存商品 贷:在途物资 出库 借:主营业务成本 贷:库存商品 销售发票核准 借:应收账款 贷:主营业务收入 销售回款 借:银行 贷:应收账款 采购发票核准 借:在途物资 贷:应付账款 采购付款 借:应付账款 贷:银行 4.11 案例总结 本案例力图通过详细的讲解,一步步教您利用开源软件掌握 ERP 的基本操作,解决进销存等实 际问题。 1) 根据销售订单自动生成销售出库单,触发仓库的出库工作; 2) 根据销售订单自动生成销售内部发票,触发财务的开票、收款和记账工作; 3) 根据产品最小最大库存规则,自动生成采购询价单; 4) 根据采购订单自动生成采购入库单,触发仓库的采购入库工作; 5) 根据采购订单自动生成采购付款单,触发财务的付款、收票和记账工作; 6) 根据仓库的出入库,自动登记财务账务。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 50 除非盖章,否则打印后为非控制文件 5 OPENERP 配置指南 5.1 业务概述 贸易型企业的主要业务包括,销售订单处理、采购订单处理、仓库业务处理、财务业务处理。  销售订单处理:销售订单的处理一般是,1)收到客户的询价单或购买意向,在 ERP 系统中创建 一张报价单,打印报价单,发给客户确认;2)客户确认之后,ERP 系统中确认报价单,变成销 售订单。  采购订单处理:采购订单处理一般是,1)收到采购意向后(采购意向一般有两个来源,一个是 来自销售订单,东西已经卖出去了,这边需要进货;另一来源是仓库,库存偏低,需要补充库 存。),ERP 系统中创建一张采购询价单;2)询价结束,确定采购之后,确认 ERP 系统中的询 价单,变成采购订单。  仓库业务处理:仓库业务处理一般是,1)出库,对于贸易型企业,引起出库的一般是销售订单; 2)入库,对于贸易型企业,引起入库的一般是采购订单;3)库间调拨,即从 A 仓库调货到 B 仓 库;4)盘点,盘点之后可能会发现库存偏低,从而提出采购申请。  财务业务处理:财务业务处理一般是,1)销售会计记账及收款;2)采购会计记账及付款;3) 定期出具财务报表,如应收应付款报表,损益表等。 这些业务之间是紧密关联的,如销售引发仓库出库及发货,财务开票及收款;出库又引发库存减 少要求采购;采购引发收货入库,财务接收发票及付款,等等。协调业务及业务部门间高效工作的基 础是业务信息。实施 ERP 的最重要目标就是,通过信息的集成,实现业务间的集成。 在 ERP 中,为了完成上述业务处理,需要将企业的基础资料导入 ERP 系统,即企业基础资源数 字化。例如销售订单,销售订单上通常包括客户信息、产品信息及价格、付款条件、发货地址、付款 币种、付款账户等等。为了处理销售订单,需要预先导入销售订单需要的基础信息。在 OpenERP 中, 对于贸易型行业,需要导入的基础信息包括,业务伙伴(包括客户及供应商)、产品(包括原料、可 销售产品、服务性产品等)、会计科目,其他一些细节信息还包括,产品单位、产品价格、付款方式、 付款条件、计税方式等等。 通常说,上 ERP 是为了管理信息化,ERP 是如何实现管理信息化呢?产品、业务伙伴等基础信 息导入了 ERP 系统之后,系统中通过点选客户、产品等作成订单,通过点击按钮等,实现业务电脑 处理,即业务处理数字化。ERP 系统自动记录业务处理的全过程,如什么时间、谁、向哪个客户、销 售了什么产品、订单什么时候出的货、什么时候回的款等信息。ERP 系统基于这些业务信息,自动分 析统计,出具企业管理者需要的各种报表,实现数字化管理,即管理信息化。 5.2 业务伙伴配置 OpenERP 的业务伙伴,包括任何和自己有关的单位、个人。可以是客户,也可以是供应商。一 个业务伙伴可以有多个地址,如联络地址、发票地址、送货地址、各办公场所的地址等。如果安装了 base_contact 模块,每个地址可以有多个工作职位及对应的联系人。每个联系人可以有多个工作职位、 从属于多个业务伙伴,甚至不属于任何业务伙伴(私人地址)。 业务伙伴和联系地址。业务伙伴的主要信息存放在数据表 res_partner 里,一个业务伙伴有多个 联系地址,联系地址信息保存在数据表 res_partner_address 里。res_partner 和 res_partner_address 是 One2Many 关系。 5.2.1 业务伙伴联系信息 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 51 除非盖章,否则打印后为非控制文件 在 General 页,包括业务伙伴的联系人,地址,电话等联系信息。  Customer:如果勾上,表示该业务伙伴是客户,在销售订单上允许选择该客户。  Supplier:如果勾上,表示该业务伙伴是供应商,在采购订单上允许选择该客户。  Title:业务伙伴头衔,诸如公司、医院、区政府等。头衔在业务伙伴的“Configuration”菜单中 设置。在发送给业务伙伴的信函或订单中会出现该头衔。  Reference:业务伙伴代码。  Language:语言,会影响发给客户的订单上的显示语言。国内伙伴,一般都设成“中文”。  Type:联系人的头衔,诸如先生、小姐、女士等。在“Configuration”菜单中设置。  Function:联系人职位,诸如总经理、销售员等。在“Configuration”菜单中设置。  Address Type:地址类型,诸如送货地址,发票地址等。有 5 种地址类型:(default,Default), (invoice,Invoice),(delivery,Delivery),(contact,Contact),(other,Other)。Default,默认,当没 有其他地址时使用此地址。Invoice,发票,系统生成采购、销售等的财务票据时,使用此地址。 Delivery,发货,系统生成送货单时,使用此地址。Contact、Other,供其他用处,系统中未使 用。当系统生成单据时,会自动使用相应类型的地址。  Categories:分类,一个业务伙伴可以属于多个分类。在“Configuration”菜单中设置。分类可 以是树状结构,如下图所示: 5.2.2 业务伙伴购销信息 购销信息在“Sales & Purchases”页面。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 52 除非盖章,否则打印后为非控制文件  Salesman:客户/供应商责任人员。你可以安排专门销售员跟踪该客户。  Main Company:业务伙伴所属母公司。  Sale Pricelist:针对该客户的销售用价格表。价格表处理折扣问题,如某消暑产品,针对某大客 户,在公开报价基础上,夏秋两季打 8.5 折,冬春两季打 6 折。当设置好该价格表,销售订单中, 将根据价格表中的规则自动计算给该客户的价格。价格表在产品模块中设置。  Purchase Pricelist:针对该供应商的采购用价格表。当设置好该价格表,采购订单中,将根据 价格表中的规则自动计算产品的采购价格。  Customer Location:客户库区,销售给该客户的产品应发往的库区。可以是真实库区,也可以 是一个虚拟库区。OpenERP 采用独特的“复式库存”管理库存,因此,即使客户没有真实库区, 也必须设置一个虚拟库区。库区(Location)在库存管理模块中设置。  Supplier Location:供应商库区,概念同上。 5.2.3 业务伙伴事件 安装 CRM 模块后会出现该页。销售人员跟踪客户的过程中,会经常和客户联系。或者拜访、或 者电话、或者 Email。和客户联系时,会发现客户的某些潜在需求,或是客户不满。和客户的这种沟 通以及客户的需求或者态度变化,在 OpenERP 中使用事件(Event)来记录管理。当销售订单确认 时,系统也会自动生成该业务伙伴的“购买事件”记录于此。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 53 除非盖章,否则打印后为非控制文件 5.2.4 业务伙伴财务信息  Account Receivable:和客户发生的销售业务记账凭证中,应收账款对应的会计科目。通常是 “1014 应收账款”总账科目下的以客户单位名称为名的二级科目。该科目在财务模块中设置。 简单情况下,也可以将所有客户都设成“1014 应收账款”科目,设置方法在“管理员”下的 “属性”菜单中设置属性。销售业务中,系统会根据这里的设置自动生成会计分录。  Account Payable:和业务伙伴发生的采购业务记账凭证中,应付账款对应的会计科目。通常是 “2011 应付账款”总账科目下的以客户单位名称为名的二级科目。  Fiscal Position:应税设定。通常,在产品信息中设定销售、采购该产品应缴纳的税种。之后, 在销售订单、采购订单中,系统会自动采用产品上设定的税种计税。但是,有时候,同一产品, 针对不同类型客户,其计税方式不同。例如,某产品内销时要计消费税,但外销时不计消费税。 那么,对于外销客户,应该采用不同于产品上设定的计税方法计税。Fiscal Position 就是处理这 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 54 除非盖章,否则打印后为非控制文件 种情况的。当指定客户的应税设定后,系统会根据应税设定中指定的替换规则将产品中设定的税 种换成别的税种计算税额。应税设定在财务模块中设置。  Payment Term:付款条件,如 30 日内付全款,或者 10 日内付 30%,20 日内再付 30%,余款 2 月内付清。当设置好付款方式后,如该客户未按时付款,系统会自动报警。付款条件在财务模 块中设置。  Total Receivable:该业务伙伴的应收账款总额。  Total Payable:该业务伙伴的应付账款的总额。  Credit Limit:该业务伙伴的信用额度。  Bank Details:该业务伙伴银行帐号相关信息,用于增税发票等单据。 5.3 产品信息配置 5.3.1 产品一般信息  Can be sold: 该产品可用于销售,在销售订单中可以选择该产品。  Can be Purchased: 该产品可以采购,在采购订单中可以选择该产品。  Rentable Product: 该产品可用于出租。  Variants: 产品型号,任意文字。  EAN13: 产品条形码,必须符合条形码格式。  Product Type: 有三个选项:Stockable Product、Consumable、Service。Stockable Product 是 通常的可库存的产品,要求进行库存管理。Consumable 是低值易耗品,如螺丝钉。低值易耗品 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 55 除非盖章,否则打印后为非控制文件 可库存,但系统不记录其库存量,不对它做库存管理(默认为取之不竭的东西)。Service,服务 类型的产品,如咨询服务。  Procure Method: 生产类型,有 Make to Stock、Make to Order 两个选项。即按库存生产和按订 单生产。属于后者的产品,当有订单时,会根据订单和产品 BOM 自动生成生产订单或采购订单 (取决于产品的 Supply Method),启动产品供应。前者则是当库存低于设定的量时才启动供应。 如果是 Service 类型的产品,且设定为 Make to Order,那么,当有订单时,系统会自动生成该 服务项目对应的 Task(任务,这个时候,产品的 BOM 相当于是项目的 WBS,工作分解结构)。  Supply method: 供应方式,有两个选项:Produce、Buy。前者的话,当需要补给该产品时(例 如库存低于设定量),系统自动生成生产订单。后者的话,当需要补给时,系统自动生成采购订 单。  Weigths: 记录产品的体积、毛重、净重信息。  Category: 产品分类。产品分类在“Configuration”菜单中设置。产品分类可以形成树状结构。  Status: 产品所处生命周期阶段。有 In Development、In Production、End of Lifecycle、 Obsolete 几个选项。  Product Manager: 产品经理。  Real Stock: 产品实际库存,即目前仓库(包括所有仓库)保有的产品实际数量。  Virtual Stock: 产品预期库存。由于有一些已经确认了的采购订单和销售订单,随着这些订单的 入库、出库,产品的将来库存量会不同。在库存管理模块中,可以查看产品 N 天后的预期库存。 这里是考虑所有已确认的订单而计算的预期库存,不特指哪一天。  Cost Price: 产品标准成本价(采购价)。  Costing Method: 成本计算方法,有 Standard Price(标准价法)和 Average Price(移动平均 法)两种。  Sale Price: 产品标准售价。  Variant Price Margin: 产品价格系数。  Variant Price Extra: 产品价格附加。如果没有设置价格表,则产品的销售价格计算方法是:实 际售价=Sale Price * Variant Price Margin + Variant Price Extra 。如果使用价格表,则实际售价 根据价格表的规则计算,此两字段无用。  Lots: 生产批号和追踪批号。可以强制要求产品必须有生产批号、进货批号、出货批号。这样, 产品在出、入库时候,系统会强制要求输入批次号。批次号在库存模块中设置。  UOM: 产品计量单位。产品可能有多个单位,如电池产品,进货时按“箱”计、销售时按“个” 和“盒”计。产品计量单位在“Configuration”菜单中设置。OpenERP 中的产品计量单位可分 类,同一类型的计量单位间可互相换算(不同类型的单位间不可换算)。如电池的三个计量单位 (箱、盒、个)可以设成同一类型,可以设置它们间的换算关系,系统会自动换算。 5.3.2 产品供应商和仓储信息  Customer Lead Time: 客户提前期,从确认客户订单的时点,到能给客户发货的时点的估算时 间。通常是一个平均时间。以天为单位。  Manufacturing Lead Time: 生产提前期,从本产品的生产订单下单的时点,到产品产出的时间。 通常是一个平均时间。以天为单位。  Warranty (months): 产品保证期,以月为单位。  Storage Localisation: 产品在仓库中的存放位置。如行、列、货架。  Procurement Location: 采购库位,用于复式库存管理。产品采购引起的库存移动的源库位,通 常是虚拟库位。  Production Location: 生产库位,用于复式库存管理。产成品入库引起的库存移动的源库位,可 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 56 除非盖章,否则打印后为非控制文件 以是车间,也可以是虚拟库位。  Inventory Location: 盘点库位,用于复式库存管理。产品盘盈或盘亏引起的库存移动的源库位 (盘盈)、目标库位(盘亏)。  Supplier Information: 供应商信息(订货提前期、最低采购量、适用价格表等)。当根据补货要 求(如库存量低于最小库存规则设定的数量),系统自动生成采购单时,必须要设置好产品的供 应商信息,否则会发生自动补货异常错误。  Partner:供应商对应的业务伙伴。  Priority:当该产品有多个供应商时,Proirity 小的优先考虑。  Partner Product Name:产品名和采购名(供应商产品名)不同时,此处填入采购用产品名。  Partner Product Code:供应商产品编码。  Delivery Delay:从订单确认到仓库收到货所需的天数,自动采购时该时间用于计算下单提前期。  Minimal Quantity:该供应商所能接收的最低采购批量。  Quantity 和 Unit Price:根据采购批量设定的采购价格。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 57 除非盖章,否则打印后为非控制文件 5.3.3 产品描述、包装和财务信息  产品描述:有 Description、Sale Description、Purchase Description 三个。后两者会出现于销售、 采购订单的 Order Line 的备注里。  Packaging 产品包装:一种产品可以有多种包装形式,如单件、小盒、大盒、箱装等。可以指定 每种包装方式的产品件数、条形码、体积、皮重、毛重、包装材料等。  Income Account: 产品收入科目,产品销售业务的会计分录的贷方,通常是“6001 主营业务收 入”。借方是应收账款。  Expense Account: 产品成本科目,产品采购业务的会计分录的借方。对于商业流通企业,通常 是“1042 在途物资”。贷方是应付账款。  Stock Output Account: 产品出库科目,产品出库时会计分录的借方,贷方是库存管理中库位设 置时指定的科目。对于商业流通企业,通常是“6015 主营业务成本”,贷方是“1036 库存商 品”。  Stock Input Account: 产品入库科目,产品入库时会计分录的贷方,借方是库存管理中库位设置 时指定的科目。对于商业流通企业,通常是“1042 在途物资”,借方是“1036 库存商品”。  Sale Taxes: 产品销售时的税种。销售订单默认采用此处的税种计算税额。税种在财务模块中设 置。  Purchase Taxes: 产品采购时的税种。采购订单默认采用此处的税种计算税额。税种在财务模块 中设置。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 58 除非盖章,否则打印后为非控制文件 5.3.4 产品单位及价格表 产品有多个单位,如采购单位、零售单位等,单位间有换算,如一条香烟等于 10 包。系统中单 位的处理是,单位有 Category,同一 Category 的单位间可以换算。例如,香烟的“包”和糖果的 “包”,通常它们必须属于不同的 Category。单位间换算的配置画面如下:  UoM Type:每个 UoM category 有个基本单位,此处指定本单位比基本单位大还是小,或者一样 大。  Ratio:单位换算率,如本例,时间的基本单位是 Working Day,一个 Working Day = 8 Hours,故 而这里是 8.0 。  Rounding Precision:单位换算的精确度,如果指定为 0.01,则换算结果保留两位小数,如果指 定为 1,则换算结果只取整数部分,如果指定为 100,则换算结果个位和十位为 0。单位换算的 最大小数位数在菜单 Administration -> Customization -> Data Structure -> Decimal Accuracy 中 设置。 企业的价格策略往往比较复杂,不同渠道价格不同,不同购买数量折扣不同,促销活动的临时优 惠,年底返点,次品减价处理等等。价格表(Pricelist)就是用来处理不同价格策略的价格计算问题。 (顺便解释几个英文单词,Rebate:返点,Refound:优惠,Discount:折扣,Reduction:次品减 价)。 OpenERP 的价格表机制大致如下: 1)在 Product Form 上可以为产品设置标准采购价、标准销售价。 2)可以为不同 Partner(客户 or 供应商)设置不同的价格表,价格表可以按价格策略要求自动计算 合适的采购价或销售价。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 59 除非盖章,否则打印后为非控制文件 3)一个价格表(Pricelist)有多个价格表版本(Pricelist Version)。可以设置价格表版本有效 (Active)与否,可以设置价格表版本的适用时间段。同一时间,每个价格表只能有一个价格表版 本有效。例如,为某客户指定了价格表,但希望不同季节采取不同的价格策略,这个要求可以为该 价格表设置四个价格版本(每季度一个),来实现。 4)一个价格版本上可以设置多条价格计算规则(Listprice Item)。每个价格计算规则包括适用条件 (Rules Test Match)和价格计算方法(Price Computation)。当需要计算价格时,系统自动匹配 条件,选择适用的价格计算方法,计算最终价格。 5)适用条件(Rules Test Match)是指,你可以指定产品、产品类型、产品模板、最低数量、规则序 号。意思是,对这里指定的产品、产品类型、产品模板,数量达到这里设定的最低数量,则适用本 条价格计算规则。规则序号(Sequence)的意思是,如果有系统匹配上多条规则,则取序号最小 的规则。 6)价格计算方法(Price Computation),可以指定的值有:基础价格(Base Price),其他价格表 (Other Pricelist),Field1,Field2,啥入方法(Rounding Method),最小利润(Min Margin), 最大利润(Max Margin)。价格计算方法是: 最终价格 = Base Price * (1 + Field1) + Field2 舍入方法是指,假设舍入方法是 N,意思是按公式算出来的价格,取最接近 N 的倍数的值。不过, 系统是先舍入,再加 Field2。举个价格计算例子。 Base Price = 1408,Field1=0.2,Field2=-1,Rounding Method=100,则最终价格是: 基础价*1.2 = 1689.6,最接近 100 的倍数是 1700,再减去 1(Field2),最终价格是 1699 。 最小利润(Min Margin),最大利润(Max Margin)的意思是,如果按上述办法算出来的价格低 于基础价格 + Min Margin,则取值"基础价格 + Min Margin",如果高于基础价格 + Max Margin, 则取值"基础价格 + Max Margin"。 基础价格(Base Price),OpenERP 可以选择多种基础价格: Product Form 上指定的标准销售价(Public Price) Product Form 上指定的标准成本价(采购价)(Cost Price) 其他价格表,如果选择其他价格表,If Other Pricelist 字段填入另一个价格表。 产品的 Supplier 中设定的价格。 以其他价格表为基础价格很有意思,例如,可以指定在采购价上加价 30%作为销售价,则无论采 购价的价格表如何变得,销售价总是加价 30%。又如,美元价价格表可以基于 RMB 价的价格表,除 以汇率得到。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 60 除非盖章,否则打印后为非控制文件 关于多币种价格,实际上,价格计算公式中的 Public Price 和 Cost Price 取自 Product Form 上的 哪个字段,是在 Price Type 中设置的,可以指定 Price Type 的币种,可以指定 Price Type 的值取自 Product 上的哪个字段。 5.4 财务信息配置 5.4.1 理解 OpenERP 的财务概念 在 OpenERP 系统中,系统会自动生成 90%以上的会计凭证,包括采购、销售、退货、报销、工 资、收付款、入库、出库、盘盈、盘亏等业务操作时候,系统都会自动做相应业务的会计核算,生成 对应会计凭证。 OpenERP 的财务模块比较复杂,要配置的参数比较多,下面简单介绍一些重要参数: 1) 会计分期(Periods):这个配置比较简单,中国的话,按自然年,每个月一个分期,十二个分 期。 2) 分类账(Journal):前面介绍过了,系统至少要配置销售归类帐、采购归类账、现金归类账。 3) 会计科目(Account):根据财务部的规定,一级科目大概有七、八十个,再加上公司自己的二 级、三级等科目,设置到系统中。 4) 税种(Taxes):当你设置好了 Taxes,OE 会用设置好的税种计算方法,自动在采购、销售等业 务生成的会计分录中增加“增值税”等税务记账条目。 5) 应税设定(Fiscal Position):通常,在产品信息中设定销售、采购该产品应缴纳的税种。之后, 在销售订单、采购订单中,系统会自动采用产品上设定的税种计税。但是,有时候,同一产品, 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 61 除非盖章,否则打印后为非控制文件 针对不同类型客户,其计税方式不同。例如,某产品内销时要计消费税,但外销时不计消费税。 那么,对于外销客户,应该采用不同于产品上设定的计税方法计税。Fiscal Position 就是处理这 种情况的。 6) 付款条件(Payment Term):当你设置好了付款条件,OE 会按销售订单上选择的付款条件, 及时提醒财务人员注意收款/付款。在付款条件中,可以设置什么时间、收/付多少,或收/付百分 之多少。 此外,在业务伙伴和产品上还要设置几个和财务科目相关的属性,这些属性告诉系统如何自动生 成相关会计科目。 业务伙伴相关属性设置:  Account Receivable:和客户发生的销售业务记账凭证中,应收账款对应的会计科目,通常是 “1014 应收账款”。销售业务中,系统会根据这里的设置自动生成会计分录。  Account Payable:和业务伙伴发生的采购业务记账凭证中,应付账款对应的会计科目,通常是 “2011 应付账款”。  Fiscal Position:应税设定。当指定客户的应税设定后,系统会根据应税设定中指定的替换规则将 产品中设定的税种换成别的税种计算税额。应税设定在财务模块中设置。  Payment Term:付款条件,如 30 日内付全款,或者 10 日内付 30%,20 日内再付 30%,余款 2 月内付清。当设置好付款方式后,如该客户未按时付款,系统会自动报警。付款条件在财务模块 中设置。  Total Receivable:该业务伙伴的应收账款总额,这个是系统自动显示,不可修改。  Total Payable:该业务伙伴的应付账款的总额,这个是系统自动显示,不可修改。 产品相关属性设置:  Income Account: 产品收入科目,产品销售业务的会计分录的贷方,通常是“6001 主营业务收 入”。借方是应收账款。  Expense Account: 产品成本科目,产品采购业务的会计分录的借方。对于商业流通企业,通常是 “1042 在途物资”。贷方是应付账款。  Stock Output Account: 产品出库科目,产品出库时会计分录的借方,贷方是库存管理中库位设置 时指定的科目。对于商业流通企业,通常是“6015 主营业务成本”,贷方通常是“1036 库存商 品”。  Stock Input Account: 产品入库科目,产品入库时会计分录的贷方,借方是库存管理中库位设置时 指定的科目。对于商业流通企业,通常是“1042 在途物资”,借方通常是“1036 库存商品”。  Sale Taxes: 产品销售时的税种。销售订单默认采用此处的税种计算税额。税种在财务模块中设 置。  Purchase Taxes: 产品采购时的税种。采购订单默认采用此处的税种计算税额。税种在财务模块 中设置。 基于会计凭证,系统支持各种财务报表,包括科目余额表、总账、分类账、资产负债表、利润表、 账龄表等等各种财务报表。 5.4.2 会计年度设置 菜单 Accounting -> Configuration -> Finance Accounting -> Periods -> Fiscal Year 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 62 除非盖章,否则打印后为非控制文件 5.4.3 会计科目表设置 设置会计科目之前,先要设置科目类型(Account Type)。OpenERP 的科目类型,顾名思义, 就是会计科目的类别。科目类型设置菜单是:Configuration  Financial Accounting  Financial Accounts  Account Types ,下图是科目类型定义画面。  Acc.Type Name: 科目类型名,任意文字。  Code: 科目类型编码,任意文字。  Deferral Method: 递延方法。本类型会计科目从本期结转至下期时的结转方法。有 None(不结 转)、Balance(余额结转)、Detail(原样抄至下期)、Unreconciled(未核销)。系统会根据 设置的结转方法,自动将科目结转至下期。如果选择 None,则要自己手工填写结转分录,结转 科目。Unreconciled 主要是指应税账款、应付账款,未核销的应收、应付账款科目应该结转至下 期。  P&L / BS Category: 定义资产类、损益类科目,影响财务报表的资产负债表、损益表的科目显示。 会计科目设置。会计科目设置菜单是:Configuration  Financial Accounting  Financial Accounts  List of Accounts 。  Parent: 上级科目。  Account Type: 科目类型,即前文所述中设置的科目类型。  Internal Type: 科目内部类型,有 Receivable(应收)、Payable(应付)、View(视图)、 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 63 除非盖章,否则打印后为非控制文件 Consilidation(联合)、Others(其它)、Closed(已关闭)几个类型。应收账款、应付账款通 常是 Receivable、Payable 类型。View 类型通常用于上级科目,即有下级科目的科目其类型设为 View。View 类型的科目不可用于记账,只可用于汇总。  Reconcile: 可核销,通常只有应收、应付科目才勾选。勾选了的科目,系统允许通过转帐或付现 进行核销。  Display History: 勾选的话,系统打印总帐时,会打印科目的明细记录,而不仅仅只打印科目汇 总值。  Default Taxes: 附加于科目上的税种。  Consolidated Children: 和 Consilidation(联合)类型使用。不是很清楚其用法。 5.4.4 分类账(Journal)及税种设置 分类账设置菜单是:Configuration  Financial Accounting  Financial Journals  Type: 分类账类型,有 Sale(销售)、Purchase(采购)、Cash(现金)、Gerneral(通用)、 Situation(状况)五个选项。当确认销售凭证,系统自动生成销售分录时,系统会自动查找 “Sale”类型的分类账,然后生成销售分录。如果系统找不到销售分类账,则此时的处理会报错。 因此,系统至少要设置一个销售分类账。同理,系统至少要设置一个采购分类账(用于系统自动 生成采购分录)和现金分类账(用于系统自动生成收、付款分录)。如果不使用系统的自动生成 分录的功能,而是完全手工录入分录,则不需要设置上述三个分类账。  View: 分类账显示视图。该视图定义记账凭证录入界面上应显示的分录字段及显示顺序。可以自 定义视图,参见后文“分类账视图定义画面”。  Entry Sequence: 该分类账的记账凭证的凭证号序列生成器。即每当录入新分录时,系统调用该 序列生成器生成下一个凭证号。由于中国会计要求一个月内的所有凭证都按顺序编号,因此,为 了保证同一序号系列,最好所有分类账都用同一个 Entry Sequence。Entry Sequence 在“管理 员”菜单下配置。  Invoice Sequence: 凭证号用的序列生成器。当分类账用于给凭证(而不是分录)分类时,要求 设置该序列生成器。  Default Debit Account: 默认借方科目。当在该分类账上输入分录时,如果已经输入了“贷方”, 系统自动使用这里设置的科目生成“借方”行。本设置主要是辅助分录输入。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 64 除非盖章,否则打印后为非控制文件  Default Credit Account: 默认贷方科目。当在该分类账上输入分录时,如果已经输入了“借方”, 系统自动使用这里设置的科目生成“贷方”行。本设置主要是辅助分录输入。  Entry Controls: 设置该分类账允许使用和限制使用的会计科目。这主要用于减少分录输入错误。 分类账视图定义画面: 税种设置菜单:Financial Management --> Configuration --> Financial Accounting --> Taxes --> Taxes。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 65 除非盖章,否则打印后为非控制文件  Tax Name : a unique name required for this tax (such as 12% Sales VAT ),  Company : a required link to a company associated with the tax, such as the Main Company,  Tax Group : VAT or Other , used to determine which taxes on products can be substituted by taxes on partners,  Tax Type : a required field directing how to calculate the tax: Percent , ``Fixed`` , None or Python Code , (the latter is found in the Compute Code field in the Special Computation tab),  Applicable Type : a required field that indicates whether the base amount should be used unchanged (when the value is True ) or whether it should be processed by Python Code in the Applicable Code field in the Special Computation tab when the value is Code ),  Amount : a required field whose meaning depends on the Tax Type, being a multiplier on the base amount when the Tax Type is Percent , and a fixed amount added to the base amount when the Tax Type is Fixed ,  Include in base amount : when checked, the tax is added to the base amount and not shown separately,  Domain : is only used in special developments, not in the core Open ERP system,  Invoice Tax Account :a General Account used to record invoiced tax amounts, which may be the same for several taxes or split so that one tax is allocated to one account,  Refund Tax Account : a General Account used to record invoiced tax refunds, which may be the same as the Invoice Tax Account or, in some tax jurisdictions, must be separated,  Tax on Children : when checked, the tax calculation is applied to the output from other tax calculations specified in the Childs Tax Account field (so you can have taxes on taxes), otherwise the calculation is applied to the base amount on the transaction,  Tax included in Price : when checked, the total value shown includes this tax,  Tax Application : selects whether the tax is applicable to Sale, Purchase or All transactions,  Child Tax Accounts : other tax accounts that can be used to supply the figure for taxation。 You can use child taxes when you have a complex tax situation that you want to hide your end users from. For example, you might define a motor mileage expenses product with a composite tax made up of two child taxes – a non-reclaimable private element and a reclaimable business element (which is the case in some European countries).When your staff come to claim motor mileage, they do not need to know about this taxation, but the accounting impact of their claim 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 66 除非盖章,否则打印后为非控制文件 will be automatically managed in Open ERP. The fields above apply the taxes that you specify and record them in the general accounts but don’t provide you with the documentation that your tax authorities might need. For this use the Tax Declaration tab to define which Tax Cases should be used for this tax:  Invoices/Base Code : tax case to record the invoiced amount that the tax is based on,  Invoices/Tax Code : tax case to record the invoiced tax amount  Credit Notes/Refund Base Code : tax case to record the refund invoice amount that the tax is based on,  Credit Notes/Refund Tax Code : tax case to record the refund invoice tax amount. 5.5 库存信息配置 5.5.1 理解 OpenERP 的库存管理 首先,OpenERP 是通过记录产品在库存间的移动来记录库存数量的。OpenERP 的数据库中没 有库存数量的字段,它的库存数量是实时计算得来的。OE 的库存管理不记录库存数量,它记录的是 库存移动,记录在 stock_move 表中。例如采购进货时,入库单上的每一条进货明细对应 stock_move 的一条记录,记录该货物移动的源库位、目标库位,数量,移动日期,移动状态(已发生 or 尚未发 生)。计算产品库存时,汇总该产品的 stock_move,入库减去出库的 Move,即得该产品的总库存。 如果只要计算某库位的产品库存,汇总目标库位是该库位的 move 数量,减去源库位是该库位的数量, 即得库存。或许有人要问,采购入库时,是从供应商处提取货物,记入我方仓库,库存移动的源库位 在哪?是的,OpenERP 的库存管理中,为了解决此类问题,设置了若干虚拟库位,分别对应 Supplier、Customer、Production 等。采购入库时,从供应商的虚拟库位 Supplier Location 移动到本 公司库位,销售出库时,从本公司库位移动到客户的虚拟库位 Customer Location。生产原料出库时, 从公司库位到虚拟库位 Production Location,车间成品入库时,从 Production Location 移动到公司库 位。甚至库存盘盈盘亏时,系统记录的是公司库位到虚拟库位 Inventory loss Loction 的库存移动。 在业务伙伴的 Stock Properties 中,可以为每一业务伙伴设置 Supplier Location 和 Customer Location。Supplier Location、Customer Location 可以是真实的库位,也可以是为了记录库存移动而 虚设的库位。在产品的 Counter-Part Locations Properties 中,可以为每一产品设置 Production Location 和 Inventory loss Loction。同样的,Production Location、Inventory loss Loction 可以是真 实的,也可以是虚设的。例如,可以将每个生产车间当成一个生产库位进行设置。 其次,关于虚拟库存。虚拟库存在 OpenERP 中叫 virtual stock, futurestock,故名思议,是将来 库存,不是现在的库存(现在的库存叫 real stock)。虚拟库存的概念是,将要进货的数量减去将要 出货的数量,加上现存的数量,即得虚拟库存。因为 2 天内和 10 天内将要进货、出货的数量不同, 所以虚拟库存的数量根据计算日期而异。虚拟库存的意义是,例如,某笔销售业务,客户要在 5 天后 提货 100 件。此时,销售员要检查库存是否足够,但他应该检查的是 5 天后的库存,而不是现在的库 存。所以,对实际业务而言,重要的是虚拟库存,而不是实际库存。 第三,Warehouse 和 Location。Warehouse 是仓库,对应公司真实存在的仓库。一个仓库通常 包含若干个库位(Location),如,合格品区、收货区、辅助区、不合格品区。在 OpenERP 中, Warehouse 包括收货区、出货区、存货区三个库位。当然,简单情况,可以将三个区设成同一个库位。 Location 是库位,库位可以真实存在,也可以是虚拟的。库位下面还可以包括若干子库位,如下图所 示。库存计算、库存移动都是针对库位的,不是针对仓库的。所以,库位是 OpenERP 库存管理的核 心概念。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 67 除非盖章,否则打印后为非控制文件 库位类型:  供应商库位(Supplier Location): 用于从供应商处收货时的库存移动的源库位,是一种虚拟库 位。  视图库位(View): 库位树状结构的中间节点,用于组织库位树状结构。该种视图不可在库存移 动中使用,但可用于库存统计,即统计其下面的各个库位的总库存。  内部库位(Internal Location): 仓库中实际存放货物的库位,即库区。  客户库位(Customer Location): 用于供货给客户时的库存移动的目标库位,是一种虚拟库位。  盘点库位(Inventory): 用于盘亏时的目标库位,或者盘盈时的源库位。注意,新上 OE 系统时 候也是从该库位中“移动”产品至各库位,以建立期初库存。  补货库位(Procurement): 产品补货单(Procurement Order,这个概念很重要,后面再讲)引 起的库存移动的“临时”源库位或目标库位。当系统初次生成补货单时候,系统不能确定补货的 来源(不确定是通过购买还是通过生产补货)。只有当系统运行完补货调度计划(Procurement Scheduler)后,才知道补货来源。默认情况下,系统每天运行一次补货调度计划,当然,你可以 在任何时候手动执行补货调度计划。补货库位用于初次生成的补货单中的库存移动。每当运行完 补货调度计划后,该库位库存数量应为零。  生产库位(Production): 生产时候,生产领料或成品入库时候的目标库位或源库位,是一种虚 拟库位。  多公司中间库位(Transit Location for Inter-Companies Transfers): 多公司时候,用于库存 移动时候的中间库位。 第四,库位链。OpenERP 中,可以设置库位链来跟踪货物的移动顺序。例如,假如某仓库的入 库程序是,收货区  验货区  存货库区。那么,可以设置库位链:收货区库位  验货区库位  存 货库区库位,当收货人确认后,系统自动增加收货区到验货区的库存移动,验货人确认后,系统自动 增加验货区到存货库区的库存移动。也即是,设置好库位链后,货物可以手动或者自动在库位链间移 动。 库位链中,从前一库位到下一库位的移动,有三种移动方式:  手动转移(Manual Operation):系统自动生成一张到下一库位的移动单,要求操作员确认后才 实际移动。  自动转移(Automatic Move):系统自动生成一张到下一库位的移动单,不需要操作员确认, 直接移动。此时通常还会指定库链提前时间(Chaining Lead Time),该时间表示,货物进入库 位后,等待该时间,再进入下一库位。这个概念可以用于建模物流路径结点及其时间。  自动跳移(Automatic No Step Added):系统不生成到下一库位的移动单,而是直接修改原库 存移动的目标库位为下一库位。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 68 除非盖章,否则打印后为非控制文件 5.5.2 库位和仓库设置 库位设置,菜单 Stock Management  Configuration Warehouse Management  Locations,画面 如下。  Location Type: 库位类别,可选类别有:(supplier,Supplier Location) ,(view,View) , (internal,Internal Location) ,(customer,Customer Location) ,(inventory,Inventory) , (procurement,Procurement),(production,Production)。Supplier Location、Customer Location 分别对应采购入库的源库位、销售出库的目标库位,可用于业务伙伴的 Stock Properties 的设置。 View 通常是虚拟库位,用于攘括子库位。Internal Location 通常是真实的存放货物的库位,和我 们一般理解的库区的概念最接近。Inventory 是盘盈盘亏的库位,库存盘点时,盘盈的话,相当于 从 Inventory Location 移动到公司库位,盘亏的话相当于从公司库位移动到 Inventory Location。 Production 通常对应到生产车间的在产库存。Procurement 用于产品设置中的 Counter-Part Locations Properties 的 Procurement 库位的设置,具体含义尚不太清楚。  Accounting Information: 入库、出库时的会计科目。产品出库时会计分录的贷方,产品入库时 会计分录的借方。对于商业流通企业,通常是“1036 库存商品”。  Parent Location: 父库位。  Location Address: 库位地址,真实库位的话,可以设置库位地址。  Icon: 库位显示用图标,没啥含义。  Chained Location Type: 库位链类型,可选项有:(none,None),(customer,Customer) , (fixed,Fixed Location)。None 表示没有库位链,Fixed 表示本库位链接的下一库位是 Chained Location If Fixed 所设置的库位,Customer 表示本库位链接的下一库位是出入库单上的业务伙伴 的“Customer Location”。  Chained Location If Fixed: 本库位的库位链的下一库位。  Automatic Move: 是否自动移动到库位链的下一库位,可选值有:('auto', 'Automatic Move'), ('manual', 'Manual Operation'), ('transparent', 'Automatic No Step Added')。Automatic Move,系 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 69 除非盖章,否则打印后为非控制文件 统自动创建一条本库位到下一库位的库存移动记录。Manual Operation,要求手工确认后,系统 才会创建库位链间的库存移动记录。Automatic No Step Added,自动沿库位链移动到最终库位, 不生成中间各库位间移动的库存移动记录。  Chained Delay (days): 移动到下一库位时,延迟天数。  Localisation: 库位所处地理位置坐标。可以用于计算本库位到客户所在地的距离,从而为客户选 择最佳出货仓库。 仓库设置,菜单 Stock Management  Configuration  Warehouse Managemenet -> Warehouse, 画面如下。 5.5.3 设置最小库存规则 最小库存规则,也叫订货点,设置菜单 Stock Management  Automatic Procurements  Minimum Stock Rules,画面如下。  Name: 订货点(OP,Order Point)名称。  Location: 本订货点适用库位。  Product: 本订货点适用产品。比较麻烦的是,OpenERP 只能逐个产品设置订货点,不能批量设 置。  Min Quantity: 当库存低于此数量时,启动自动订货流程。系统每天检查库存,如果低于此值, 系统自动生成采购申请。  Max Quantity: 自动补货数量。当库存低于最小库存时,系统自动补货到此值。  Qty Multiple: 自动补货时,采购数量调整到此值的倍数。例如,根据 Max Quantity 计算得到补 货数量为 13,Qty Multiple 的值为 5,则系统会自动调整补货数量为 15(Qty Multiple 的倍数)。  Purchase Order: 当自动生成了采购订单时,此处记录当前补货的订单号。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 70 除非盖章,否则打印后为非控制文件 5.5.4 库存移动(stock_move) 菜单 Stock Management  Traceability  Stock Moves 可以查看库存移动记录。每条库存移动记录 表示一个产品从源库位到目标库位的一次移动。  Source Location:本库存移动的源库位。  Dest. Location:本库存移动的目标库位。  Product:本库存移动的产品。  Date:本库存移动计划的移动时间,如果移动已经完成,记录实际移动实际。  Packing List:本库存移动所属的装箱单。  Production Lot:生产批号,通常是入库或出库时填写,记录本库存移动的产品的生产批号。  Tracking Lot:跟踪批号,通常是入库或出库时填写,跟踪本库存移动的产品的追溯批号。  Splite in production lots:如果本次库存移动的产品含有多个批次,则需要根据批次裂开成多条 移动记录。  Status : 可 能 的 状 态 有 , ('draft', 'Draft'), ('waiting', 'Waiting'), ('confirmed', 'Confirmed'), ('assigned', 'Available'), ('done', 'Done'), ('cancel', 'Canceled')。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 71 除非盖章,否则打印后为非控制文件 5.5.5 出入库单(Picking List) 在 OpenERP 中,出库单、入库单、库存调拨单,内部实现都是用 Packing List 对象,对应的数 据表是 stock_picking。一个 Packing List 包含若干条库存移动记录(stock_move)。菜单 Stock Management  Traceability  Low Level  Packing  Partner:本装箱单的业务伙伴,如果是入库单,通常是供应商,如果是出库单,通常是客户。  Shipping Type : 可 能 的 值 有 , ('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal'), ('delivery', 'Delivery')。对应着出库单、入库单、库间调拨单、发运单。  Reference:装箱单名称(编号)。  Date Order:装箱单生成时间。  Planned Date:计划时间,即库存移动时间。  Moves:库存移动明细。  Split move lines in two:将本装箱单裂开成多张装箱单。  Status:可能的状态有,('draft', 'Draft'), ('auto', 'Waiting'), ('confirmed', 'Confirmed'), ('assigned', 'Available'), ('done', 'Done'), ('cancel', 'Canceled')。  Validate:确认装箱单,这会使得装箱单的状态由'Available' 变成’Done’。  Create invoice:画面右边的 Actions,用于生成本装箱单对应的财务票据。  Return packing:画面右边的 Actions,用于退货,当本装箱单上的物品不合格,需要退货时, 适用此功能。 5.5.6 库存盘点 菜单 Stock Management  Periodical Inventory 用于库存盘点。OpenERP 的库存盘点,内部实 现是,每一个被盘点的产品,都生成一条库存移动记录。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 72 除非盖章,否则打印后为非控制文件 Stock Inventory Lines:盘点单明细。 Fill Inventory:右边的 Action 功能,将选定库位的产品及库存数量,全部列出显示到盘点单上。 Set Stock to 0:右边的 Action 功能,和 Fill Inventory 功能一样,不同的是,库存数量全清零。 Confirm Inventory:使得盘点结果生效,这会影响库存数量,并将自动生成盘盈盘亏的会计分录。 5.5.7 产品补货(Procurement) 销售缺货时需要及时“补货”,这个补货过程在 OE 里叫产品补货(Procurement)。OE 的补货, 是通过手动或自动生成补货单(Procurement Order)来实现。有多种情况会引发补货:  仓管员发现某产品库存太低,他可以手动生成一张补货单(Procurement Order)。在产品画面, 右边有个“Make Procurement”链接,当查看库存时发现产品库存太低,可以点击该链接手工填 写补货单。  按库存生产(Make to Stock)的产品,当该产品库存低于最低库存(minimum stock rules)时, 系统会自动生成补货单。系统有一个批处理 Job,该 Job 会定期执行(默认为一天一次),该 Job 根据设定的最低库存规则(minimum stock rules),如果库存不够时,自动生成补货单。  按订单生产(Make to Order)的产品,确认销售订单时候,系统会自动生成补货单。  按库存生产(Make to Stock)的产品,根据主生产计划(master production schedule)生成补 货单。 随着补货单的执行,系统会产生一系列的动作。如自动生成采购单(Purchase Order),自动生 成制造单(Manufacturing Order),自动生成任务(Task)。具体采取什么动作,取决于产品 (Product)的供应方法(Supply Method)、补货方法(Procurement Method)、产品类型 (Product Type)三个属性的设置。 OE 支持两种产品补货方法:按库存生产(Make to Stock)、按订单生产(Make to Order)。  按库存生产(Make to Stock):表示从仓库取货供给客户的产品,如分销商的情况,或者季节性 产品。  按订单生产(Make to Order):表示有销售订单时,根据订单去采购或生产的产品,该种产品不 会入库。 OE 支持两种产品供应方法:生产(Produce)、购买(Buy)。  生产(Produce): 表示该产品通过自己生产来供应,或者该服务是通过内部资源来提供。  购买(Buy): 表示该产品或服务通过购买来供应。 OE 支持三种产品类型:可库存品(Stockable)、消耗品(Cosumable)、服务(Service)  可库存品(Stockable):需要计量其库存数量的物资,通常的有形产品都是该类型。  消耗品(Cosumable):不需要计量其库存数量的物资,通常是低值易耗品,如小螺钉等。  服务(Service):非有形物,OE 中将服务也看做产品。如咨询服务、软件开发服务。 对于可库存产品,补货单(Procurement Order)的后续动作: 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 73 除非盖章,否则打印后为非控制文件 补货方法 | 供应方法(Produce) | 供应方法(Buy) MTS | 等待 | 等待 MTO | 自动生成生产单 | 自动生成采购单 对于服务产品,补货单(Procurement Order)的后续动作: 补货方法 | 供应方法(Produce) | 供应方法(Buy) MTS | - | - MTO | 自动生成项目任务 | 自动生成服务外包合同 下面举个复杂点的例子说明 OE 的补货(Procurement)过程: 1) 销售出某 MTO 的产品 A 2) 销售单(SO:Sale Order)确认时候,系统自动生成产品 A 的补货单(PO:Procurement Order) 3) 该 PO 导致系统生成产品 A 的制造单(MO:Manufacturing Order) 4) 随着该 MO 的执行,系统会根据 BOM 计算产品零部件的补货单 5) 零部件补货单会导致系统生成库间移动单(INT:Internal Moves,相当于领料单) 6) 如果零部件是 MTO 的产品,该 INT 又会触发新的 PO 及 MO,如果该零部件是 MTS 的,且库存 不足领料数量,则系统将处于待料状态(Waiting) 7) 待料状态下,等待一天后,最小库存规则会自动引发该零部件的补货单,该补货单又会产生采购 单(PO:Purchase Order) 8) 采购员确认系统生成的采购单,且采购零部件入库后,待料状态结束,生产可以继续进行。 从上述补货过程可以看出,有多种原因会导致补货过程中断(Procurement Exception),补货单 会记录导致异常的原因。设置错误是导致自动补货异常的最常见原因。  产品未定义 BOM(No bill of materials defined for production): 这种情况,需要定义 BOM,或者将 产品的供应方法改成购买(Buy)。  找不到采购单的供应商(No supplier available for a purchase): 这中情况是因为没有定义产品的 供应商,需要在 Product 界面的 Supplier 页定义产品默认供应商。  库存不足(No quantity available in stock):这种情况需要定义最小库存规则,以使系统能够自动 补货,或者手工录入补货单补足库存。 5.5.8 库存价值(stock valuation) 库存价值计算比较复杂,会计通常是根据入库单、出库单制作会计凭证,核算库存价值。在 OpenERP 中,也可以配置系统,使得入库、出库时候,系统自动生成对应的会计凭证。系统自动生 成入库、出库会计凭证的原理是: a) 从非 Internal 的 Location 移动到 Internal 的 Location,系统自动生成凭证; b) 不同公司的 Location 间移动时候,不管是不是 Internal 的 Location,总是生成凭证; c) 生成凭证时候,入库的话,借产品分类上设置的会计科目 Stock Valuation Account,贷源 Location 的 Stock Valuation Account (Outgoing)。如果 Location 上没有设置会计科目,则贷 Product 上的科目设置 Stock Output Account,如果 Product 上也没有设置,则贷产品分类上的科 目设置 Stock Output Account 。反之,出库的话,贷产品分类上设置的会计科目 Stock Valuation Account,借源 Location 的 Stock Valuation Account (Incoming)。如果 Location 上没有设置会计 科目,则借 Product 上的科目设置 Stock Input Account,如果 Product 上也没有设置,则借产品 分类上的科目设置 Stock Input Account 。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 74 除非盖章,否则打印后为非控制文件 6 OPENERP 高级配置 6.1 系统修改 当系统不完全符合我们的功能期望的时候,需要调整系统功能。一些小修小改,例如增加或删除 某些界面字段,系统提供了相应的系统配置功能。一些大的功能修改,例如新增功能模块,业务流程 的大调整,建议寻求专业人士定制开发。 6.1.1 浅说 OpenERP 的技术原理 尽管 OpenERP 形形色色的功能很多,但所有功能都有一个不变的基本结构:菜单-数据表-视图。 ERP 的功能构成,可以看成是各种企业业务对象的集合。常见的业务对象有:产品、客户、订单等等。 我们操作 ERP 的时候,基本上总是,找到相关菜单,点击,系统显示业务对象一览表,点击业务对 象,系统显示业务对象详细表单,编辑修改业务对象。以产品的操作为例,其示意图如下: 这种结构在软件技术上叫 MVC(Model-View-Control),是使用得相当普遍的一种软件设计技术。 用户点击菜单时候,1)系统找到该菜单对应的数据表,从数据表中读出数据;2)系统找到该菜单对 应的显示界面(列表视图),在视图上显示数据列表;3)用户点击某一条数据,系统找到对应的表 单视图,显示数据详细表单。 当我们需要修改系统的某些功能时候,通常要修改数据表、视图、菜单三个构成部分。例如,如 果要在产品上增加“品牌”字段,需要 1)在产品数据表上增加“品牌”字段,2)在产品视图上增加 “品牌”字段的显示。具体的操作方法后面再讲。 6.1.2 字段修改 对字段的修改主要有:增加字段、隐藏字段、修改字段的名称、将字段设为必填字段、将字段设 为只填字段、将字段设为查询条件、筛选字段的值的范围。 1) 增加字段。 菜单 列表视图 数据表 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 75 除非盖章,否则打印后为非控制文件 字段的添加需要先在数据库中添加,然后再在视图(界面)中添加。下面以在“产品”表单上增 加字段“品牌”为例说明。 在数据库中添加字段的路径为:设置自定义数据库结构模型。找到需要添加字段的对象, 然后新建字段。下面以在产品对象中添加一个字段“品牌”为例。 搜索到对象“产品”。点击“编辑”,打开并开始为此“对象”添加字段。 点击“新建”,添加字段。 为字段定义名称、品牌,选择字段类型。确认无误后,点击“保存并关闭”。 注:直接在系统中新建的字段名称必须带上前缀 x_. 定义字段是否为必填、只读或是否将字段设为可选条件,既可在此处定义也可在视图中定义。 点击“保存”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 76 除非盖章,否则打印后为非控制文件 在视图中添加字段“品牌”。 路径为:设置自定义视图。搜索到对象“产品”。点击“编辑”,打开并开始为此“对象” 添加字段。 在“name 名称”下添加字段“x_brand 品牌”,输入代码。点击“保 存”。 查看产品,多了字段“品牌”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 77 除非盖章,否则打印后为非控制文件 注:在视图中修改字段时,需要先找到该字段所属的对象,然后在该对象的视图中修改字段。那 么,在不知道对象名称的情况下,可以用以下方法容易的找到对象所在的视图。 还是以“产品”对象为例。 激活开发者模式。点击“关于”按钮,在弹出的界面中点击“激活开发者模式”。 激活后,界面中会多出一个下拉框,在下拉框中选择“编辑 Form 视图”。 弹出的界面就是产品这个对象的视图,就可以在此视图中编辑字段了。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 78 除非盖章,否则打印后为非控制文件 2) 修改字段的名称。 修改字段的名称,只需要在视图中修改,不需要先在数据库中修改。修改字段在系统中显示的名 称,需要在视图中运用以下代码 string=””。如,要将新建的字段名称由“品牌”改为“BRAND”。 在视图界面中将代码改为 字段 x_brand 的名称由“品牌”改为了“BRAND”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 79 除非盖章,否则打印后为非控制文件 3) 将字段设为必填字段。 既可在数据库中修改(参考“1)增加字段”),也可在视图中修改。在视图中修改,需要在视 图中运用以下代码 required=”1”。如,将字段“BRAND”设为必输字段。 在视图界面中将代码改为 修改后,“BRAND”输入框变为蓝色,说明字段变为了必输字段。 4) 将字段设为只读字段。 既可在数据库中修改(参考“1)增加字段”),也可在视图中修改。在视图中修改,需要在视 图中运用以下代码 required=”1”。如,将字段“BRAND”设为只读字段。 在视图界面中将代码改为 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 80 除非盖章,否则打印后为非控制文件 修改后,“BRAND”输入框变为灰色,说明字段变为了只读字段。 5) 将字段设为查询条件。 既可在数据库中修改(参考“1)增加字段”),也可在视图中修改。在视图中修改,需要在视 图中运用以下代码 select=”1”。如,将字段“BRAND”设为查询条件。 在搜索类型的视图界面中将代码改为 注:视图类型为“搜索”而非之前的“表单”。 修改后,看到搜索条件中多了“品牌”这个搜索条件。 6) 隐藏字段。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 81 除非盖章,否则打印后为非控制文件 在视图中直接修改。在视图中修改,需要在视图中运用以下代码 invisible=”1”。如,将字段 “BRAND”隐藏。 在视图界面中将代码改为 修改后,字段“BRAND”被隐藏了。 7) 筛选字段的值的范围。 在视图中修改,需要在视图中运用以下代码 domain="[('字段','判断条件',值)]"。大家知道,在 OE 中客户和供应商的对象为同一个 res.partner,那么在录入 SO 和 PO 时怎么保证录入 SO 时选择的 partner 只有客户,而录入 PO 时选择的 partner 只有供应商?这就要考 domain 来实现。如,将在录 入 PO 时,选择供应商时下拉框中只出来供应商而没有客户。 在视图界面中将代码改为 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 82 除非盖章,否则打印后为非控制文件 修改后,录入 PO 时,选择供应商时下拉框中只有供应商而没有客户。 6.1.3 菜单修改 对菜单的修改主要有:新建菜单、隐藏菜单、修改或翻译菜单的名称、修改菜单显示的位置。 1) 新建菜单。 新建菜单的路径为:设置自定义用户界面菜单项。 点击“新建”。 为新菜单定义名称、上级菜单和动作。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 83 除非盖章,否则打印后为非控制文件 修改后,看到“仓库”菜单下多了菜单“ABC 库存盘点”。 2) 修改菜单显示的位置。 只需修改菜单的上级菜单。如,将“ABC 库存盘点”放到菜单“盘点控制”下。 将上级菜单修改为“盘点控制”。 修改后,看到菜单“ABC 库存盘点”由仓库的子菜单变为了盘点控制的子菜单。 3) 隐藏菜单。 如,将菜单“ABC 库存盘点”隐藏。 在 page“组”中点击“添加”按钮,在弹出的界面中选择组“易用性/Technical Features”。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 84 除非盖章,否则打印后为非控制文件 修改后菜单“ABC 库存盘点”被隐藏了。 4) 修改或翻译菜单的名称。 找到要修改名称的菜单,点击“编辑”。 在弹出的界面中,在右边的文本框中输入想要修改成的名称。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 85 除非盖章,否则打印后为非控制文件 修改后,看到菜单“PURCHASES”改为了“采购”。 6.2 数据导入和导出 6.2.1 概述 OpenERP 的任何对象,或者说数据表,都可以导出成 CSV 格式,或者从 CSV 格式的数据文件 导入到系统中。如果是非常独立的对象或者说数据表,要导出它的数据到 CSV 或者导入 CSV 到数据 表,那是非常容易的,只要将数据库的 Table 数据“拷贝”出来或者“拷贝”进去就行了。例如系统 中的“国家(res_country)”表,数据表形式是: 导出成 CSV 文件形式是: 两者几乎一样。 .id code name 205 TD Chad 44 CL Chile 46 CN China 53 CX Christmas Island 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 86 除非盖章,否则打印后为非控制文件 但是,如果涉及到对象间的关系,则数据的导出导入就变得有点复杂了。例如,系统中的“省份 (res_country_state)”表,数据表形式是: 如果原样导出,则“国家(country_id)”列是一数字,它外键关联到“国家(res_country)”表的一 条记录。对人来说,这个数字的意思太难理解了。反之,如果导入数据到系统,准备 CSV 格式的省 份数据时候,国家列要如此填入数字,那就太麻烦了。 幸运的是,OpenERP 6.x 版本的数据导入功能做得比较人性化(5.x 版本的时候,确实一定程度 存在前述的麻烦)。例如省份表,导出的 CSV 文件形式如下: .id code name country_id 2 AK Alaska United States 1 AL Alabama United States 4 AR Arkansas United States 3 AZ Arizona United States “国家(country_id)”列系统自动将数字转换成了国家名称,可读性好多了。数据导入时候,也只要按 此格式准备好数据,系统会自动根据名称到“国家(res_country)”表查找相应记录的 id,填入“省 份(res_country_state)”表的“国家(country_id)”列。因此导入用数据的准备也容易多了。 上述国家和省份间的关系,从国家这边看,是一对多(one2many)关系,即一个国家有多个省份, 从省份这边看,是多对一(many2one)关系,即多个省份属于同一个国家。还有一种复杂关系是多对多 (many2many)关系,例如一个 Partner 可以有多个 Partner 分类,一个分类下面可以有多个 Partner, Partner 和 Partner 分类间是(many2many)关系。 多对一(many2one)数据的导入比较简单。例如前述的省份数据,导入步骤如下:1)先导入国家 (res_country)数据;2)导入省份数据,其中“国家(country_id)”列填入 1)中导入的国家名。省份 数据示例如下(CSV 格式): code,name,country_id 沪,上海市,China 浙,浙江省,China 粤,广东省,China 一对多(one2many)与多对多(many2many) 数据的导入。如下例导入业务伙伴的 CSV 数据。一个业 务伙伴有多个联系人(Contact),可以属于多个分类(Categories),有一个负责跟踪的销售(Salesman)。 因此,Partner 和 Contact 是一对多(one2many)关系,Partner 和 Categories 是多对多(many2many) 关系,Partner 和 Salesman 是多对一(many2one)关系。 Name Categories Contacts/Contact Name Salesman Black Advertising Silver,Gold George Black Administrator Jean Green Tiny sprl Fabien Pinckaers Administrator 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 87 除非盖章,否则打印后为非控制文件 表中业务伙伴(Partner)的导入数据,第一行是表头,表示导入哪些列。该行数据通常是,先从系 统导出 CSV 数据列,从导出的文件中即得表头名称。第二行表示导入业务伙伴“Black Advertising”,它属于两个分类“Silver”和“Gold”,有联系人“George Black”,专任销售 是“Administrator”。多对多的 Categories,要求分类数据对象“Silver,Gold”已经先行导入到 了系统中,导入数据表中该列用”,”隔开,填写多个。是一对多(one2many)的 Contact,填写在联系人 列“Contacts/Contact Name”。第三行,只有联系人列有值,表示,在业务伙伴“Black Advertising”中再导入一个联系人“Jean Green”。即该 Partner 有两个联系人。第四行表示导入 一个新的 Partner “Tiny sprl”。 当导入上述数据时候,系统会自动创建两个 Partner,业务伙伴“Black Advertising”自动关 联到分类“Silver,Gold”,并自动为该业务伙伴创建两个联系人“George Black”和“Jean Green”。 6.2.2 CSV 数据导入导出 在 OpenERP 6.x 版中,点击菜单:Sales -> Configuration -> Address Book -> Localisation -> Fed.States,进入省份表单。在 GTK Client 上,点击菜单“表单”下面的“导出数据”,出现下述画 面。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 88 除非盖章,否则打印后为非控制文件  可用字段:表示待导出对象的各列,从中选择需要导出的数据列。蓝色的字段表示,该字段不可 为空,数据导入时候必须导入该字段(如果该字段有默认值则可以不导入)。  Add Field Names:表示是否在导出数据中显示表头(即第一行是否显示列名)。  可兼容导入:表示导出的数据是否兼容于导入格式。通常勾上该选项,这样,在导出的数据基础 之上,修改增加数据之后,可用于导入新数据。  预定义的导出设置:此处可以保存“要导出哪些列”,这样下次再导出那些列时候,不用再一列 一列挑选了,直接调出来即可。  Database ID:该列每个业务对象都有,表示数据库中数据表的 id 字段,在 CSV 文件中显示的列 名是”.id”。如果需要批量修改数据库中现有数据,则导出现有数据的 Database ID 列,以及待修 改数据列。修改数据,再导入系统,则批量修改完毕。导入数据时候,如果不带 Database ID 列, 系统默认是新建一条数据记录。带上该列,系统查找对应记录,Update 该条记录。  ID:该列是数据导入时候填写的本条数据记录的标志 ID,用于引用本条记录,CSV 文件中显示 的列名是”id”。导入数据时候最好填入该列,这样,当修改数据文件,重新导入时候,系统会自动 根据该 id 判断新导入的数据是覆盖原有数据,还是新建一条数据。另外,带有该 id 也方便其它数 据引用本条数据。 系统导出的 CSV 数据是 UTF-8 编码的,如果直接用 Excel 打开,其中的中文会显示乱码。推荐 用 Openoffice 编辑,Openoffice 中可以选择字符编码,正确显示 UTF-8 文件。 6.3 权限设置 6.3.1 权限机制概述 OpenERP 权限的核心是权限组(res_groups)。对每个权限组,可以设置权限组的 Menus, Access Right,Record Rule。 Menus 表示,该权限组可以访问哪些菜单。如果指定某权限组可以访问某父菜单,那么,系统会 根据该权限组可访问的对象(Access Right 中定义)自动计算,哪些子菜单可以显示。计算规则是, 如果没有为该子菜单指定任何权限组,且该权限组对该子菜单关联的对象有至少读的权限,那么,系 统会自动显示该菜单。如果不希望系统自动显示某子菜单,只要把该子菜单加入系统自带的 “Useability / No One”权限组,该菜单就不会被显示了。“Useability / No One”通常用来隐藏某些 菜单,通常不会指定任何用户属于“Useability / No One”权限组。 Access Right 表示,该权限组可以访问哪些对象,以及拥有读、写、删、建中的哪个权限。如下 图中最后一行,表示,Employee 权限组对 Partner(res_partner)对象只有读权限。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 89 除非盖章,否则打印后为非控制文件 Record Rule 表示,该权限组可以访问对象中的哪些记录,以及拥有读、写、删、建中的哪个权 限。Access Right 指定的权限,是对该对象的数据表里的所有记录拥有该权限。Record Rule 指定, 只对该对象的数据表里的某些记录(通过定义过滤条件 Domain 指定)拥有某些(读、写、删、建) 权限。 如上图表示,Employee 权限组,对申购单(Purchase Requisition) 对象中,对本部门的,且处 于草稿状态的申购单,拥有创建、删除、更新的权限。对于非本部门的或者不是草稿状态的申购单, 由于不符合 Domain 条件,更新或删除时候,系统都会报错。 ['&',('department', '=', user.context_department_id.id),('state', '=', 'pr_draft')] 这个 Domain 条件表示,申购单的部门等于当前用户的部门,申购单的状态是草稿(pr_draft)。 系统的实际实现是,在数据库访问的 Update, Delete 等语句中,强行加上本处定义的 Domain 条件 (因此在系统内部,此处的 Domain 条件叫“Domain_Force”,哈哈)。 字段权限,还可以指定,某字段只能供某权限组访问。Access Right 和 Record Rule 表示,权限 组可以访问哪些对象,以及对象里的哪些记录。而字段权限指定,权限组能访问记录里的哪个字段。 如下例表示,只有 base.group_admin 权限组才可以读、写 name 字段。 'name': fields.char('Name', size=128, required=True, select=True, write=['base.group_admin'], read=['base.group_admin'] ), 又如下例在视图上指定,只有 group_product_variant 权限组才能看到产品的 variants(规格)字段。 工作流权限,在工作流的迁移(Transition)的定义中,可以指定哪个权限组可以触发本迁移,定 义语法是: 。 灵活组合上述权限设置,可以满足非常复杂的权限要求,如工作流的审批权限,菜单的访问权限, 记录的访问权限,字段的访问权限,等等。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 90 除非盖章,否则打印后为非控制文件 6.3.2 权限数据准备 权限相关的数据表有:权限组(res.group),对象访问控制(ir.model.access),记录访问规则 (ir.rule),菜单访问控制(ir.ui.menu)。 1) 权限组(res.group) 权限组比较简单,导入时候只要填写 id 和 权限组名称即可,如下例。 Id name account.group_account_user Accounting / Accountant account.group_account_invoice Accounting / Invoice 2) 对象访问控制(ir.model.access) 该表指定哪个权限组对哪个系统表拥有什么权限(读写建删),表结构如下例所示。  name: 本条记录的名称,任意字符串。  model/id: 系统表id,系统表id的格式是 module.model_table_name, 例如 account.model_account_account,表示account模块中的会计科目表account_account。 提示: b. 在OpenERP中,系统对象的名称和数据库中的表名是一样的,区别是,将对象名称中的点”.” 换成 下划线 “_” 即为数据表名,该名称可以在对象画面的右边点击Customized object 查得。 c. 此列名称也可以写成 model/name,这个表示,本列填入系统对象名,而不是 id。有时候写名称更 容易阅读,但如果有重名,用名称就不正确了,要用 id 精确指定。  group_id/id: 权限组 id。  perm_read: 是否有读权限。  perm_write: 是否有写权限。  perm_create: 是否有创建权限。  perm_unlink: 是否有删除权限。 3)记录访问规则(ir.rule)  id: 任意不重复的字符串。  name: 任意字符串。  model/id: 参照前文说明。  group_id/name: 参照前文说明。  domain_force: 访问过滤条件,过滤条件的写法参照前文说明。  perm_read: 是否在读记录的时候使用本条件。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 91 除非盖章,否则打印后为非控制文件  perm_write: 是否在写记录的时候使用本条件。  perm_create: 是否在创建记录的时候使用本条件。  perm_unlink: 是否在删除记录的时候使用本条件。 4) 菜单访问控制(ir.ui.menu) 指定哪个组对哪个菜单有访问权限,示例如下。  id: 系统菜单的id。  group_id/id: 权限组id。 提示: 系统菜单的id可以在Administration -> Customization -> UI -> Menu 查到。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 92 除非盖章,否则打印后为非控制文件 7 OPENERP 案例精选 7.1 民营机械厂:OPENERP 替换 U8 【摘要】本案例来自网络,原题为《不花钱自己上 ERP》。该用户以故事的形式记录了他们先是购买 了用友 U8,而后感觉不合适,转而借助 OpenERP 专业公司帮助,以不到 U8 四分之一的成本,成功 实施了 OpenERP,功能和适用性还远高于 U8。 我们是一家机械厂,地处长三角一个经济水平极高的城市,工厂是上世纪 90 年代初我父母创建 的。由于创办较早,我父亲又特别重视技术研究,获得多项省市国家级技术进步奖。因此尽管 2008 年以来,长三角、珠三角很多中小企业日子很难过,甚至关门倒闭,但我们厂效益还行,去年新建了 厂房,装修了办公楼。厂里有技术人员 50 多名,工人 200 多人,有两个机加工厂房和一个组装厂房。 言归正传,我大学毕业以后,在上海工作了几年,三年前被父亲叫进了厂里。先是给我父亲做助 理,去年年底,我挂名副总经理,掌管供应部。供应部包括采购、仓库和物流。我们厂是做成套生产 线的,销售不复杂,因为一年也就几十单,基本上都是客户找上门来,我父亲和几名技术骨干出面谈。 但我们的采购很复杂,各种物料有近万种。 刚开始掌管供应部时候,我们居然还没有一份完整的物料清单。每次都是生产部缺料,他们手写 一张单子过来,我们就按单采购。刚开始,我经常看不懂他们写的单子,一个原因是我还不熟悉某些 物料,还一个很大的原因是,生产部过来的单子太随意了。不过还好,我们采购部都是老员工,他们 和生产部的配合已经很熟了。 但是,没过多久,还是出了一件事情。有一批设备按合同规定快要交货了,可是还有几个关键部 件迟迟未到货。客户很生气,我父亲暴怒,召集生产部、供应部、技术部开会查明原因。生产部长先 发制人,他说他们很早就申请采购了,可是迟迟没到货。我刚接手,摸不清原因,只好先认错了。 回来我问采购,为什么该批部件迟迟不到货?采购说,这是进口件,采购周期至少三个月,他们 上个月初才申请采购,现在还不到 2 个月呢。我让采购找出生产部原始的申购单,一看,申购单上居 然没填写日期。我只好哑巴吃黄连了,没办法查明生产部到底什么时候提出申购的。 后来没过多久,又发生了一件扯皮事情。我们有一个关键部件本来是为一批即将出货的设备采购 的,可是有个售后服务的家伙,他有一个维修单,恰好要更换这个部件。他填了张领料单,领了该部 件就出去了。过了两天,生产要出货,急于要该部件,居然没有了! 这几件事情,让我感觉,我们的库存和采购管理必须严格起来,不能这么混乱。我把这个意思和 我爸讲了,他很支持。于是,我开始考虑上 ERP 软件。我很清楚,我们的 ERP 一期主要是采购和库 存,但将来肯定要扩展到生产。 说实话,ERP 我不太懂。我想,我们的要求并不复杂,我没有多想就考虑买用友 ERP 软件,因 为毕竟用友是国内排名第一的 ERP 软件嘛。国外的像 SAP、Oracle 什么的毕竟太贵,我们这种年营 业额 2-3 个亿的企业不可能考虑。我直接联系了我们市的用友分公司。 洽谈过程比较顺利,我买了他们的 U8。不过,他们的报价方式还是有点坑爹。我一开始说了我 的意图,我重点是要采购和仓库,售后服务、合同管理、销售也希望有。他们给我列了模块一览表, 他们的价格是按模块收费的。有些让人不解的是,他们模块分得贼细。例如库存管理模块,居然还不 包括存货核算和序列号管理。如果库存管理只管入库出库,库存核算都不能做,那还有什么意义呢? 本来就该一起买的东西,他还要分成几个模块,分别收钱,真有点坑爹!还有点不爽的是,付了十多 万,买了采购、库存、售后服务的一些模块,他们还只能供一个人使用,有加密狗限制!要多人使用, 还得付“人头费”,每个人头一万块。我算了算我们的人头,买了 5 个用户,模块加人头费,总共 10 万多。暂时没有买实施服务,我想,进销存很简单,自己应该能够搞定。 软件买回来了,用友工程师帮我安装之后,培训了半天就走了。接下来,我开始了漫长而辛苦的 物料整理工作。我们基础差,连一份完整的物料清单都没有。没做过这个工作的可能不信,有些物料, 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 93 除非盖章,否则打印后为非控制文件 我们居然连名称都没有。同样一个东西,今天向 A 供应商采购,它的名称叫 A,明天向 B 采购,它的 名称又叫 B。仓库管账的也搞不清楚,同样的东西,她记了 A、B 两个名称,两笔账。 带着供应部几个人,从仓库开始,按着软件的要求,一个一个整理,物料名称、编码、分类、规 格型号、库存数量、采购单价,等等,逐一核实登记。经过三个多月,整理了六千多个物料。我看物 料整理的差不多了,准备使用软件了。 使用之前,我让用友工程师再来了一天(其实严格来说只有半天,因为他早上出来,到我们厂已 经是中午了)。他教了我们怎么请购、采购、入库和领料出库,看上去都很好。 费了一番周折,终于让我们生产部开始电脑请购了。实际运行起来,却麻烦不断。首先是,我们 一台设备通常要采购的物料少的也要四五十种,一个合同通常有十几种设备,要采购的物料有几百种。 生产部一个很重要的期望是,他们希望能看到,一些关键物料,分别是为哪个合同,哪个设备采购的, 采购到货了没有,预计什么时候可以到货。也就是说,能从采购物料查到设备和合同号,也能从合同 或设备查出所有对应的采购物料。 我提出上述要求,用友磨叽了 2 个礼拜也没能给我理想的答复。后来他们终于来了个人,告诉我 怎么查询。这个查询办法,嘿嘿,说出来不怕您笑话。办法是,从 U8 查出每一个采购物料对应的设 备号和合同号,填入 Excel 表格。然后,利用 Excel 表格的过滤和排序功能,统计每个合同或设备的 采购物料。您知道查一个物料的设备号和合同号有多麻烦吗?我统计了一下,要点击 15 次鼠标,打 开 5 个画面,才能完成一个物料的查询,然后还得填写 Excel 表格。我说过了,我们一个合同,少说 也要采购两百个物料。尼玛的,脚趾头想想也知道,这个方法完全没有可操作性! 第二个问题,普通物料,我们请购、采购、入库、开票都问题不大。可是很快,我们碰到了新问 题。我们还有很多外协加工的情况,例如一批机加工件,我们厂做好了,还要送到外面去热处理,然 后再拉回来。我们以前都是和一般物料一样的,也是下采购订单给外协厂。上了 U8 后,外协采购做 不了。电话给用友分公司,答复是:“贵厂需要再购买我们的外协模块。” “好吧,外协模块多少钱?” “老客户,给你个折扣价,3 万。” 鉴于渐次出现的不愉快事情,我没有立即听他们的话,我想等等再说,如果都能用上去的话,再 买不迟。只好仍沿用手工方法做外协采购。 第三个问题是,实际用起来,速度可慢了,有时候打开一个画面差不多要一分钟。我就搞不懂了, 我们最多也就五个人用,服务器我也是完全按代理商当初建议我的标准购买的,怎么会这么慢呢?向 代理商抱怨了很久了,他们终于又来了一次,搞了半天,稍微快了一点了,可还是经常打开一个画面 要半分钟。 第四个问题,我喜欢用 iPad 和 MacBook。我提出来,能不能在我的 iPad 和 MacBook 上使用 U8? 用友说:“不行!要在 iPad 上使用,必须买 U9,U9 是跨平台的,U8 不跨平台。” “好吧,那升级到 U9 要多少钱?” “打点折扣,90 来万吧!” NND,弄个跨平台就要近 100 万,疯掉了吧?!后来还是我自己想了个办法,在我的 MacBook 上装了个虚拟机,虚拟 Windows,在虚拟机上再安装 U8 客户端。 第五个问题,我们的财务软件也是用友的,几年前买的。我问,我们的采购发票处理能不能和财 务软件连起来?NND,回答又是不出所料的“不行”!要和财务连接,必须购买 U8 的财务模块,以 前单独买的财务软件不能连接! 我突然想起了小时候听过的“小鬼缠身”的故事。被小鬼缠上了,天天问你要钱。没钱的话,真 是,什么也做不了! 我真的有点恼火了。10 多万买回来的东西,鸡毛蒜皮的事解决了几个,可关键问题一个都没解决, 还整天“小鬼缠身”样的,烦死了。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 94 除非盖章,否则打印后为非控制文件 接下来要上生产,按目前这种状况,我估计,至少得花 100 万。我们厂效益还行,规模也不算太 小,100 万要花也花得起。不过我更担心的是,100 万花下去,能解决我们的问题吗?至少从这个一 期的 10 多万来看,我的问题顶多解决了 50%,还有 50%更关键的问题呢! 我开始寻求其他途径。又联系了几个别的 ERP,稍微谈了谈,总感觉他们和用友代理商的套路差 不多,除了价格便宜点,报价方式、功能模块,都差不多。有了刚被蛇咬的经历,我有些谨慎了。我 想,国内的不行,看看国外的怎么样? 还真幸运,之前在上海工作时候的一位朋友,听了我的 ERP 故事后,哈哈大笑。 “这个鸟人,笑啥呢,我都烦恼几个月了!” “对不起,对不起,我也不懂 ERP,我在笑,我一直羡慕你天天‘美女缠身’,今天居然被‘小 鬼缠身’了,哈哈。” “不懂还笑,牛的话帮我解难啊!” “我不懂,不代表我就不能解决你的问题哦,哈哈。” “别卖关子了,快说!” “嗯,我不懂 ERP,不过,上海藏龙卧虎,找几个懂 ERP 的朋友还是很容易的。” “嗯,那你就快找啊,找过来我买单。我们镇上新开了家夜总会,荤的、素的,任你挑,包你们 喝好玩好。!” 那家伙,真是“男人”,一听夜总会就来劲了。一周以后,他告诉了我几个 ERP 软件,其中有 一个,比较特别,叫 OpenERP,是开源软件。我也不懂什么“开源软件”。不过,有趣的是,这个 OpenERP 不要钱,可以任意下载。 不要钱的东西能好到哪去呢,我一开始也没太在意。直到有一天,又一次被小鬼缠身了,心烦, 顺手就下了 OpenERP 来看看。这个 OpenERP 还真简单,下载下来,不到 20 分钟,居然就安装成 功了!这确实让我吃惊不小,想想那个 U8,用友的专业技术人员过来,弄了老半天才安装完毕呢。 我对着文档玩了玩。OpenERP 是个欧洲开发的 ERP 软件,文档全是英文的。嘿嘿,多亏了我老 爸从小把我送到了国际学校,这点英文看起来也不太费力。不过,文档是英文的,界面却支持中文, 真是没想到哦! 这个 OpenERP 直接用浏览器就能访问,我的 iPad,MacBook 都能直接用!靠,U8 那个 90 万 的跨平台版本,我一分钱不花,毫不费力就解决了! 对这个不要钱的 ERP 我有点兴趣了,接下来一个月,我试着把我们的一些数据录入系统里。采 购、入库、发票处理、生产领料,这几个很快就跑通了。我越来越对 U8 反感了,采购、入库、发票 处理、生产领料几个功能,在 U8 都是单独收钱的模块。翻翻用友合同,靠,这几个功能模块,他们 收了五六万呢,现在居然一分钱不花就能用了,坑爹啊 U8! 不过,还没玩通生产部申购、外协加工的采购。电话上海那个朋友:“哥们,上次你介绍的那个 OpenERP 好像不错啊,有懂的人吗,找过来有几个问题请教请教。” 还真是夜总会的刺激,周末朋友就拉了“老肖”过来。那个老肖,据我朋友介绍,是国内 OpenERP 的权威,OpenERP 的中文教材就是他写的。他还在上海开了家公司,嗯,等等,我翻翻 名片,叫“开源智造咨询有限公司”。我一直在纳闷,OpenERP 都免费下载,不要钱,老肖开那个 公司能赚钱吗?大千世界,真是无奇不有,免费的东西也能做成公司? 闲话不多说,老肖还真有两下子,他一听我的情况,马上给了我方法,还实际演示了一下。哈哈, 真妙,请购、外协加工都能解决,很符合我的要求。 靠!U8 要卖 3 万的“外协加工”模块,居然不花钱就 OK 了! 不过,还有一个问题,按合同或设备的采购物料及进度查询。想一想也觉得,这是个复杂问题, 牵涉到多块业务,多个画面。我又托我那位朋友:“能不能再约老肖一次?”次日,朋友答复:“老 肖说,一个一个问题解决太麻烦,希望整理一下所有问题,老肖再来一次,一并解决。” 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 95 除非盖章,否则打印后为非控制文件 说的有道理,我花了点时间,把我们希望的售后维修、销售合同管理、以及今后要上的生产要求 都整理了一下,扔给了老肖。老肖回复说,算一天培训吧,一天培训里面,答疑所有问题。好吧,毕 竟老肖也经营着公司,免费过来我也说不过去。 公事公办,按培训算钱,大家都好说话。一天培训,基本上我的要求和疑问都解决了。就说说 “按合同或设备的采购物料及进度查询”吧。按老肖的办法,基本可以达到我的要求了。从系统中可 以查询每个合同或设备的采购物料及进度,而后导出到 Excel,稍加整理即可满足我们生产部的要求。 操作上有点麻烦,不过比 U8 好多了。 我想,先期,供应部每周出一个进度报表给生产部,虽然麻烦点,操作熟练以后,有半个小时也 能整好这个报表了。老肖建议,先这样整,等系统上去以后,试用一段时间,有必要的话,老肖再派 个技术人员定制化一下,直接从系统简单的打印这个 Excel 报表。 好,经过这么一个多月的折腾,这个 OpenERP 基本上搞通了,看上去至少比 U8 更能解决我的 问题,可以考虑上这个 ERP 系统了。不过,心里还是有点诚惶诚恐,看上去没问题了,实际用起来 会如何呢? 老肖说:“OpenERP 是欧洲使用人数最多的 ERP 软件,中小企业基本上都用这个软件。软件功 能和质量上足够放心的,再怎么说也是欧洲质量,欧洲标准。” “OpenERP 的技术架构、技术平台比国内 ERP 软件至少领先十年,软件灵活性,扩展性比 SAP 还强,更不要提什么垃圾 U8、U9 了!” 说实话,对老肖的话我也是半信半疑的,毕竟王婆都会夸自己的瓜最好呢。老肖说的一些技术术 语我也不懂,我最关心的还是我的问题能不能解决。 自从无意间发现 OpenERP,一个月以来,我对 U8 基本上心灰意冷了。现在准备实施 OpenERP 了,对那个 U8 更懒得弄了。 花了几个月搞 U8,功夫也没白花。回过头来一想,其实 ERP 很简单,真的很简单。把物料、供 应商等等,按软件的要求,输入到软件里面,然后就可以做单子。由采购订单,软件自动生成采购入 库单,仓库验货入库,软件又自动生成发票,出纳付款。流程很清楚,操作上稍加培训就懂。 真正复杂的是物料和供应商数据的整理。这个整理工作,软件一点忙都帮不上,全靠我们自己整, 代理商也不会帮我们整。如果数据不整好,这个 ERP 软件鸟用都没有! 想想就不理解,十多万买这么简单个软件,最关键、最复杂的工作,还得靠我们自己整。如果不 是我持之以恒、加班加点搞这几个月,数据不整出来,那真是十多万买个垃圾回来。 到底是软件值钱呢,还是我们整数据值钱?这还真是个有趣的问题。不过这个 OpenERP 已经给 出了明确的答案:软件不要钱。怎么让 ERP 软件发挥作用,为企业创造价值,这才是真正重要的。 想到这里,我忽然明白了老肖的“开源智造咨询有限公司”。开源智造是帮助企业使用 ERP 软 件,在帮助企业上 ERP 的过程中,他们收取服务费用。是啊,买一个 ERP 软件很容易,最困难的是 让 ERP 软件发挥作用,这还需要投入大量的精力啊。只卖软件,不管服务,这是坑爹呢! 对企业来说,ERP 软件本身毫无价值,只有在自己企业应用上 ERP 软件,才能产生价值。一般 商品,应用不是问题,因此,买回来就有价值。但 ERP 软件太复杂,能不能用上,会不会用,是个 大问题。仅仅买个软件回来,它毫无价值,甚至是“负价值”,因为一旦企业付出极大人力物力学习 ERP,配置 ERP,最后解决不了自己的问题,付出的人力物力全变成了负价值。 忽然明白了好像老肖曾经说过:“应用产生价值!”OSCG (Open Source Consultant Group,就 是老肖那个开源智造公司)不卖软件,他们选择世界上优秀的 ERP 软件,免费推介给企业,帮助企业 应用 ERP,从而创造价值。 不过,这个拗口的价值理念,我真替老肖捏把汗:中国有几个人懂得呢?像我也是交了十多万学 费,费了老大周折才明白过来。 闲话少说,接着说我的 OpenERP 的实施吧。尽管前面已经弄过 U8,有一定经验了,但实际上 线一个 ERP 系统,还是有很多事情,要花费不少时间和精力,下面我一一道来。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 96 除非盖章,否则打印后为非控制文件 首先是物料数据的导入。前面 U8 已经整理过 6000 多种物料了,主要工作已经做完了。将物料数 据从 U8 导出到 Excel,再导入到 OpenERP,非常顺利,一天就搞定了。 不过,接下来的事情要费点周折了。首先是物料双单位的问题,例如钢管,我们仓库是按 KG (公斤)计量的,采购入库也是按 KG 计算,但生产领料是按米下料的。例如,A 型钢管生产下料 10 米,库存应该扣除多少 KG 呢?这个问题之前在 U8 已经整过,但 OpenERP 中和 U8 的解决思路有些 不同,因此还不能简单的导出再导入到 OpenERP。不过也还好,花了三天时间,基本上将 U8 的双 单位数据整到了 OpenERP 里面。 第二个问题要复杂些了,那就是外协采购问题。之前在 U8 里面没有整过,必须全新整理。外协 加工问题,在 OpenERP 中的解决思路挺有趣的。例如材料 C1,经过外协加工 A1,变成了材料 C2。 OpenERP 中的做法是: 1) 材料 C1,材料 C2,外协 A1,都做成 ERP 系统中的产品(物料档案),其中 A1 设置成 Service 类型(就是服务,无形产品); 2) 材料 C2 含有一个简单的 BoM,由材料 C1 和外协 A1 两个子件构成; 3) 生产请购时候,填写材料 C2 的请购单,ERP 系统自动根据 C2 的 BoM 生成外协 A1 的采购单 PO,以及一张外协加工的生产单 MO。 4) 采购下 PO 和 MO 给外协厂,外协厂凭 MO 到仓库领用原料 C1。 5) 外协加工完成之后,凭 MO 和 PO 入库及开票付钱。 这个做法中,需要用到 BoM 和生产模块的部分功能。要是在 U8 中,BoM 和生产模块都是要另 外买的,而且还不便宜,至少要十几万。不过 OpenERP 是开源软件,所有模块都不要钱,软件源代 码还公开开放,需要什么功能模块尽管用,不用斤斤计较。 我们外协加工有几十种,按 OpenERP 的要求,都必须整理成产品档案。另外,之前在 U8 中, 像 C2 那样的半成品档案也没有整理过,C2 的简单 BoM,也要整理。这些个数据的整理搞了两个礼 拜,也麻烦了老肖几次。 外协数据整好以后,哈哈,我们外协采购和正常采购流程几乎一模一样了! 我们请购、采购的大致流程是: 1)生产部填写请购单(系统中实际叫 Procurement Order,需求单,不过,系统有在线翻译功能,老 肖教我将 Procurement 翻译成“请购”,看上去就符合我们的叫法了)。 2)请购单确认时候,系统自动判断请购物料库存是否足够,如果不够,系统又判断,请购物料是外 协物料还是采购物料。 3)如果是采购物料,系统自动创建采购订单,采购部按单采购。 4)如果是外协物料,系统又根据物料的外协 BoM,生产外协采购单及外协加工单。 经过差不多四个礼拜的 OpenERP 实施,哈哈,OpenERP 已经可以完全取代 U8 了。比 U8 做得 还更好,第一,外协问题解决了;第二,采购进度查询问题解决了;第三,跨平台问题解决了,我的 iPad,MacBook 都能用 ERP;第四,没有人头限制,我们所有人都可以直接上 ERP。 继续努力,乘胜追击!还有一个很重要的问题,ERP 和我们财务系统的关联! 财务我不太懂,不得不请教老肖了。就供应部而言,和财务相关的主要有:1) 采购发票的记账; 2) 采购付款; 3) 库存价值的核算; 4) 应付账款查询。 老肖给出的办法是,采购和库存价值的明细账在 ERP 系统中记录,总账在财务系统记录。每个 月从 ERP 系统中打印应付账款总额、实付款总额、库存总账报表,交予财务做账。 财务对这个办法非常高兴,因为他们每个月都要花大量的时间处理采购发票,实施这个办法的话, 他们就解放了。不过他们还是有些疑惑,采购发票的明细账谁来做?老肖说 OpenERP 会自动做账, 而且给我们财务实际演示了一次采购的全过程。还真不赖,应付账款,实付账款,OpenERP 系统都 能够在业务操作的同时,自动完成财务记账过程。 开源智造咨询有限公司(OSCG) - ERP 不花钱 参考: OpenERP-Book 版本 V1.0 97 除非盖章,否则打印后为非控制文件 又经过一个礼拜的调整,终于财务相关配置都搞好了。我又和供应部几个人模拟运行了几遍,感 觉基本没问题了,决定开始试运行 OpenERP 系统。不过,试运行要涉及采购、仓库、生产、财务、 售后维修等多个部门,为了确保顺利运行,我还是请了老肖过来坐镇。 试运行了两天,请购、采购、入库、付款、领料等操作都走过了,基本没什么大问题。生产部由 于之前基本没参与 ERP 实施,操作上碰到一些问题。不过我们自己已经模拟运行过好几次,教教他 们就懂了。在外协和双单位方面,碰到一些数据设置错误,老肖出马,很快帮我们解决了。 现在,我们的 OpenERP 系统已经运行了两个多月了,很顺利,基本没什么大问题。我把我们采 购、仓库、生产、财务等部门的人员都加入到了系统。他们需要查询的时候,打开网页,直接就能登 录系统,方便得很。 下一步,我们要考虑上生产了。不过,我们的生产比较复杂,每一单都差不多是定制生产。这种 情况下,BoM 该怎么整,ERP 和技术部门、生产部门如何接口,都是问题,还没来得及想清楚。不 过,初战告捷,信心大增! 那个“小鬼缠身”的 U8,再见了,我是再也不会考虑了! 陆陆续续写了这么多,不为别的,就为了让同行的工厂企业同仁们,在上 ERP 的过程中,少走 点弯路,少交点学费。哈哈,欢迎大家来我们厂参观指导工作哦!
还剩99页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 12 人已下载

下载pdf

pdf贡献者

zhushixin

贡献于2013-02-03

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf