Receber por email
← Voltar para o catálogo

Autotask Contracts

Use this skill when working with Autotask contracts and service agreements - recurring services, block hours, time & materials, and contract billing. Essential for MSP account managers handling service agreements, renewals, and billing in Autotask PSA.

31estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add wyre-technology/msp-claude-plugins

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/autotask-contracts/svg)](https://www.skillteca.com.br/skills/autotask-contracts)

Skills relacionadas

Ver todas de Documentos →

Alerta por categoria

Receba novas skills de Documentos toda segunda

1 email curto, só com as skills novas de Documentos. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Autotask Contracts Management

Overview

Contracts in Autotask define the service relationship with clients - what services you provide, how you bill for them, and what service levels apply. Contracts control how time and expenses flow to invoices and are critical for MSP financial management.

Key Concepts

Contract Types

| Type | Description | Billing Method | |------|-------------|----------------| | Recurring Services | Monthly/annual managed services | Fixed recurring fee | | Block Hours | Prepaid hour bank | Deduct from balance | | Time & Materials | Pay as you go | Bill actual time | | Fixed Price | Project-based fixed fee | Milestone billing | | Retainer | Prepaid monthly hours | Use or lose |

Contract Fields

| Field | Description | Required | |-------|-------------|----------| | id | Unique identifier | System | | contractName | Contract name | Yes | | companyID | Client company | Yes | | contractType | Type of contract | Yes | | status | Contract status | Yes | | startDate | Contract start | Yes | | endDate | Contract end | Yes | | setupFee | One-time setup fee | No | | timeReportingRequiresStartStopTimes | Require start/stop | No | | serviceLevelAgreementID | SLA assignment | No |

Contract Status

| ID | Status | Description | |----|--------|-------------| | 1 | Active | Current, billable | | 2 | Inactive | Suspended | | 3 | Cancelled | Terminated |

Service/Service Bundle

Services define what's included in a contract:

| Field | Description | |-------|-------------| | serviceName | Name of service | | unitPrice | Price per unit | | unitCost | Cost per unit | | periodType | Monthly, Quarterly, Annual | | isOptional | Required vs optional |

API Patterns

Creating a Contract

POST /v1.0/Contracts
Content-Type: application/json
{
  "contractName": "Acme Corp - Managed Services",
  "companyID": 12345,
  "contractType": 1,
  "status": 1,
  "startDate": "2024-01-01",
  "endDate": "2024-12-31",
  "setupFee": 500.00,
  "timeReportingRequiresStartStopTimes": true,
  "serviceLevelAgreementID": 1
}

Adding Services to Contract

POST /v1.0/ContractServices
Content-Type: application/json
{
  "contractID": 54321,
  "serviceID": 111,
  "unitPrice": 150.00,
  "adjustedPrice": 150.00,
  "quantity": 50,
  "effectiveDate": "2024-01-01"
}

Creating Block Hours Contract

POST /v1.0/Contracts
Content-Type: application/json
{
  "contractName": "Acme Corp - Block Hours",
  "companyID": 12345,
  "contractType": 4,
  "status": 1,
  "startDate": "2024-01-01",
  "endDate": "2024-06-30"
}

Then add block hours:

POST /v1.0/ContractBlocks
Content-Type: application/json
{
  "contractID": 54322,
  "datePurchased": "2024-01-01",
  "hoursPurchased": 40,
  "hourlyRate": 150.00,
  "isPaid": true
}

Searching Contracts

Active contracts for a company:

{
  "filter": [
    {"field": "companyID", "op": "eq", "value": 12345},
    {"field": "status", "op": "eq", "value": 1}
  ]
}

Contracts expiring soon:

{
  "filter": [
    {"field": "status", "op": "eq", "value": 1},
    {"field": "endDate", "op": "lte", "value": "2024-03-31"},
    {"field": "endDate", "op": "gte", "value": "2024-01-01"}
  ]
}

Checking Block Hour Balance

GET /v1.0/ContractBlocks/query?search={"filter":[{"field":"contractID","op":"eq","value":54322}]}

Calculate remaining hours:

  • Sum hoursPurchased - Sum of time entries against contract

Renewing a Contract

  1. Create new contract with updated dates
  2. Copy services from old contract
  3. Update old contract status to Inactive
  4. Link any ongoing tickets to new contract

Common Workflows

Contract Setup

  1. Create contract
  2. Set type, dates, status
  3. Assign SLA
  1. Add services
  2. Define included services
  3. Set pricing and quantities
  1. Configure billing
  2. Invoice frequency
  3. Payment terms
  1. Assign to tickets
  2. Set as default for company
  3. Route work appropriately

Contract Renewal

  1. Identify expiring contracts
  2. Query contracts by endDate
  3. Generate renewal report
  1. Review contract performance
  2. Compare budgeted vs actual hours
  3. Analyze profitability
  1. Negotiate renewal
  2. Adjust pricing if needed
  3. Update service scope
  1. Create renewal
  2. New contract with new dates
  3. Update company default contract

Block Hours Management

  1. Monitor balance
  2. Track hours remaining
  3. Alert at threshold (e.g., 10 hours)
  1. Replenish as needed
  2. Add new block purchase
  3. Invoice for new hours
  1. Handle overages
  2. Bill at T&M rate
  3. Or convert to new block

Service Level Agreements (SLAs)

Contracts can be linked to SLAs:

| SLA Metric | Description | |------------|-------------| | Response Time | Time to first response | | Resolution Time | Time to resolve | | Uptime | System availability % | | Business Hours | When SLA applies |

SLA violations trigger alerts and can affect contract terms.

Error Handling

Common API Errors

| Code | Message | Resolution | |------|---------|------------| | 400 | Invalid contract type | Use valid contract type ID | | 400 | EndDate before StartDate | Fix date sequence | | 409 | Cannot modify - has billing | Adjust dates only | | 404 | ServiceID not found | Verify service exists |

Validation Errors

"CompanyID is required" - Must associate with a company

"StartDate is required" - All contracts need start date

"Invalid service for contract type" - Service must match contract type

Best Practices

  1. Name consistently - "Company - Contract Type" format
  2. Set end dates - Never leave end date empty
  3. Review renewals - Quarterly expiration review
  4. Track profitability - Compare budgeted vs actual
  5. Document terms - Note special conditions
  6. Alert on block hours - Proactive replenishment
  7. Assign SLAs - Define service expectations
  8. Audit regularly - Ensure tickets use correct contracts

Related Skills

  • [Autotask Tickets](../tickets/SKILL.md) - Ticket-contract association
  • [Autotask CRM](../crm/SKILL.md) - Company relationships
  • [Autotask Projects](../projects/SKILL.md) - Project billing
Compartilhar X LinkedIn