This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.




  1. 向供应商询价,

  2. 确认采购,

  3. 收货和产品管理,

  4. 发票管理。


要配置一个新的系统使用这些例子,先创建一个有示例数据的数据库,用 admin 登录系统,选择 Extended 。 输入您公司的信息,或者您愿意的化也可以用默认的内容。

然后使用配置向导,在 Install Applications 中,选择 Purchase Management 安装 purchase 采购模块, 同时会安装几个依赖模块。在这章的其他部分都用*admin*登录


选择菜单 Purchases ‣ Purchase Management ‣Request for Quotation , 输入一个新的询价(例如,request for quotation)。点击 New ,OpenERP打开一个空的询价表单, 用来输入从供应商询到的价格。如图所示 采购订单的数据入口 。如果询价是OpenERP自动处理, 您可以看到一个引用文档,在询价的:guilabel:Origin 字段。





如果您安装了 warning 模块,你可以定义警告,当采购员输入一个价格请求的时候,警告将显现出来。 您可以为产品或者供应商设置警告。

The internal reference, the date and the warehouse the products should be delivered to, are completed automatically by OpenERP, but you can change these values if needed. Next, when you select a supplier, OpenERP automatically completes the contact address for the supplier. The pricelist is also automatically completed from the pricelist in the supplier form. This should bring in all of the conditions that you have negotiated with the supplier for a given period.



如果你发现在系统找不到你录入的供应合作伙伴,那你就需要确认在录入合作伙伴的时候,是否已经将 供应商 的勾选项勾上了. 如果忘记了,请到合作伙伴列表中找到它,并勾选上.



Purchase Order Line

When you have selected the product, OpenERP automatically completes the other fields in the form:

  • Product UoM, taken from the Purchase Unit of Measure field in the product form,

  • The Description of the product in the supplier's language,

  • Scheduled Date, calculated from the order date and the delivery lead time for the supplier (for the given product),

  • Unit Price, taken from the supplier's pricelist,

  • Taxes, taken from the information on the product form and partner form, depending on the rules seen in Financial Analysis.


Product Wording and Code

When you enter supplier names in the product form, you can set a name and a product code for each individual supplier. If you do that, OpenERP will then use those details instead of your own internal product names for that selected supplier.

If you work with management by case, you can also set the analytic account that should be used to report all the purchase costs. The costs will then be reported at the receipt of the supplier invoice.


Management by Case

Analytic accounts can be very useful for all companies that manage costs by case, by site, by project or by folder. To work with several analytic axes, you should install the module purchase_analytic_plans, by selecting Purchase Analytic Plans in the Reconfigure wizard and clicking Configure.

To make sure that the analytic account is automatically selected according to the partner, the date, the products or the user, you can install the module account_analytic_default (which is installed automatically as a dependency of purchase_analytic_plans).

In the Notes tab of the product line, you can enter a note that will be attached when the order confirmation or price quotation is printed. This note can be predefined on the product form to automatically appear on each order for that product. For example, you can enter “Do not forget to send by express delivery as specified in our contract reference 1234.”

Once the document has been completed, you can print it as a price estimate to send to the supplier. You can set a note for the attention of the supplier in the form's third tab.


Printing the Supplier Price Quotation

Then leave the document in the Request for Quotation state. When you receive a response from the supplier, use the menu Purchases ‣ Purchase Management ‣ Requests for Quotation. Select the order and complete its details.

When you want to approve the order, use the button Convert to Purchase Order. The price request then passes into the Approved state. No further changes are possible.


Purchase Order Process


Once the order has been approved, OpenERP automatically prepares the goods receipt order in the draft state for you. To get a list of the products you are waiting for from your suppliers, use the menu Warehouse ‣ Warehouse Management ‣ Incoming Shipments.



If you buy services from your supplier, OpenERP does not generate a goods receipt note. There is no service receipt equivalent to a goods receipt.

Select the document that corresponds to the item that you are receiving. Usually, the goods receipt note is found by making a search on the order reference or the supplier name. You can then confirm the receipt of the products.

As described in 仓库, if you receive only part of the order, OpenERP manages the remainder of that order. A second receipt note is then automatically created for the goods not received. You can cancel it if you think that you will never receive the remaining products.

After receiving the goods, OpenERP will show you which orders are open and the state of their receipt and invoicing if you return to the list of orders.


List of Open Orders, and their Receipt and Invoice Status


To control supplier invoicing, OpenERP provides three systems as standard, which can differ order by order:

  • From Order : invoicing based on quantities ordered,

  • From Picking : invoicing based on quantities received,

  • Manual : manual invoicing.

The mode of invoicing control is set in the second tab of the purchase order in the field Invoicing Control.





A company generally uses a single invoicing control method for all of its invoices. So you are advised to set a default value in the Invoicing Control field after installation.


If you selected your invoicing control based on orders, OpenERP will automatically generate a supplier invoice in the draft state when the order is confirmed. You can obtain a list of invoices waiting using the menu Accounting ‣ Suppliers ‣ Supplier Invoices and enabling the Draft filter.

When you receive a paper invoice from your supplier, all you need to do is validate the invoice pre- generated by the system. Do not forget to check the price and the quantities. When the invoice is confirmed, the accounting entries represent the cost of purchase and are automatically entered into the system.

The supplier order is automatically set as Paid when you pay the supplier invoice.

This method of controlling invoices is often used in service companies, because the invoiced amounts correspond to the ordered amounts. In logistics, by contrast, you most often work with invoicing controlled by goods receipt.


To control your supplier invoices based on goods receipt, set the field Invoicing Control on the second tab of the order to From Picking.

In this case, no invoice, draft state or any other, is generated by the order. On the goods receipt note, the field Invoice Control is set to To Be Invoiced.

The storesperson can then receive different orders. If he wants to generate the draft invoice for a goods receipt, he can click the action Create Invoice. OpenERP then asks you for the journal for this invoice. It then opens that or the generated invoices (in the case of creating invoices for several receipts at one time) which enables you to modify it before confirming it.

This approach is useful when you receive the invoice at the same time as the item from the supplier. Usually, invoices are sent by post some days later. In this case, the storesperson leaves the item unchanged without generating an invoice. Then, once per day or once per week the accountant will create the draft invoices based on all the receipts for the day. To do that, he uses the menu Purchases ‣ Invoice Control ‣ Purchase Lines Not Invoiced. He clicks the action Create invoices to generate all draft invoices from the list of receipts that have not yet been invoiced.

At that point, the accountant can decide if he wants to generate an invoice per item or group all items for the same partner into the same invoice.

Invoices are then handled just like those controlled from On Order. Once the invoice arrives at the accounting service, he just compares it with the invoices waiting to control what the supplier invoices you.



To manage delivery charges, install the module delivery using the Reconfigure wizard and selecting Delivery Costs in Sales Application Configuration section. This will automatically add delivery charges to the creation of the draft invoice as a function of the products delivered or ordered.


To manage tenders, you should use the module purchase_requisition, installed via the Purchase Requisition option in the Reconfigure wizard. This lets you create several supplier price requests for a single supply requirement. Once the module is installed, OpenERP adds a new Purchase Requisitions menu in Purchases ‣ Purchase Management. You can then define the new tenders.


Defining a Tender

To enter data for a new tender, use the menu Purchases ‣ Purchase Management ‣ Purchase Requisitions and select New. OpenERP then opens a new blank tender form. The reference number is set by default and you can enter information about your tender in the other fields.

If you want to enter a supplier's response to your tender request, add a new draft purchase order into the list on the Quotation tab of your tender document. If you want to revise a supplier price in response to negotiations, edit any appropriate purchase order that you have left in the draft state and link that to the tender.

When one of the orders about a tender is confirmed, all of the other orders are automatically cancelled by OpenERP if you selected the Purchase Requisition (exclusive) type. That enables you to accept just one order for a particular tender. If you select Multiple requisitions, you can approve several purchase orders without cancelling other orders from this tender.


OpenERP supports several methods of calculating and automatically updating product costs:

  • Standard Price: manually fixed, and

  • Standard Price: revalued automatically and periodically,

  • 平均价格:更新每个收据到仓库。

This cost is used to value your stock and represents your product costs. Included in that cost is everything directly related to the received cost. You could include such elements as:

  • 供应商价格,

  • 送货费,

  • 制造成本,

  • 仓储费。


The mode of price management for the product is shown in the tab Information on the product form. On each individual product, you can select if you want to work in Standard Price or on weighted Average Price.


Simplified Interface

If you work in the Simplified interface mode you will not see the field that lets you manage the price calculation mode for a product. In that case, the default value is Standard Price.

The Standard Price setting means that the product cost is fixed manually for each product in the field Cost Price. This is usually revalued once a year based on the average of purchase costs or manufacturing costs.

You usually use standard costs to manage products where the price hardly changes over the course of the year. For example, the standard cost could be used to manage books, or the cost of bread.

Those costs that can be fixed for the whole year bring certain advantages:

  • you can base the sale price on the product cost and then work with margins rather than a fixed price per product,

  • accounting is simplified because there is a direct relationship between the value of stock and the number of items received.

To get an automated periodic revaluation of the standard price you can use the action Update on the product form, enabling you to update prices of all the selected products. OpenERP then recalculates the price of the products as a function of the cost of raw materials and the manufacturing operations given in the routing.


Working with standard prices does not lend itself well to the management of the cost price of products when the prices change a lot with the state of the market. This is the case for many commodities and energy.

In this case, you would want OpenERP to automatically set the price in response to each goods receipt movement into the warehouse. The deliveries (exit from stock) have no impact on the product price.



At each goods receipt, the product price is recalculated using the following accounting formula: NP = (OP * QS + PP * QR) / (QS + QR), where the following notation is used:

  • NP: New Price,

  • OP: Old Price,

  • QS: Quantity actually in Stock,

  • PP: Price Paid for the quantity received,

  • QR: Quantity Received.

If the products are managed as a weighted average, OpenERP will open a window that lets you specify the price of the product received at each goods receipt. The purchase price is, by default, set from the purchase order, but you can change the price to add the cost of delivery to the various received products, for example.


Goods Receipt of Products managed in Weighted Average

Once the receipt has been confirmed, the price is automatically recalculated and entered on the product form.