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

# Contract Intake

> Creating contracts manually, importing them, or extracting them from a scanned PDF.

There are three ways a contract enters Alforse:

<Tabs>
  <Tab title="Manual entry">
    Fill in the contract form directly. This maps to `POST /contracts` — see
    [Contracts](/api-reference/contracts) for every field (parties, equipment, pricing, payment
    terms, dates, and the initial payment plan).
  </Tab>

  <Tab title="Spreadsheet import">
    Bulk-create contracts from a prepared import payload via `POST /contracts/import`.
  </Tab>

  <Tab title="Scanned PDF + OCR">
    Available on the **Team** plan and above (`OCR_ENABLED=true` in the API's configuration).
    The flow is:

    1. Upload the file through the presign → object-store PUT → confirm flow
       (`POST /files/presign`, then `POST /files/confirm`) — see [Files](/api-reference/files).
    2. Run extraction: `POST /contracts/extract`.
    3. Review the extracted fields and confirm or correct them:
       `PATCH /contracts/extractions/:runId/review`.

    OCR extraction runs through the `document-ai.alforse.com` adapter. Contract originals and
    OCR full text are treated as highly confidential — they are not sent to external AI
    providers or returned in default API responses.
  </Tab>
</Tabs>

## After intake

Once a contract exists, you can attach payment terms, notes, fulfillment tasks, and invoice
records to it — see [Contracts](/api-reference/contracts) for the `:id/terms`, `:id/notes`,
`:id/fulfillment-tasks`, and `:id/invoices` endpoints, and
[Payments & Invoices](/guides/payments-invoices) for the payment side.
