> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.tabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.tabs.com/_mcp/server.

# Structure & Extraction

When Tabs processes a contract, it reads the document and converts legal language into structured billing data linked to the customer record.

## Supported document types

Tabs reads and processes entire agreements — not just a single document type:

* Master Service Agreements (MSAs)
* Order forms
* Purchase orders (POs)
* Amendments
* Negotiation emails

## What Tabs extracts

Once ingested, Tabs extracts structured data such as:

| Category            | Examples                                                            |
| ------------------- | ------------------------------------------------------------------- |
| Billing structures  | Fixed, usage-based, tiered, and seat-based pricing                  |
| Billing frequency   | Annual, semi-annual, quarterly, monthly, daily, or one-time         |
| Key dates           | Signature date, effective date, invoice date, service start and end |
| Payment terms       | Net terms, late fees, cancellation conditions                       |
| Renewal terms       | Auto-renewals, notice periods                                       |
| Invoicing schedules | Milestone-based, upfront, recurring, in-arrears                     |
| Variable terms      | Volume discounts, escalators, SKU-level pricing                     |

Tabs is not a one-time extraction tool. When amendments, renewals, or payment terms change, Tabs dynamically adjusts associated invoices and revenue schedules.

## What's on a contract record

Each contract in Tabs has:

| Field        | Description                                                               |
| ------------ | ------------------------------------------------------------------------- |
| Contract ID  | Unique identifier in Tabs — use this for API calls and cross-system joins |
| Name         | Display name for the agreement (e.g. "Acme — 2026 Order Form")            |
| Customer ID  | The customer this contract belongs to                                     |
| Status       | Processing state (e.g. `NEW`, processed, deleted)                         |
| Close date   | The date the deal closed or the contract was signed                       |
| Source       | Where the contract came from (CRM, API, email ingest, etc.)               |
| External IDs | CRM or ERP identifiers, when linked                                       |
| File         | The uploaded contract PDF                                                 |

Within each contract, Tabs organizes billing into **billing term groups** — the unit that ties billing and revenue recognition together. Each group contains one or more **billing terms** (what gets billed) and one or more **performance obligations** (how revenue is recognized).

You can view the billing and revenue impact of each product on a contract through the **Billing Schedule** and **Revenue Schedule** charts in the app.

## Writing contracts for accurate extraction

Tabs uses AI to parse your agreements. Clear contract structure leads to faster processing and fewer review cycles.

### Customer and billing contact

* Include the email address that will receive invoices
* Provide a full physical billing address

### Term definitions

* **Service term** — clear subscription start and end dates for accurate revenue recognition
* **Usage term (in arrears)** — clearly define the period for which usage data will be processed and billed

### Billing frequency and dates

* Specify whether billing is annual, semi-annual, quarterly, monthly, daily, or one-time
* Define critical dates:
  * **Invoice date** — when the invoice will be issued
  * **Signature date** — when the contract becomes legally binding
  * **Effective date** — when the service term starts

### Payment terms

* State net terms explicitly (e.g. Net 30)
* Include late charges or credit card fees if applicable
* Define cancellation conditions and any waived fees or promotions

### Pricing structure

* **Flat fees** — clearly define quantity and rate
* **Usage and tiered fees** — provide detailed milestones and per-unit costs
* Name line items exactly as they should appear on invoices
* Include escalators with percentage increases for multi-year contracts

During implementation, your team can calibrate the contract agent against your specific contract formats for higher extraction accuracy. See [Contract Ingestion & Integrations](/contract-ingestion) for how uploaded contracts move through processing.