F20: Modification notice

Quick links: PDF form | sample XML

F20 is about modifications to the contract or concession.

Similar to F14, the European Commission in its eForms consultation proposes to republish notices – adding a short section to summarize and justify the modification – instead of using F20 (see discussion).

Release model

Create an OCDS release and:

  1. Add 'awardUpdate' and 'contractUpdate' to tag.

What's new

If you have already implemented all prior forms, this notice adds:

  • VII Modifications to the contract/concession

Unlike F03 and F06, F20 discards /AWARD_CONTRACT/AWARDED_CONTRACT/VALUES (V.2.4 Information on value of the contract/lot/concession), since it will have been disclosed in an F03 or F06, and since F20 maps /MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/VALUES (VII.1.6 Information on value of the contract/lot/concession) to the same OCDS fields.

The wording of some mappings is changed, without consequence:

  • /PROCEDURE/NOTICE_NUMBER_OJ (Notice number in the OJ S) always refers to a contract award notice on F20, but can refer to a prior information notice or periodic indicative notice (PIN) on other forms. Other forms therefore describe what to do if it is a PIN.

  • /AWARD_CONTRACT/CONTRACT_NO (Contract No) is mandatory on F20, but optional on other forms. Other forms therefore describe what to do if it isn't set.

Other notes

The PDF form has radio buttons for the legal basis, which correspond to a single unlabeled XML element (/LEGAL_BASIS).

Preamble

Index Label and XPath OCDS guidance

Unlabeled
/@LG

Lowercase, and map to language

Unlabeled
/@CATEGORY

Discard. TED translates at form-level. OCDS translates at field-level.

Unlabeled
/LEGAL_BASIS

Set tender.legalBasis.scheme to ‘CELEX’, and map to tender.legalBasis.id

Unlabeled
/LEGAL_BASIS_OTHER

Set tender.legalBasis.scheme to ‘CELEX’, and map to tender.legalBasis.id

Section I

Index Label and XPath OCDS guidance
I

Contracting authority / entity
/CONTRACTING_BODY

I.1

Name and addresses
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY

Add a party, and add ‘buyer’ to its .roles

Set buyer.id to its .id, and set buyer.name to its .name

Official name
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/OFFICIALNAME

Map to the party’s .name and .identifier.legalName

National registration number
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/NATIONALID

Map to the party’s .identifier.id, and set .identifier.scheme

Postal address
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/ADDRESS

Map to the party’s .address.streetAddress

Town
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/TOWN

Map to the party’s .address.locality

NUTS code
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/NUTS

Take the NUTS code in the CODE attribute, and map to the party’s .address.region

