Skip to content

Commit

Permalink
awards_contracts.md: update purchase order section and examples
Browse files Browse the repository at this point in the history
  • Loading branch information
odscjen committed Dec 12, 2024
1 parent e613aba commit f0fdd7a
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 30 deletions.
8 changes: 4 additions & 4 deletions docs/examples/purchase_orders/contracts_pos.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
contracts/0/id,contracts/0/awardID,contracts/0/value/amount,contracts/0/title
BPR-2024-C78967,BPR-2024-78967-A78678,1000000,Maintenance of Mt. Tabor Park
BPR-2024-C78967-PO0001,BPR-2024-78967-A78678,300000,Soil removal and disposal
BPR-2024-C78967-PO0002,BPR-2024-78967-A78678,500000,Routine park maintenance
BPR-2024-C78967-PO0003,BPR-2024-78967-A78678,200000,Hedge installation
LP-12006-23-231421,LP-12006-23-231421-426631,3150000000,Asuncion office cleaning services
LP-12006-23-23142-1,LP-12006-23-231421-426631,20500000,DGFT building cleaning
LP-12006-23-231421-2,LP-12006-23-231421-426631,20500000,DGGC building cleaning
LP-12006-23-231421-3,LP-12006-23-231421-426631,20000000,SET building cleaning
4 changes: 2 additions & 2 deletions docs/examples/purchase_orders/parent_contract.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
contracts/0/id,contracts/0/awardID,contracts/0/maximumValue/amount,contracts/0/title
BPR-2024-C78967,BPR-2024-78967-A78678,1000000,Maintenance of Mt. Tabor Park
contracts/0/id,contracts/0/awardID,contracts/0/value/amount,contracts/0/title
LP-12006-23-231421,LP-12006-23-231421-426631,3150000000,Asuncion office cleaning services
4 changes: 0 additions & 4 deletions docs/examples/purchase_orders/transactions_pos.csv

This file was deleted.

31 changes: 11 additions & 20 deletions docs/guidance/map/awards_contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,41 +152,32 @@ A purchase order is a specific type of contract, an official document issued by

Purchase orders can be issued against an existing contract, or if no prior contract exists then acceptance of a purchase order by a supplier forms a contract between buyer and supplier.

Purchase orders that are made against contracts with a definite quantity or value of items ought to not be disclosed in the `contracts` section of OCDS, due to the risk of double counting items on the purchase order and the contract it relates to. Instead they ought to be disclosed in the `implementation.transactions` array of the `Contract`.
Purchase orders can be made against contracts with indefinite quantities or maximum only values. In these cases the initial contract and resulting purchase orders ought to be modelled as [a closed framework agreement with no second-stage competition](https://standard.open-contracting.org/staging/1.2-dev/en/guidance/map/framework_agreements/).

Purchase orders that are made against contracts with a definite quantity or value of items ought to not be disclosed in the `contracts` section of OCDS, due to the risk of double counting items on the purchase order and the contract it relates to.

### Example: Purchase orders

The Bureau of Parks and Recreation in Portland, Oregon, USA, awards a 2 year contract worth up to $1m to a local contractor to maintain Mt. Tabor Park. This contract specifies the goods, services and works to be provided along with unit prices and estimates of quantities. The contract is represented in the `contracts` section of OCDS as follows:
Paraguay's Dirección Nacional de Ingresos Tributarios awards a contract worth 3,150 million Gs to Carlos Ruben Oviedo Centurion for cleaning services in administrative buildings in Asunción. The contract is represented in the `contracts` section of OCDS as follows:

```{csv-table-no-translate}
:header-rows: 1
:file: ../../examples/purchase_orders/parent_contract.csv
```

The contract in this scenario is treated as a type of [framework agreement](framework_agreements.md), with the contract value being disclosed in the `maximumValue` field instead of the `value` field.

Over the course of the contract the Bureau of Parks and Recreation issues 3 purchase orders for:
Calculating the sum of the contract value in the above example gives the correct result of Gs 3,150 million.

1. evacuation, removal and disposal of contaminated or unsuitable soil for the value of $300k.
2. routine maintenance including mowing of the grass, trimming of hedges and shrubs and weeding of flower beds for the value of $500k.
3. supply and installation of new hedging within the park for the value of $200k.
During the first month of the contract Dirección Nacional de Ingresos Tributarios issues 3 purchase orders for cleaning in 3 different buildings.

Each of the purchase orders is disclosed in the `implementation.transactions` section of the `Contract` as follows:
If purchase orders were also disclosed in the `contracts` section of OCDS, the `contracts` section of OCDS would now be populated as follows:

```{csv-table-no-translate}
:header-rows: 1
:file: ../../examples/purchase_orders/transactions_pos.csv
:file: ../../examples/purchase_orders/contracts_pos.csv
```

The sum of the `transactions.value`s gives the final value of the contract, $1m. This is the same value as the initial `maximumValue` of the contract.

By using the `implementation.transactions` section of the `Contract` the purchase orders are linked to the initial contract, and the potential for double counting has been avoided.

If the purchase orders were disclosed in `contracts`, especially if the initial contract had a fixed value, the final value of the contract could be double counted:
Calculating the sum of the contract value in the above example gives an incorrect result of Gs 3,211 million.

```{csv-table-no-translate}
:header-rows: 1
:file: ../../examples/purchase_orders/contracts_pos.csv
```{note}
The approach for modelling purchase orders in OCDS has not been standardized. Implementers are encouraged to describe their use of purchase orders in this ([GitHub issue](https://github.com/open-contracting/standard/issues/897)) to help develop a standardized approach.
```

Calculating the sum of the contract value in the above example gives an incorrect result of £2m - double the actual final value of the contract.

0 comments on commit f0fdd7a

Please sign in to comment.