Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

awards_and_contracts.md: update purchase orders example #1720

Open
wants to merge 6 commits into
base: 1.2-dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved
LP-12006-23-23142-1,LP-12006-23-231421-426631,20500000,DGFT building cleaning
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved
LP-12006-23-231421-2,LP-12006-23-231421-426631,20500000,DGGC building cleaning
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved
LP-12006-23-231421-3,LP-12006-23-231421-426631,20000000,SET building cleaning
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved
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.

33 changes: 12 additions & 21 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/).
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

### Example: Purchase orders
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.
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

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:
### Example: Double counting contracts and purchase orders

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:
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

```{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.
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

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.
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

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:
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

```{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.
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved

```{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.
duncandewhurst marked this conversation as resolved.
Show resolved Hide resolved
```

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.
Loading