卓忆翻译(英中对照):Odoo9工作流的改变:销售和采购工作流的改变

2016/08/2215:12:31 评论 1,600 views
卓忆翻译:Odoo9工作流的改变:销售和采购工作流的改变
Sale and purchase workflow
by
Fabien Pinckaers (fp)
- 09/16/2015 13:46:44
Hello,
A lot of people are asking more information about the changes in sale and purchase apps in Odoo 9, mostly the removal of the workflow.
In short, we did a huge cleanup of the sale.* and purchase.* modules while porting them to the new API. The result in 5000 lines of code removed, for more features supported, and no feature removed.
大家好,
   许多人询问在Odoo9中销售和采购模块的变化,其中大部分是 关于移除工作流的。
简而言之,我们 在移植 销售 和 采购 相关的 模块 到 新API 时 我们 做了 巨大的清理 。5000行代码被移除 ,有了更多的 功能支持,并没有移除任何功能。
Why? 原因
The v8 sale module had a lot of issues:
Odoo8的销售模块有些问题(潜台词是原有的工作流解决这些问题会比较麻烦):
- not possible to modify a sale order (open orders) 不太可能修改销售订单
- no way to handle inter-company invoicing based on delivery/receptions (only one of the two invoices was generated)
没有办法处理 内部公司 之间的 送货/收货 发票 (只能生成其中1张发票)
- not possible to invoice kits based on deliveries
不能基于交付 生成 发票组合
- too many different ways to incoice customers: based on sale order, based on sale order lines, based on support contracts, based on regular contracts, based on expenses, based on delivery orders, final invoice on timesheets, ...
给最终客户的发票有着太多不同的方式:基于销售订单,基于订单行,基于维护合同,基于定期合同,基于费用,基于送货单,最后基于计工单的发票。。
- those different invoice methods could not be mixed in a single sale order (sell physical products with a support contract on timesheets)
这些不同的生成发票的方法不能整合在一个销售订单中(销售包含物理产品、包含基于计工单的支持合同)
- some of these invoicing methods were very complex to configure: to invoice on timesheet, you had to: 1/ create a SO, 2/ create a contract, 3/ set a product on the employee form, 4/ set the analytic_user_function to know to role of the user, 5/ invoice from the contract...
有些发票生成的方法难于配置:要基于计工单生成发票您得:1/创建销售订单,2/创建合同,3/为员工设置产品,4/设置 员工的劳动合同 了解用户的规则,5/从 合同开票
- contracts (based on analytic accounts) are a pain. They are complex to understand (support contracts vs regular contracts) and to manage on a regular basis. (e.g. How do you make a quotation for a new support contract?)
合同(基于 分析会计/辅助核算)用起来比较痛苦,难于理解(维护合同和常见合同),难于管理一些基本部分(比如: 如何从一份新的维护合同创建报价?)
*How?* 方法
Complete rewrite the sale and purchase modules. We cleaned all the legacy code while porting everything to the new API. The net result is 5000 lines of python code removed. Less lines of code for more features is a good sign of something that is technically clean.
完全重写采购和销售模块。在移植到新API时清除了所有遗留的老API代码。移除了5000行Python代码。更少的代码更多的功能标志着在技术上更为干净。
*What are the main changes?* 主要的改变
In addition to the quantity ordered field on sale order lines, you have three new fields: Qty Delivered, Qty Invoiced, Qty to Invoice. Qty delivered can be set manually (milestones of a project you invoice manually) or computed based on timesheets or delivery orders. The two others fields are always computed.
销售订单行增加了3个新的字段:已交付数量,已开票数量,需开票数量。可手动设置已送货数量(手动为项目里程碑开票)或基于计工单或送货单计算。另外2个字段会总是被计算。
The product has a new field "Invoice Method": based on quantities ordered, based on quantities delivered (could be timesheets), based on time and material (reinvoice costs or expenses).
产品新增了“开票方式‘字段:可基于订单数量,送货数量(或是计工单),或者按时间和材料(重开票的成本或费用)
So, whatever the products/services, you always generate invoices based on sales order. All other methods disappeared, you can do everything from the sale order.
因此,无论是产品/服务,您都可以基于销售订单生成发票。其他方式在v9中已被取消,您都可以从销售订单上来生成发票(原来的英文有夸张的成分。。呵呵也许老外习惯这样说,心态上蛮好,改变总是好的)。
The meaning of "Done" in sales order in different. In v8, done means "delivered and invoiced". In v9, done means "you can not change the order anymore". Delivered and Invoiced are written on SO lines, not in the status.
”已完成“在销售订单上的意思和8.0中不同,在V8中 已完成意味着”已交付以及已开票“。
在9.0中,“已完成” 意味着 “您不能对此订单进行修改了”。已交付以及已开票都会写入销售订单行,而不只是一个状态。
We removed the workflow because it was a mess. For example, in version 8, the "state" field was used for the SO state (quotation --> sale order) as well as the invoice state and delivery state (done=delivered and invoiced). We splitted this in several computed fields:
我们移除工作流的原因是它相对比较乱。比如,在8.0中,'state状态'字段用于 销售订单的状态(报价单-->销售订单),发票状态和送货状态 (完成 则表明 已送货 和 已 开票)。在9.0中我们将这些 分割为下列计算字段:
  - State: Quotation --> Sent  --> Sale Order