There’s an open issue (#739) about region codes. Issue

Postal code
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/POSTAL_CODE

Map to the party’s .address.postalCode

Country
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/COUNTRY

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

Contact person
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/CONTACT_POINT

Map to the party’s .contactPoint.name

Telephone
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/PHONE

Map to the party’s .contactPoint.telephone

E-mail
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/E_MAIL

Map to the party’s .contactPoint.email

Fax
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/FAX

Map to the party’s .contactPoint.faxNumber

Internet address(es)

Main address (URL)
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/URL_GENERAL

Map to the party’s .details.url

Address of the buyer profile (URL)
/CONTRACTING_BODY/ADDRESS_CONTRACTING_BODY/URL_BUYER

Map to the party’s .details.buyerProfile

Section II

Index Label and XPath OCDS guidance
II

Object
/OBJECT_CONTRACT

II.1

Scope of the procurement

II.1.1

Title
/OBJECT_CONTRACT/TITLE

Map to tender.title

Reference number
/OBJECT_CONTRACT/REFERENCE_NUMBER

If not set, let Reference number be equal to the ocid value. Map to tender.id (string).

II.1.2

Unlabeled
/OBJECT_CONTRACT/CPV_MAIN

Main CPV code
/OBJECT_CONTRACT/CPV_MAIN/CPV_CODE

Set tender.classification.scheme to ‘CPV’, take the CPV code in the CODE attribute, and map to tender.classification.id

Supplementary CPV code
/OBJECT_CONTRACT/CPV_MAIN/CPV_SUPPLEMENTARY_CODE

For each CODE attribute, add a Classification object to the tender.additionalClassifications array, set its .scheme to ‘CPVS’, prefix by the Main CPV code, and map to its .id. Remove any duplicate entries from the tender.additionalClassifications array.

II.1.3

Type of contract
/OBJECT_CONTRACT/TYPE_CONTRACT

Set tender.mainProcurementCategory as follows:

Works
/OBJECT_CONTRACT/TYPE_CONTRACT/@CTYPEis WORKS

Map to ‘works’

Supplies
/OBJECT_CONTRACT/TYPE_CONTRACT/@CTYPEis SUPPLIES

Map to ‘goods’

Services
/OBJECT_CONTRACT/TYPE_CONTRACT/@CTYPEis SERVICES

Map to ‘services’

II.2

Description
/OBJECT_CONTRACT/OBJECT_DESCR

Add a Lot object to the tender.lots array, and add an Item object to the tender.items array.

II.2.1

Title
/OBJECT_CONTRACT/OBJECT_DESCR/TITLE

Map to the lot’s .title

Lot No
/OBJECT_CONTRACT/OBJECT_DESCR/LOT_NO

If not set, let Lot No be ‘1’. Map to the lot’s .id (string), map to the item’s .id (string), and map to the item’s .relatedLot (string).

II.2.2

Additional CPV code(s)
/OBJECT_CONTRACT/OBJECT_DESCR/CPV_ADDITIONAL

Main CPV code
/OBJECT_CONTRACT/OBJECT_DESCR/CPV_ADDITIONAL/CPV_CODE

For each CODE attribute, add a Classification object to the item’s .additionalClassifications array, set its .scheme to ‘CPV’, and map to its .id. Remove any duplicate entries from the item’s .additionalClassifications array.

F12, F13: Instead, for each CODE attribute, add a Classification object to the tender.additionalClassifications array, set its .scheme to ‘CPV’, and map to its .id. Remove any duplicate entries from the tender.additionalClassifications array.

Supplementary CPV code
/OBJECT_CONTRACT/OBJECT_DESCR/CPV_ADDITIONAL/CPV_SUPPLEMENTARY_CODE

For each CODE attribute, add a Classification object to the item’s .additionalClassifications array, set its .scheme to ‘CPVS’, prefix by the Main CPV code, and map to its .id. Remove any duplicate entries from the item’s .additionalClassifications array.

F12, F13: Instead, for each CODE attribute, add a Classification object to the tender.additionalClassifications array, set its .scheme to ‘CPVS’, prefix by the Main CPV code, and map to its .id. Remove any duplicate entries from the tender.additionalClassifications array.

II.2.3

Place of performance

NUTS code
/OBJECT_CONTRACT/OBJECT_DESCR/NUTS

For each NUTS element, take the NUTS code in its CODE attribute, add an Address object to the item’s .deliveryAddresses array, and map to its .region.

There’s an open issue (#739) about region codes. Issue

Main site or place of performance
/OBJECT_CONTRACT/OBJECT_DESCR/MAIN_SITE

Map to the item’s .deliveryLocation.description

II.2.4

Description of the procurement at the time of conclusion of the contract (nature and quantity of works, supplies or services)
/OBJECT_CONTRACT/OBJECT_DESCR/SHORT_DESCR

Map to the lot’s .description

F12, F13: Instead, map to tender.description

II.2.7

Duration of the contract, framework agreement, dynamic purchasing system or concession
/OBJECT_CONTRACT/OBJECT_DESCR/DURATION

Duration in months
/OBJECT_CONTRACT/OBJECT_DESCR/DURATION/@TYPEis MONTH

Multiply by 30, and map to the lot’s .contractPeriod.durationInDays

There’s an open issue (#723) about durations in months. Issue

or

Duration in days
/OBJECT_CONTRACT/OBJECT_DESCR/DURATION/@TYPEis DAY

Map to the lot’s .contractPeriod.durationInDays

or

Start (dd/mm/yyyy)
/OBJECT_CONTRACT/OBJECT_DESCR/DATE_START

Map to the lot’s .contractPeriod.startDate

End (dd/mm/yyyy)
/OBJECT_CONTRACT/OBJECT_DESCR/DATE_END

Map to the lot’s .contractPeriod.endDate

Directive 2014/24/EU

In the case of framework agreements, provide justification for any duration exceeding 4 years
/OBJECT_CONTRACT/OBJECT_DESCR/JUSTIFICATION

Map to tender.techniques.frameworkAgreement.periodRationale

Directive 2014/25/EU

In the case of framework agreements, provide justification for any duration exceeding 8 years

Same as In the case of framework agreements, provide justification for any duration exceeding 4 years above

Map to tender.techniques.frameworkAgreement.periodRationale

II.2.13

Information about European Union funds

The procurement is related to a project and/or programme financed by European Union funds

  • Get the Organization object whose .name is ‘European Union’. If none exists yet:
  • Add ‘funder’ to its .roles

  • Get the Finance object whose .description is the Identification of the project. If none exists yet:
    • Add a Finance object to the planning.budget.finance array
    • Map the Identification of the project to its .description
    • Set its .id incrementally
    • Set its .financingParty.name to ‘European Union’
    • Set its .financingParty.id to the party’s .id
  • Add the lot’s .id to the Finance object’s .relatedLots (F12, F13: Instead, do nothing)

In future forms, this field will be de-emphasized.

Discard. If there’s no party with the role ‘funder’ and the name ‘European Union’, then the procurement isn’t related to a project and/or programme financed by European Union funds.

Identification of the project

Section IV

Index Label and XPath OCDS guidance
IV

Procedure
/PROCEDURE

IV.2

Administrative information

IV.2.1

Contract award notice concerning this contract

Notice number in the OJ S
/PROCEDURE/NOTICE_NUMBER_OJ

Discard. The contract award notice concerning this contract is the OCDS release with the same ocid as this release, with ‘award’ in its tag, and with the nearest earlier date to this release.

Section V

Index Label and XPath OCDS guidance
V

Award of contract / concession
/AWARD_CONTRACT

Add an Award object to the awards array

Contract No
/AWARD_CONTRACT/CONTRACT_NO

Map to the award’s .id

This assumes the contract award notice set /AWARD_CONTRACT/CONTRACT_NO and that the Contract No is unique within the contracting process. Attention #93

Lot No
/AWARD_CONTRACT/LOT_NO

If not set, let Lot No be ‘1’. Add to the award’s .relatedLots (string).

Title
/AWARD_CONTRACT/TITLE

Map to the award’s .title

V.2

Award of contract / concession
/AWARD_CONTRACT/AWARDED_CONTRACT

Set the award’s .status to ‘active’

Add a Contract object to the contracts array, set its .id and .awardID to the award’s .id, set its .title to the award’s .title, and set its .status to ‘active’.

V.2.1

Date of the award decision of the contract / concession (dd/mm/yyyy)
/AWARD_CONTRACT/AWARDED_CONTRACT/DATE_CONCLUSION_CONTRACT

Map to the contract’s .dateSigned

Unlabeled
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS

V.2.2

Information about tenders

The contract / concession has been awarded to a group of economic operators

yes
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/AWARDED_TO_GROUP

Discard. If there are multiple suppliers, then the contract has been awarded to a group of economic operators.

no
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/NO_AWARDED_TO_GROUP

Discard. If there is one supplier, then the contract hasn’t been awarded to a group of economic operators.

Unlabeled
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR

V.2.3

Name and address of the contractor/concessionaire
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR

Add a party, and add ‘supplier’ to its .roles

Add an OrganizationReference object to the award’s .suppliers array, set its .id to the party’s .id, and set its .name to the party’s .name

Official name
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/OFFICIALNAME

Same as Official name above

Map to the party’s .name and .identifier.legalName

National registration number
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/NATIONALID

Same as National registration number above

Map to the party’s .identifier.id, and set .identifier.scheme

Postal address
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/ADDRESS

Same as Postal address above

Map to the party’s .address.streetAddress

Town
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/TOWN

Same as Town above

Map to the party’s .address.locality

NUTS code
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/NUTS

Same as NUTS code above

Take the NUTS code in the CODE attribute, and map to the party’s .address.region

There’s an open issue (#739) about region codes. Issue

Postal code
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/POSTAL_CODE

Same as Postal code above

Map to the party’s .address.postalCode

Country
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/COUNTRY

Same as Country above

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

E-mail
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/E_MAIL

Same as E-mail above

Map to the party’s .contactPoint.email

Telephone
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/PHONE

Same as Telephone above

Map to the party’s .contactPoint.telephone

Internet address (URL)
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/URL

Same as Main address above

Map to the party’s .details.url

Fax
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR/FAX

Same as Fax above

Map to the party’s .contactPoint.faxNumber

The contractor / concessionaire is an SME

yes
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/SME

Set the party’s .details.scale to ‘sme’

no (SME – as defined in Commission Recommendation 2003/361/EC)
/AWARD_CONTRACT/AWARDED_CONTRACT/CONTRACTORS/CONTRACTOR/NO_SME

Set the party’s .details.scale to ‘large’

V.2.4

Information on value of the contract/lot/concession (at the time of conclusion of the contract) (excluding VAT)
/AWARD_CONTRACT/AWARDED_CONTRACT/VALUES

Total value of the procurement
/AWARD_CONTRACT/AWARDED_CONTRACT/VALUES/VAL_TOTAL

Discard. The information on value of the contract/lot/concession (at the time of conclusion of the contract) is available in the OCDS release with the same ocid as this release, with ‘award’ in its tag, and with the nearest earlier date to this release.

Currency
/AWARD_CONTRACT/AWARDED_CONTRACT/VALUES/VAL_TOTAL/@CURRENCY

Discard as above

Section VI

Index Label and XPath OCDS guidance
VI

Complementary information
/COMPLEMENTARY_INFO

VI.3

Additional information
/COMPLEMENTARY_INFO/INFO_ADD

Map to the release’s description

VI.4

Procedures for review

VI.4.1

Review body
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY

Add a party, and add ‘reviewBody’ to its .roles

Official name
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/OFFICIALNAME

Same as Official name above

Map to the party’s .name and .identifier.legalName

Postal address
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/ADDRESS

Same as Postal address above

Map to the party’s .address.streetAddress

Town
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/TOWN

Same as Town above

Map to the party’s .address.locality

Postal code
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/POSTAL_CODE

Same as Postal code above

Map to the party’s .address.postalCode

Country
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/COUNTRY

Same as Country above

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

E-mail
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/E_MAIL

Same as E-mail above

Map to the party’s .contactPoint.email

Telephone
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/PHONE

Same as Telephone above

Map to the party’s .contactPoint.telephone

Internet address (URL)
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/URL

Same as Main address above

Map to the party’s .details.url

Fax
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_BODY/FAX

Same as Fax above

Map to the party’s .contactPoint.faxNumber

VI.4.2

Body responsible for mediation procedures
/COMPLEMENTARY_INFO/ADDRESS_MEDIATION_BODY

Add a party, and add ‘mediationBody’ to its .roles

Official name

Same as Official name above

Map to the party’s .name and .identifier.legalName

Postal address

Same as Postal address above

Map to the party’s .address.streetAddress

Town

Same as Town above

Map to the party’s .address.locality

Postal code

Same as Postal code above

Map to the party’s .address.postalCode

Country

Same as Country above

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

E-mail

Same as E-mail above

Map to the party’s .contactPoint.email

Telephone

Same as Telephone above

Map to the party’s .contactPoint.telephone

Internet address (URL)

Same as Internet address above

Map to the party’s .details.url

Fax

Same as Fax above

Map to the party’s .contactPoint.faxNumber

VI.4.3

Review procedure

Precise information on deadline(s) for review procedures
/COMPLEMENTARY_INFO/REVIEW_PROCEDURE

Map to tender.reviewDetails

VI.4.4

Service from which information about the review procedure may be obtained
/COMPLEMENTARY_INFO/ADDRESS_REVIEW_INFO

Add a party, and add ‘reviewContactPoint’ to its .roles

Official name

Same as Official name above

Map to the party’s .name and .identifier.legalName

Postal address

Same as Postal address above

Map to the party’s .address.streetAddress

Town

Same as Town above

Map to the party’s .address.locality

Postal code

Same as Postal code above

Map to the party’s .address.postalCode

Country

Same as Country above

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

E-mail

Same as E-mail above

Map to the party’s .contactPoint.email

Telephone

Same as Telephone above

Map to the party’s .contactPoint.telephone

Internet address (URL)

Same as Internet address above

Map to the party’s .details.url

Fax

Same as Fax above

Map to the party’s .contactPoint.faxNumber

VI.5

Date of dispatch of this notice (dd/mm/yyyy)
/COMPLEMENTARY_INFO/DATE_DISPATCH_NOTICE

Map to date

Section VII

Index Label and XPath OCDS guidance
VII

Modifications to the contract / concession
/MODIFICATIONS_CONTRACT

VII.1

Description of the procurement after the modifications
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT

Copy the Item object in tender.items to .items on the Contract object in contracts, and delete the contract’s item’s .classification and .additionalClassifications.

VII.1.1

Unlabeled
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_MAIN

Main CPV code
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_MAIN/CPV_CODE

Set the item’s .classification.scheme to ‘CPV’, take the CPV code in the CODE attribute, and map to the item’s .classification.id

Supplementary CPV code
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_MAIN/CPV_SUPPLEMENTARY_CODE

For each CODE attribute, add a Classification object to the item’s .additionalClassifications array, set its .scheme to ‘CPVS’, prefix by the Main CPV code, and map to its .id

VII.1.2

Additional CPV code(s)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_ADDITIONAL

Main CPV code
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_ADDITIONAL/CPV_CODE

For each CODE attribute, add a Classification object to the item’s .additionalClassifications array, set its .scheme to ‘CPV’, and map to its .id.

Supplementary CPV code
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CPV_ADDITIONAL/CPV_SUPPLEMENTARY_CODE

For each CODE attribute, add a Classification object to the item’s .additionalClassifications array, set its .scheme to ‘CPVS’, prefix by the Main CPV code, and map to its .id.

VII.1.3

Place of performance

NUTS code
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/NUTS

For each NUTS element, take the NUTS code in its CODE attribute, add an Address object to the item’s .deliveryAddresses array, and map to its .region.

There’s an open issue (#739) about region codes. Issue

Main site or place of performance
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/MAIN_SITE

Map to the item’s .deliveryLocation.description

VII.1.4

Description of the procurement (nature and quantity of works, supplies or services)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/SHORT_DESCR

Map to the lot’s .description

F12, F13: Instead, map to tender.description

If present, this takes precedence over the Description of the procurement at the time of conclusion of the contract.

VII.1.5

Duration of the contract, framework agreement, dynamic purchasing system or concession
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/DURATION

Duration in months
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/DURATION/@TYPEis MONTH

Multiply by 30, and map to the contract’s .period.durationInDays

There’s an open issue (#723) about durations in months. Issue

or

Duration in days
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/DURATION/@TYPEis DAY

Map to the contract’s .period.durationInDays

or

Start (dd/mm/yyyy)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/DATE_START

Map to the contract’s .period.startDate

End (dd/mm/yyyy)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/DATE_END

Map to the contract’s .period.endDate

Directive 2014/24/EU

In the case of framework agreements, provide justification for any duration exceeding 4 years
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/JUSTIFICATION

Map to the contract’s .periodRationale

Directive 2014/25/EU

In the case of framework agreements, provide justification for any duration exceeding 8 years

Same as In the case of framework agreements, provide justification for any duration exceeding 4 years above

Map to the contract’s .periodRationale

VII.1.6

Information on value of the contract/lot/concession (excluding VAT)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/VALUES

Total value of the contract / lot / concession
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/VALUES/VAL_TOTAL

Map to the contract’s .value.amount

Currency
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/VALUES/VAL_TOTAL/@CURRENCY

Map to the contract’s .value.currency

Unlabeled
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS

The contract / concession has been awarded to a group of economic operators

yes
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/AWARDED_TO_GROUP

Discard. If there are multiple suppliers, then the contract has been awarded to a group of economic operators.

no
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/NO_AWARDED_TO_GROUP

Discard. If there is one supplier, then the contract hasn’t been awarded to a group of economic operators.

VII.1.7

Unlabeled
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/CONTRACTOR

Name and address of the contractor/concessionaire
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/CONTRACTOR/ADDRESS_CONTRACTOR

Add a party, and add ‘supplier’ to its .roles

Add an OrganizationReference object to the award’s .suppliers array, set its .id to the party’s .id, and set its .name to the party’s .name.

There’s an open issue (#232) relevant to removing previous entries from the parties and .suppliers arrays. Issue

Official name

Same as Official name above

Map to the party’s .name and .identifier.legalName

National registration number

Same as National registration number above

Map to the party’s .identifier.id, and set .identifier.scheme

Postal address

Same as Postal address above

Map to the party’s .address.streetAddress

Town

Same as Town above

Map to the party’s .address.locality

NUTS code

Same as NUTS code above

Take the NUTS code in the CODE attribute, and map to the party’s .address.region

There’s an open issue (#739) about region codes. Issue

Postal code

Same as Postal code above

Map to the party’s .address.postalCode

Country

Same as Country above

Take the country code in the VALUE attribute, translate to a country name, and map to the party’s .address.countryName

There’s an open issue (#524) to add a .country field to the Address object, to avoid translation. Issue

E-mail

Same as E-mail above

Map to the party’s .contactPoint.email

Telephone

Same as Telephone above

Map to the party’s .contactPoint.telephone

Internet address (URL)

Same as Internet address above

Map to the party’s .details.url

Fax

Same as Fax above

Map to the party’s .contactPoint.faxNumber

The contractor / concessionaire is an SME

yes
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/CONTRACTOR/SME

Same as yes above

Set the party’s .details.scale to ‘sme’

no (SME – as defined in Commission Recommendation 2003/361/EC)
/MODIFICATIONS_CONTRACT/DESCRIPTION_PROCUREMENT/CONTRACTORS/CONTRACTOR/NO_SME

Same as no above

Set the party’s .details.scale to ‘large’

VII.2

Information about modifications
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS

Add an Amendment object to the contract’s .amendments array, and set its .id (string). The .id can be any value guaranteed to be globally unique. For example, it can be set to a version 4 UUID, or it can be assigned sequentially across all F14/F20 notices for this procedure (the first notice sets it to ‘1’, the second to ‘2’, etc.).

VII.2.1

Description of the modifications

Nature and extent of the modifications (with indication of possible earlier changes to the contract)
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/SHORT_DESCR

Map to the amendment’s .description

VII.2.2

Reasons for modification

Need for additional works, services or supplies by the original contractor / concessionaire (Art. 43(1)(b) of Directive 2014/23/EU, Art. 72(1)(b) of Directive 2014/24/EU, Art. 89(1)(b) of Directive 2014/25/EU)
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/ADDITIONAL_NEED

Prefix by the translation of “Need for additional works, services or supplies by the original contractor/concessionaire: “, and map to the amendment’s .rationale

Description of the economic or technical reasons and the inconvenience or duplication of cost preventing a change of contractor

Need for modification brought about by circumstances which a diligent contracting authority / entity could not foresee (Art. 43(1)(c) of Directive 2014/23/EU, Art. 72(1)(c) of Directive 2014/24/EU, Art. 89(1)(c) of Directive 2014/25/EU)
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/UNFORESEEN_CIRCUMSTANCE

Prefix by the translation of “Need for modification brought about by circumstances which a diligent contracting authority/entity could not foresee: “, and map to the amendment’s .rationale

Description of the circumstances which rendered the modification necessary and explanation of the unforeseen nature of these circumstances

VII.2.3

Increase in price
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/VALUES

Updated total contract value before the modifications (taking into account possible earlier contract modifications and price adaptions and, in the case of Directive 2014/23/EU, average inflation in the Member State concerned)

Value excluding VAT
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/VALUES/VAL_TOTAL_BEFORE

Discard. The updated total contract value before the modifications is available in the OCDS release with the same ocid as this release, with ‘contract’ or ‘contractUpdate’ in its tag, and with the nearest earlier date to this release.

Currency
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/VALUES/VAL_TOTAL_BEFORE/@CURRENCY

Discard as above

Total contract value after the modifications

Value excluding VAT
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/VALUES/VAL_TOTAL_AFTER

Map to the contract’s .value.amount. If present, this takes precedence over the total value of the contract/lot/concession.

Currency
/MODIFICATIONS_CONTRACT/INFO_MODIFICATIONS/VALUES/VAL_TOTAL_AFTER/@CURRENCY

Map to the contract’s .value.currency