professional-services
Common Paper Professional Services Agreement
A professional services agreement with key terms, statement of work, and standard terms, based on Common Paper's standard form. Covers consulting and professional services engagements including deliverables, IP ownership, fees, and liability.
89 fields
CC-BY-4.0
Source: Common Paper
Fill this template
With Claude Code
Just ask Claude — no installation required:
Fill the common-paper-professional-services-agreement template for my company
With the CLI
npx -y open-agreements@latest fill common-paper-professional-services-agreement -d values.json -o output.docx
With the hosted MCP
Add to your MCP config for zero-install access to all templates:
{
"mcpServers": {
"open-agreements": {
"url": "https://openagreements.ai/api/mcp"
}
}
}
Fields (89)
| Field | Type | Description |
|---|---|---|
company_name |
string | Official company name |
provider_name |
string | Official name of the Provider |
customer_name |
string | Official name of the Customer |
key_terms_effective_date |
string | Effective Date of Key Terms |
custom_effective_date |
string | Custom effective date |
custom_sow_date |
string | Custom SOW date |
sow_number |
string | Statement of Work number |
term_duration_unit |
string | Duration unit for term |
custom_end_date |
string | Custom end date |
payment_terms |
string | Payment terms |
invoice_frequency_unit |
string | Invoice frequency unit |
services_description |
string | Description of the Services to be performed, including key individuals, timeline, and milestones |
provider_covered_claims_detail |
string | Detail of Provider Covered Claims covering IP infringement, employee misclassification, and gross negligence |
customer_covered_claims_detail |
string | Detail of Customer Covered Claims covering IP infringement and gross negligence |
dpa_description |
string | Description of or reference to the Data Processing Agreement |
term_duration_value |
string | Numeric duration for the SOW term (e.g. "6", "12") |
rejection_period_value |
string | Number of time units for the deliverable rejection period |
resubmission_period_value |
string | Number of time units for the deliverable resubmission period |
sow_changes_to_standard_terms |
string | Changes to the Standard Terms that apply only to this SOW |
changes_to_standard_terms |
string | Changes to the Standard Terms that apply to the Agreement and all SOWs |
fee_description |
string | Description of fees including hourly, project, or milestone-based rates and pass-through charges |
invoice_cadence |
string | Cadence for sending invoices (e.g. monthly, quarterly, upon acceptance, after each milestone) |
customer_obligations |
string | Customer obligations such as identifying a point of contact or geographic limitations |
increased_claim_other_detail |
string | Description of a custom Increased Claim category |
unlimited_claim_other_detail |
string | Description of a custom Unlimited Claim category |
additional_warranty_provider_detail |
string | Additional warranty text provided by the Provider |
additional_warranty_customer_detail |
string | Additional warranty text provided by the Customer |
other_security_certification |
string | Name of additional security certification (e.g. "ISO 27701") |
payment_terms_days |
string | Days to pay after invoice |
non_renewal_notice_days |
string | Non-renewal notice days |
general_cap_amount |
string | General liability cap |
cap_multiplier |
string | Cap multiplier |
increased_cap_amount |
string | Increased cap amount |
greater_of_dollar |
string | Greater-of dollar amount |
include_in_progress_deliverables |
boolean | Set to true when in-progress work should be included as Deliverables in addition to completed projects. |
deliverables_meet_specs |
boolean | Set to true when Deliverables must meet attached specifications. |
deliverables_acceptance_process |
boolean | Set to true when Deliverables are subject to an acceptance process before being considered final. |
ownership_upon_payment |
boolean | Set to true when Customer owns Deliverables only upon full payment (not as they are created). |
no_third_party_materials |
boolean | Set to true when no Third-Party Materials will be incorporated into Deliverables. |
has_third_party_materials |
boolean | Set to true when Third-Party Materials will be incorporated into Deliverables. |
provider_procures_materials |
boolean | Set to true when Provider is responsible for procuring required Third-Party Materials. |
customer_procures_materials |
boolean | Set to true when Customer is responsible for procuring required Third-Party Materials. |
additional_terms_by_provider |
boolean | Set to true when Provider is adding additional terms to the agreement. Specify terms in additional_warranty_provider_detail. |
additional_terms_by_customer |
boolean | Set to true when Customer is adding additional terms to the agreement. Specify terms in additional_warranty_customer_detail. |
has_security_policy |
boolean | Set to true when Provider has a Security Policy available at the specified DPA reference URL. |
has_security_certifications |
boolean | Set to true when Provider maintains annually updated security reports or certifications. |
cert_iso_27001 |
boolean | Set to true when Provider holds ISO 27001 certification. |
cert_penetration_testing |
boolean | Set to true when Provider performs regular penetration testing. |
cert_soc2_type1 |
boolean | Set to true when Provider holds SOC 2 Type I certification. |
cert_pci_level1 |
boolean | Set to true when Provider holds PCI Level 1 certification. |
cert_soc2_type2 |
boolean | Set to true when Provider holds SOC 2 Type II certification. |
cert_pci_level2 |
boolean | Set to true when Provider holds PCI Level 2 certification. |
cert_hitrust |
boolean | Set to true when Provider holds HITRUST certification. |
cert_fedramp |
boolean | Set to true when Provider holds FedRAMP Authorization. |
cert_other |
boolean | Set to true to include an additional security certification. Specify the certification in other_security_certification. |
provider_may_use_logo |
boolean | Set to true when Provider may publicly identify Customer and use Customer's logo and trademarks in promotional materials. |
provider_may_identify_nonpublic |
boolean | Set to true when Provider may identify Customer as a customer in non-public settings (e.g., sales conversations). |
general_cap_type |
enum | How the General Cap Amount (baseline liability limit) is calculated. "multiplier" uses a multiple of fees, "dollar" uses a fixed amount, "greater_of" uses the greater of a dollar amount or a multiple of fees. |
increased_cap_type |
enum | How the Increased Cap Amount (higher liability limit for Increased Claims) is calculated. Same options as general_cap_type. |
increased_claim_breach_privacy |
boolean | Set to true when breach of Section 3 (Privacy & Security) should be classified as an Increased Claim with a higher liability cap. |
increased_claim_breach_conf |
boolean | Set to true when breach of Section 11 (Confidentiality) should be classified as an Increased Claim (excluding Privacy & Security breaches). |
increased_claim_indemnification |
boolean | Set to true when indemnification obligations for Covered Claims should be classified as an Increased Claim. |
increased_claim_breach_privacy_gross |
boolean | Set to true when breach of Privacy & Security resulting from gross negligence or willful misconduct is an Increased Claim. |
increased_claim_breach_conf_gross |
boolean | Set to true when breach of Confidentiality resulting from gross negligence or willful misconduct is an Increased Claim. |
increased_claim_gross_willful |
boolean | Set to true when claims from gross negligence or willful misconduct should be classified as Increased Claims. |
increased_claim_other |
boolean | Set to true to include a custom Increased Claim category. Specify in increased_claim_other_detail. |
unlimited_claim_breach_privacy_gross |
boolean | Set to true when breach of Privacy & Security resulting from gross negligence should have no liability cap (Unlimited Claim). |
unlimited_claim_breach_conf_gross |
boolean | Set to true when breach of Confidentiality resulting from gross negligence should have no liability cap (Unlimited Claim). |
unlimited_claim_indemnification |
boolean | Set to true when indemnification for Covered Claims should have no liability cap (Unlimited Claim). |
unlimited_claim_breach_privacy |
boolean | Set to true when breach of Section 3 (Privacy & Security) should have no liability cap (Unlimited Claim). |
unlimited_claim_breach_conf |
boolean | Set to true when breach of Section 11 (Confidentiality) should have no liability cap (Unlimited Claim). |
unlimited_claim_gross_willful |
boolean | Set to true when claims from gross negligence or willful misconduct should have no liability cap (Unlimited Claim). |
unlimited_claim_other |
boolean | Set to true to include a custom Unlimited Claim category. Specify in unlimited_claim_other_detail. |
governing_law |
string | Governing law |
jurisdiction |
string | Jurisdiction |
travel_expense_policy |
string | Travel and expense policy |
customer_owned_deliverables |
string | Customer-owned deliverables |
support_policy_reference |
string | Support policy reference |
dpa_reference |
string | DPA reference |
provider_signatory_type |
enum | Whether the Provider signatory is an entity or individual |
provider_signatory_name |
string | Full legal name of the Provider's signatory |
provider_signatory_title |
string | Title/role of the Provider's signatory (entity only) |
provider_signatory_company |
string | Company name for the Provider signatory (entity only) |
provider_signatory_email |
string | Notice email address for the Provider |
customer_signatory_type |
enum | Whether the Customer signatory is an entity or individual |
customer_signatory_name |
string | Full legal name of the Customer's signatory |
customer_signatory_title |
string | Title/role of the Customer's signatory (entity only) |
customer_signatory_company |
string | Company name for the Customer signatory (entity only) |
customer_signatory_email |
string | Notice email address for the Customer |