Framework agreements¶
Definitions¶
Note
In this guidance we defer to the definitions given in the UNCITRAL Model Law on Public Procurement (2011). The model law was developed through extensive consultation and reflects the procurement practices and concepts used in many different jurisdictions.
The UNCITRAL model law defines a framework agreement procedure as:
Procedure conducted in two stages: a first stage to select a supplier (or suppliers) or a contractor (or contractors) to be a party (or parties) to a framework agreement with a procuring entity, and a second stage to award a procurement contract under the framework agreement to a supplier or contractor party to the framework agreement.
In OCDS terms, a framework agreement procedure is a procedure involving at least one framework agreement. A framework agreement is defined in UNCITRAL as:
Agreement between the procuring entity and the selected supplier (or suppliers) or contractor (or contractors) concluded upon completion of the first stage of the framework agreement procedure.
In OCDS we treat “contractors” and “suppliers” as synonyms. One or more buyers and one or more suppliers can participate in a framework agreement.
A procurement contract is defined in UNCITRAL as:
Contract concluded between the procuring entity and a supplier (or suppliers) or a contractor (or contractors) at the end of the procurement proceedings.
Types of framework agreement¶

Framework agreements can be open or closed:
Closed framework agreement
Framework agreement to which no supplier or contractor that is not initially a party to the framework agreement may subsequently become a party.
Open framework agreement
Framework agreement to which a supplier (or suppliers) or a contractor (or contractors) in addition to the initial parties may subsequently become a party or parties.
Procurement systems which provide for closed framework agreements include the EU (Framework Agreements, per Directive 2014/24/EU, Article 33) and the US federal system (Indefinite-delivery contracts, per Federal Acquisition Regulation, Subpart 16.5). An example of a procurement system which provides for open framework agreements is the EU (Dynamic Purchasing Systems, per Directive 2014/24/EU, Article 33).
Framework agreement procedures can involve second-stage competition, or not:
Framework agreement procedure with second-stage competition
Procedure under an open framework agreement or a closed framework agreement with more than one supplier or contractor in which certain terms and conditions of the procurement that cannot be established with sufficient precision when the framework agreement is concluded are to be established or refined through a second-stage competition.
Framework agreement procedure without second-stage competition
Procedure under a closed framework agreement in which all terms and conditions of the procurement are established when the framework agreement is concluded.
Competition at the second stage is limited to suppliers that are party to the framework agreement. Framework agreement procedures can include a mix of competitive and non-competitive second stages.
The second stage of a framework agreement procedure is also known as a “call-off.” Non-competitive second stages are also known as “direct call-offs.” Competitive second stages are also known as “mini-competitions.”
Modelling framework agreements in OCDS¶
In OCDS, a contracting process brings together, under a single identifier, the information that users need to answer questions such as:
Was a contract signed as a result of this tender?
What was the total value of spending that resulted from this award?
Was a renewal of this contract signed?
In some cases, complex contracting processes cannot be represented under a single identifier under OCDS' model, because:
There are multiple competitive stages: for example, when a framework agreement involves second-stage competitions.
The procurement systems used at different stages of the process are managed by different bodies, and cannot be integrated.
OCDS models the first and second stages of framework agreement procedures as separate contracting processes, linked together using the relatedProcesses array. The tender.techniques.hasFrameworkAgreement field, from the Techniques extension, indicates whether the contracting process represents the first stage of a framework agreement procedure. The presence of a related process with a .relationship field set to 'framework' indicates whether the contracting process represents the second stage of a framework agreement procedure.
Note
The 'framework' code is only used to relate second-stage contracting processes to their first-stage contracting process, never to other second-stage contracting processes.
The following diagram shows how OCDS models a framework agreement procedure with two second stages: one with competition and one without competition. Grey blocks represent unused sections of the OCDS schema.