状态 : 报价单 --> 已发送  --> 销售订单
  - Invoice State: Nothing to Invoice, To Invoice, Fully Invoiced, Upselling Opportunity
发票状态: 没有需要开票的,待开票,完全开票,超单销售(用于营销促销等)
  - Delivered: quantities are set on SO lines
已交付:在销售订单行设置数量
More over, as the user can edit the SO at any step, workflows were not useful anymore. It's also much faster now.
综上所述,用户可以在 已完成 前,编辑销售订单,工作流不再有用。
*What are the improvements?*
改善的部分
Compared to v8, all complex use cases work perfectly in v9:
对比V8,所有复杂的工作在V9中工作的更好:
- single point of invoicing: sale order --> super easy
单一的发票控制点: 销售订单 --> 更简单
- you can mix any kind of services and invoice everything at once from the sale order: pre-paid support contract, project invoiced on milestones, physical products, extra travel and expenses, etc.
您可以在 销售订单中一次包含多种类型的服务和发票:支持合同预付款,项目里程碑,物理产品,额外的差旅及费用,等等。
- the system manages upselling opportunities (when delivered quantities > ordered quantities). Example: you sell a support contract of 25h, when you arrive at 30h on timesheets, the sale order switch to "Upselling Opportunity"
管理 用于 超单销售 ( 已送货数量 大于 订单数量)。例如:您可以 销售 支持合同 25小时,当 在计工单 中数量 达到30小时 时 , "超单销售" ( 测试下来 销售订单  交付 数量如果 在开票 之后 又增加了, 销售订单上的 发票状态 会被判断为超售 )
- inter-company rules with invoice for both the supplier and the customer, based on delivered quantities
基于 已交付数量 的 既是供应商 又是客户 的 内部公司 的 发票 规则
- invoice kits, based on delivered quantities
基于已交付数量的成套发票
- handle correctly unit of measures: sell a support contract by "Pack 40h", work by hours in your timesheets
正确处理计量单位:销售 "40小时" 的 支持合同 , 通过计工单进行
- modify a confirmed SO: it will handle delivery and invoicing correctly
修改已确认的销售订单: 会正确处理 交付和发票
change prices on a confirmed SO: some lines are readonly or not based on what have already been invoiced
在确认的销售订单上修改价格: 有些订单行 是 只读的 或 不是 基于已开票的 。
- more efficient management of deposits 对于存款/保证金 更有效率的管理
- 3 ways to track services: manually (set milestones as done), timesheet on contract (the v8 method), timesheets on tasks
3个方法来跟踪服务:手动(设置里程碑为完成),合同上的计工单(v8中的方法),任务中的计工单
- correctly handle the right product when a user do timesheet (defined by the SO line): you can work as a senior developer or on a support contract --> no need for analytic_user_function anymore
正确处理需要使用计工单的产品(通过销售订单行定义):在 支持合同 中 您可以像 资深开发者 那样工作 --> 无需再用 劳动合同analytic_user_function模块
What about purchases?采购
We also reviewed purchase orders with a similar concept (Qty delivered, Qty invoiced) In v8, you had three methods to generate draft invoices: based on PO, based on PO lines, based on receptions. It's much easier in version 9, there are 0 methods :)
We don't pre-generate draft invoices anymore, but you can select POs when you create a vendor bill: it will fill all invoice lines automatically based on what can be invoiced (received products or services).
No more problem of merge, partial invoices, control of quantities if received in several steps, ...
用相同的理念我们还重新审核了采购订单(已交付数量,已开票数量)在V8中,您有3种方法生成发票草稿:基于采购订单,基于采购订单行,基于收货。在V9 中,这变的更简单了 :)
我们不再自动预生成发票,不过 当您创建 供应商对账单时 您可以选择采购订单: 会基于 可开票(已收产品或服务) 自动匹配所有的 发票行 。
合并 供应商发票时 不会再有问题 ,部分开票, 在分步收货时控制数量 ,等等
It's very difficult to explain such a huge change in just a small email.
So I hope this small email helps,
You can get more information in the documentation, some docs have been updated to the new process (check the sale tab):
在一封邮件中很难解释如此巨大的改变。
因此我希望这封小邮件能有所帮助,
您可以在文档中获取更多的信息,有些文档通过新的流程更新(点击销售标签)
Thanks, 谢谢
--
Fabien
评论:
Odoo官方自己也用Odoo,近水楼台先得月,
他们发现了 一些 V8使用上的麻烦, 因此在V9 中进行了 修改。
不过 仔细阅读 后 发现 也不是所有 公司都用v9好,对项目型 的 更有意义些。
那些 不需要为 服务 ,计工单 开票的公司 就要综合衡量了。
而且V9中的合同实际上是 企业版才有的功能,社区版目前并没有。
翻译过程中 难免出现 错误,希望大家提出更好的建议。 谢谢 大家
卓忆 2016/08/22

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: