# Buy through a blanket order and follow the balance

> The blanket order fixes vendor, product, total quantity and price for a period. Step by step in Odoo 18 with the Brazilian localization, by KMEE.

Fonte: https://docs.kmee.com.br/en/odoo/18.0/funcional/compras/comprar-por-pedido-guarda-chuva/

The blanket order fixes vendor, product, total quantity and price for a period. Each delivery is a purchase order generated from it, with the fiscal operation and the taxes calculated as in any order, and the balance of the contract goes down at each one.

## Before you start

The vendor and the product for resale must be registered. The user needs the group Purchase/Administrator, because the Blanket Orders menu only appears to the purchase administrator, and the group Brazilian Fiscal/Fiscal Manager, so the order generated by the contract calculates the taxes. This applies in Brazil as it is: the order generated by the contract calculates ICMS, PIS, COFINS, CBS and IBS of the purchase, like any purchase order.

## Step by step

### 1. Open the blanket order

In the Purchase app, in the Orders menu, open Blanket Orders and click New. In Vendor, choose the vendor and inform the Validity Date of the contract. Click Add a line, choose the product and inform the Original Qty and the Price. Click Confirm: the contract is Open. Example: Guatambu Móveis closes with Atacado Horizonte a contract of 100 office steel desks at 600.00 until 12/31/2027.

### 2. Make the first purchase order

In the contract, click Create Purchase Order. In the window, change the Quantity to Purchase to the quantity of the first delivery and click Create and View Order. Open the order created and click Confirm order. Example: 40 desks. The order is calculated as any purchase: 40 x 600.00 = 24,000.00, ICMS of 12% = 2,880.00, which generates credit, and IPI not taxed, because the wholesaler does not manufacture the goods. Total of 24,000.00.

### 3. Check the balance of the contract

In Blanket Orders, open the contract and, in Lines, check the Ordered Quantity and the Remaining Quantity. After the first order: 40 desks ordered and 60 remaining. You can also open Blanket Orders > Lines to see the balance of all the contracts.

### 4. Make the next delivery

Click Create Purchase Order again, change the Quantity to Purchase to 25 and click Create and View Order. Open the order and click Confirm order. It uses the closed price of the contract: 25 x 600.00 = 15,000.00, ICMS of 12% = 1,800.00, which generates credit. In 2026, the base of the CBS and IBS is 15,000.00 minus the ICMS of 1,800.00, 13,200.00: CBS 0.9% = 118.80 and IBS 0.1% = 13.20; the PIS and COFINS of the purchase have CST 98, without value.

### 5. Follow the balance after each order

Go back to the contract, in Blanket Orders and Lines: 65 desks ordered and a balance of 35 (100 - 40 - 25). Each new order lowers the balance until the contract is used up.

## Expected result

The blanket order open with the closed price, two purchase orders confirmed (24,000.00 and 15,000.00, with ICMS of 2,880.00 and 1,800.00) and the contract showing 65 desks ordered and a balance of 35.

## If something goes wrong

If the Blanket Orders menu does not appear, ask the purchase administrator to create the contract. If Validity date is required appears when confirming, inform the Validity Date and confirm again. If the Create Purchase Order window refuses the quantity, inform a quantity up to the Remaining Quantity of the line. If it warns that all the lines are completed, the contract had all its quantity ordered: agree a new blanket order with the vendor.

## Odoo 18 manual

Standard Odoo 18 features used in this task, from the official manual.

- [Blanket orders](https://docs.kmee.com.br/en/odoo/18.0/modules/compras/contratos-de-compra-com-fornecedores/)

## Continue the process

- [From the purchase request to the approved purchase order](https://docs.kmee.com.br/en/odoo/18.0/funcional/compras/requisicao-cotacao-e-pedido-aprovado/)