Extensions¶
The tender.techniques.hasFrameworkAgreement field, from the Techniques extension, is used to identify contracting processes that represent the first stage of a framework agreement procedure. More information on the nature of the framework agreement can be provided via the tender.techniques.frameworkAgreement object.
The tender.competitive field, from the Competitive extension, is used to indicate whether the second stage involves competition.
The two extensions should be declared in the package metadata:
{
"extensions": [
"https://raw.githubusercontent.com/open-contracting-extensions/ocds_competitive_extension/master/extension.json",
"https://raw.githubusercontent.com/open-contracting-extensions/ocds_techniques_extension/master/extension.json"
]
}
The following guidance describes how to model the different stages of a framework agreement procedure in OCDS. (It does not describe how to model the contract (using the contracts array), because the modeling is the same for a framework agreement as for other types of contracts.)
Invitation to participate in the first stage of a framework agreement procedure¶
Create a release and add 'tender' to the
tagarray.For each buyer that will participate in the framework agreement, add an
Organizationobject to thepartiesarray, add 'buyer' to its.roles, and populate its other fields.If all potential buyers can participate, don't add them to the
partiesarray. Instead, add a note in the publication policy to explain how users should interpret a contracting process with no buyers.If a single buyer will participate in the framework agreement, set the
buyer.idandbuyer.nameto match the buyer's object in thepartiesarray. Otherwise, don't populatebuyer.
In the
tendersection, set:tender.procurementMethodaccording to the competitive conditions of the first stage of the framework agreement. Since framework agreements typically involve qualification, this is most often 'selective'.tender.techniques.hasFrameworkAgreementtotrue.tender.contractPeriodto the duration of the framework agreement.If the framework agreement is closed, set
tender.tenderPeriod.endDateto the deadline for responses to the invitation.If the framework agreement is open, set
tender.tenderPeriod.endDateto the last date that new suppliers can be added.
First-stage selection and addition of suppliers to the framework agreement¶
Create a release with the same
ocidas the tender release and add 'award' to thetagarray.Add an
Awardobject to theawardsarray, setting its fields as usual.For each supplier:
Add an
Organizationobject to thepartiesarray, add 'supplier' to its.rolesand populate its other fields.Add an
OrganizationReferenceobject to the award's.suppliersarray, and set its.idand.nameto match the supplier's object in thepartiesarray.
If no further suppliers will be added to the framework agreement, set
tender.statusto 'complete'.
Award of a procurement contract without second-stage competition¶
Create a release with a new
ocidand add 'award' to thetag.Set
tender.idto theaward.id, settender.competitivetofalse, and settender.procuringEntityif appropriate.
Invitation to participate in a second-stage competition¶
Create a release with a new
ocidand add 'tender' to the.tagarray.Populate the
tendersection, settingtender.procurementMethodto the same value as in the first stage, andtender.competitivetotrue.
Award of a procurement contract resulting from a second-stage competition¶
Create a release with the same
ocidas the tender release for the invitation to participate in a second-stage competition, and add 'award' to thetag.
Common operations¶
Relate the second stage to the first stage¶
Add a
RelatedProcessobject to therelatedProcessesarray, set its.id(to '1', for example), add 'framework' to its.relationshiparray, set its.schemeto 'ocid' and set its.identifierto theocidof the invitation to participate in the framework agreement.
Add a buyer¶
Add an
Organizationobject to thepartiesarray, add 'buyer' to its.rolesand populate its other fields with the details of the buyer for this specific award.Set
buyer.idandbuyer.nameto match the buyer's object in thepartiesarray.
Add an award and supplier¶
Add an
Awardobject to theawardsarray, setting its fields as usual.Add an
Organizationobject to thepartiesarray, add 'supplier' to its.rolesand populate its other fields.Add an
OrganizationReferenceobject to the award's.suppliersarray and set.idand.nameto match the supplier's object in thepartiesarray.
Worked examples¶
The following examples show how to model two framework agreements, covering a range of characteristics:
A closed framework agreement established for a single buyer, with a single supplier and without second-stage competition
A open framework agreement established for multiple buyers, with multiple suppliers and with second-stage competition
Example 1: Closed framework agreement with single buyer, single supplier and without second-stage competition¶
NHS National Services Scotland (NSS) wants to establish a framework agreement for the receipt, storage and distribution of seasonal influenza vaccines to general practitioner practices, social care premises, vaccine holding centres and community pharmacies across NHS Scotland.
Invitation to participate in the first stage of a framework agreement procedure¶
NSS issues a contract notice (tender notice), inviting suppliers to participate in the framework agreement. The tender notice specifies that the framework agreement is with a single operator. The framework agreement is not open, since the tender notice does not specify that the procurement involves the setting up of a dynamic purchasing system. The framework agreement is for a single buyer, since the tender notice specifies only one contracting authority.
The notice is modelled as an OCDS release with a tag of 'tender' and the following properties:
The techniques extension is declared in the package metadata.
Since this contracting process is for the set-up of a framework agreement,
tender.techniques.hasFrameworkAgreementis set totrue.Since any supplier is able to submit a response to the invitation to participate,
tender.procurementMethodis set to 'selective'.Since the framework agreement is closed,
tender.tenderPeriodis set to the deadline for responses to the invitation to participate.Since there is only one buyer,
buyeris set to reference the buyer's object in thepartiesarray.
First-stage selection and addition of a supplier to the framework agreement¶
NSS issues a contract award notice to announce that the framework agreement has been concluded with a single supplier, Movianto UK.
The notice is modelled as an OCDS release with the same ocid as the previous release, a tag of 'award', and the following properties:
Since no further suppliers will be added to the framework agreement,
tender.statusis set to 'complete'.An
Awardobject is added to theawardsarray.An
Organizationobject is added to thepartiesarray with the supplier's details.An
OrganizationReferenceobject is added to award's.suppliersarray to reference the supplier's object in thepartiesarray.
The first stage of the framework agreement procedure is complete and NSS can now purchase services from the supplier.
Award of a procurement contract without second-stage competition¶
NSS uses the framework agreement to place an order for the supplier to receive and store ten pallets of seasonal flu vaccine. Under the terms of the agreement the cost for this service is £10,000.
The order represents the award of a procurement contract at the second stage of the framework agreement procedure.
Because there was no competition at the second stage, the new contracting process has only one release, with a tag of 'award'. The release has the following properties:
A new
ocidis used.The
relatedProcessessection is populated with a reference to the contracting process for the first stage.A minimal
tendersection setstender.idand setstender.competitivetofalse.The
awardssection is populated with the award value, period and items.The
buyer,tender.procuringEntity,awards.suppliersandpartiesfields are populated with the details of the buyer, procuring entity and supplier.
Each additional purchase made under the framework agreement is represented by a new contracting process with a new ocid.
Example 2: Open framework agreement with multiple buyers, with multiple suppliers and with second-stage competition¶
The National Procurement Agency in Chile (Chile Compra) wants to establish a framework agreement for the purchase of office supplies, including paper and stationery items for the different public entities across Chile.
Invitation to participate in the first stage of a framework agreement procedure¶
Chile Compra publishes a tender notice inviting suppliers to participate in the framework agreement. The tender notice specifies that multiple suppliers can join the framework agreement. The framework agreement is open, since all the framework agreements in Chile involve the setting up of a dynamic purchasing system. The framework agreement is for multiple buyers, since the tender notice specifies two buyers.
The notice is modelled as an OCDS release with a tag of 'tender' and the following properties:
The techniques extension is declared in the package metadata.
Since this contracting process is for the set-up of a framework agreement,
tender.techniques.hasFrameworkAgreementis set totrue.Since any supplier is able to submit a response to the invitation to participate,
tender.procurementMethodis set to 'selective'.Since the framework agreement is open,
tender.tenderPeriodis set to the end of the framework agreement.Since there are two buyers, the 'buyer' object is not set, and the buyers are declared in the
partiesarray.Since Chile Compra is the entity that manages the contracting process,
tender.procuringEntityis set to reference Chile Compra's object in thepartiesarray.
First-stage selection and addition of suppliers to the framework agreement¶
Chile Compra issues an award notice to announce that the framework agreement has been awarded to two suppliers: Rodrigo Alejandro Vidal Campos and Comercializadora e Importadora Grupo RAVC SPA.
The notice is modelled as an OCDS release with the same ocid as the previous release, a tag of 'award', and the following properties:
Since other suppliers are still able to submit a request to participate in the framework agreement, no change is made to
tender.status.An
Awardobject is added to theawardsarray.An
Organizationobject is added to thepartiesarray for each supplier with its details.An
OrganizationReferenceobject is added to the award's.suppliersarray for each supplier to reference its object in thepartiesarray.
The framework is now established, and both buyers can now purchase items from the suppliers.
Invitation to participate in a second-stage competition¶
Servicio Local de Educación Pública Puerto Cordillera publishes a tender notice, inviting suppliers on the framework agreement to bid to supply 200 pencils. This represents an invitation to participate in a second-stage competition.
The release has the following properties:
A new
ocidis used.The
relatedProcessessection is populated with a reference to the contracting process for the first stage.The
tagis set to 'tender'.The tender section includes details about the competition, and
tender.competitiveis set totrue.Since this new contracting process has a single buyer, the
buyeris set to Servicio Local de Educación Pública Puerto Cordillera.
Award of a procurement contract resulting from a second-stage competition¶
Following the invitation to participate in the second-stage competition, Servicio Local de Educación Pública Puerto Cordillera awards a contract to Comercializadora e Importadora Grupo RAVC SPA.
The release has the following properties:
The same
ocidas the invitation to participate in the second-stage competition is used.The
relatedProcessessection is populated with a reference to the contracting process for the first stage.The
tagis set to 'award'.The
tender.statusis updated to 'complete'.The
awardssection is populated with the award value, period and items.The
awards.suppliersandpartiesfields are populated with the details of the supplier.