A framework agreement is a contract signed by a supplier. On the Digital Marketplace, this is performed by a supplier submitting a form from their account, which is considered ‘electronically signed’. After which a countersigned document is automatically generated to complete the contract.
Once a supplier has been awarded a place on a framework, they must sign their framework agreement in order to sell their services to public sector buyers. If they do not, then the supplier’s services may be suspended from the platform (i.e. removed from search results).
Agreement files are usually created just before the
standstill period of a framework.
See Generating framework agreements for more information on this process.
The generated agreement file contains:
the supplier’s registered name
the supplier’s registered address
the supplier’s company registration number (Companies House number or other number)
the lots on which the supplier made a successful application
the framework ‘agreement version’ e.g.
the signing user’s name and role
the CCS countersigning user’s name and role
the boilerplate full contract text
During standstill, a supplier receives an email saying that their agreement is ready to download, and a link to the
signing page, e.g.
They can also navigate to this URL by logging into their account and following the links, which will be visible up until their agreement has been uploaded.
The supplier must provide details of the person signing (their name and role). These details are stored in the database as a
FrameworkAgreement object (visible in the API at
If the supplier makes a mistake and needs to sign a new agreement, they can go directly to the signing page from the link in their invitation to sign email and try
again. This will create a new
FrameworkAgreement and trigger the creation of a new countersigning document.
The old agreements will still be present in the API for audit purposes.
Each night the
generate-and-upload-countersigned-signature-pages Jenkins job does the following:
checks for any newly signed agreements
un-suspends any services suspended by the suspend-suppliers-without-agreements.py script for them
generates the ‘countersigned’ PDF
uploads the countersigned agreement page to S3
sends a Notify email to the suppliers that the countersigned agreement is ready to download in their account.
Suppliers are usually given a couple of weeks to return their signed framework agreement, after which CCS may choose to suspend the supplier from the framework.
CCS Category admins have the ability to suspend all the services for a supplier on a particular framework.
Once draft services have been published a developer needs to run the script: suspend-suppliers-without-agreements.py to bulk-suspend all suppliers which have not signed the agreement. This script outputs a list of email addresses, so that we can notify the suppliers they’ve been suspended (and explain how they can get un-suspended).
Once a suspended supplier has signed their framework agreement their services will be automatically unsuspended by the countersigning script. See: 3 - Countersigning an agreement.