> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ledgerup.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Contracts

> Read contract documents and extract billing terms to ensure accurate invoicing

export const AriMention = () => <span className="slack-mention">@Ari</span>;

export const SlackMessage = ({children, name = "Bailey", initials = "B", color = "#611f69", avatar = "/images/bailey-avatar.png", app = false, time = "2:47 PM"}) => <div className="slack-msg not-prose">
    <div className="slack-avatar" style={{
  backgroundColor: avatar ? "transparent" : color
}}>
      {avatar ? <img src={avatar} alt={name} /> : initials}
    </div>
    <div className="slack-msg-body">
      <span className="slack-name">{name}</span>
      {app ? <span className="slack-app-badge">APP</span> : null}
      <span className="slack-time">{time}</span>
      <div className="slack-text">{children}</div>
    </div>
    <div className="slack-actions">
      <button type="button" className="slack-action-btn" aria-label="Copy message" title="Copy message" onClick={e => {
  const msg = e.currentTarget.closest(".slack-msg");
  const el = msg && msg.querySelector(".slack-text");
  if (el && navigator.clipboard) {
    navigator.clipboard.writeText(el.innerText);
    const btn = e.currentTarget;
    const prev = btn.innerHTML;
    btn.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="#2AD48A" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>';
    setTimeout(() => {
      btn.innerHTML = prev;
    }, 1200);
  }
}}>
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
        </svg>
      </button>
    </div>
  </div>;

Contracts contain the terms that drive your revenue. Ari reads and understands contract documents, extracting key billing information so you can invoice accurately and recognize revenue correctly. No more hunting through PDFs for payment terms.

## Uploading Contracts

Store contracts in a way that Ari can access and reference them.

<Steps>
  <Step title="Prepare the contract">
    Have the signed contract as a PDF or image file
  </Step>

  <Step title="Associate with customer">
    Link the contract to the correct customer record in Slack
  </Step>

  <Step title="Provide to Ari">
    @Ari upload the contract or reference an existing document
  </Step>

  <Step title="Ari processes">
    Ari reads the document and extracts key terms automatically
  </Step>
</Steps>

### Example Commands

<SlackMessage><AriMention /> upload the contract for Acme Corp and associate it with their customer record</SlackMessage>

<SlackMessage><AriMention /> reference the contract we have on file for TechStart Inc</SlackMessage>

<Note>
  Contracts are stored securely and encrypted. Only team members with appropriate permissions can view them in Ari.
</Note>

## Extracting Billing Terms

Ari reads contracts and pulls out the billing information you need for accurate invoicing.

<Tip>
  Let Ari do the legwork of finding payment terms, renewal dates, and special conditions. This saves time and prevents billing errors.
</Tip>

### Key Terms Extracted

Ari automatically identifies:

* **Payment Terms**: Net 30, Net 60, Due on receipt, etc.
* **Billing Frequency**: Monthly, quarterly, annually, or custom
* **Service Period**: Start date, end date, renewal terms
* **Pricing**: Base price, unit pricing, volume discounts
* **Special Conditions**: Discounts, minimum commitments, usage-based components
* **Invoice Requirements**: Any special formats or approval processes
* **Payment Methods**: Preferred payment method or authorized contacts

### Example Commands

<SlackMessage><AriMention /> extract the billing terms from Acme Corp's contract</SlackMessage>

<SlackMessage><AriMention /> what's the payment term in TechStart Inc's contract?</SlackMessage>

<SlackMessage><AriMention /> show me the pricing structure from Global Systems LLC's agreement</SlackMessage>

<SlackMessage><AriMention /> when does ProjectCo's contract renew and what are the renewal terms?</SlackMessage>

## Billing According to Contract

Use extracted contract terms to guide invoicing actions.

<Steps>
  <Step title="Check contract terms">
    @Ari review \[customer]'s contract before I invoice them
  </Step>

  <Step title="Ari summarizes">
    Ari displays the relevant billing terms and any special conditions
  </Step>

  <Step title="Create invoice">
    Use the information to create an accurate invoice matching contract terms
  </Step>

  <Step title="Confirm compliance">
    Ari can verify that your invoice matches the contract before sending
  </Step>
</Steps>

### Example Commands

<SlackMessage><AriMention /> review Acme Corp's contract for billing terms before I invoice them for February</SlackMessage>

<SlackMessage><AriMention /> confirm that invoice #INV-12345 for TechStart Inc matches their contract terms</SlackMessage>

<SlackMessage><AriMention /> create an invoice for Global Systems LLC according to their contract pricing</SlackMessage>

## Contract Renewal Tracking

Never miss a contract renewal date.

<SlackMessage><AriMention /> what contracts renew in the next 90 days?</SlackMessage>

<SlackMessage><AriMention /> when does Acme Corp's contract renew?</SlackMessage>

<SlackMessage><AriMention /> show me the renewal terms for TechStart Inc's contract</SlackMessage>

<Note>
  Ari can alert you to upcoming renewals so you have time to negotiate or prepare renewal documents before expiration.
</Note>

## Multi-Currency and International Contracts

Handle contracts with different payment currencies and locales.

<SlackMessage><AriMention /> show me the contract terms for our European customer (TechStart GmbH) including currency and tax requirements</SlackMessage>

<SlackMessage><AriMention /> confirm that invoice #INV-12346 for Global Systems UK is in GBP as specified in their contract</SlackMessage>

## Amendment Tracking

When contract terms change, track amendments and updates.

<Steps>
  <Step title="Note the amendment">
    @Ari add an amendment to \[customer]'s contract
  </Step>

  <Step title="Describe changes">
    Tell Ari what terms were modified
  </Step>

  <Step title="Update billing">
    Ari can help ensure your invoicing reflects the new terms
  </Step>
</Steps>

### Example Commands

<SlackMessage><AriMention /> record an amendment to Acme Corp's contract - price increased to {"$"}6,000/month effective March 1</SlackMessage>

<SlackMessage><AriMention /> add amendment to TechStart Inc's agreement: added quarterly usage-based pricing</SlackMessage>

## Approval Integration

Use contract terms in your approval workflow.

<Tip>
  When creating large invoices or offering special pricing, reference the contract to justify the decision. This helps with internal approvals.
</Tip>

<SlackMessage><AriMention /> create invoice for Acme Corp per their contract terms: {"$"}5,000/month for consulting (as per paragraph 3 of their signed agreement)</SlackMessage>

## Contract Questions

Ask Ari to answer specific questions about any contract.

<SlackMessage><AriMention /> what payment terms does Global Systems LLC have in their contract?</SlackMessage>

<SlackMessage><AriMention /> how much should we charge ProjectCo per month according to their contract?</SlackMessage>

<SlackMessage><AriMention /> are there any volume discounts in Acme Corp's contract?</SlackMessage>

<SlackMessage><AriMention /> does TechStart Inc's contract require specific invoice formats?</SlackMessage>

## Best Practices

* **Upload contracts promptly**: Get signed contracts into Ari's system as soon as they're executed
* **Review extractions**: While Ari's extraction is accurate, always review complex contracts for nuance
* **Use for invoicing**: Reference contract terms when creating every invoice to ensure compliance
* **Plan for renewals**: Set reminders 60-90 days before renewal to give yourself time to negotiate
* **Track amendments**: Keep a clear record of any contract changes
* **Consistent naming**: Keep customer names consistent between contracts and customer records for easy lookup

## Document Security

<Note>
  All contracts stored in Ari are encrypted and access is controlled by role-based permissions. Team members can only view contracts for customers they have access to.
</Note>
