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

# How Terrace works

> One connected system: how orders, growing, inventory, invoicing, and delivery fit together.

Most operations run on a stack of disconnected tools: a spreadsheet for orders, a whiteboard for what's growing, a notebook for stock, accounting software for invoices, and texts to the driver. The numbers never quite agree.

Terrace is one system instead. The **order** is the thread that ties everything together. The moment you create one, it reaches into growing, inventory, invoicing, and delivery on its own. This page explains that connective tissue so the rest of the docs make sense.

## The order is the thread

Everything in Terrace hangs off an order. Creating one pulls in the customer's pricing, reserves the product, schedules the picking, bills the customer, and books the delivery, not as five separate chores but as one flow you move through by changing the order's status.

<div className="terrace-flow" style={{overflowX: 'auto', minHeight: '1240px'}}>
  ```mermaid theme={null}
  flowchart TB
      O[New order] --> P[Pending]
      P --> AH[Awaiting Harvest]
      AH --> HV[Harvested]
      HV --> RP[Ready for Pickup]
      RP --> IT[In Transit]
      IT --> DL[Delivered]
      DL --> CP[Completed]

      O -. prices from .-> CU([Customer &amp; tier])
      AH -. appears on .-> GS([Growing schedule])
      GS -. allocates a batch to .-> HV
      HV -. deducts .-> IV([Inventory])
      RP -. assigned to a .-> LD([Load &amp; driver])
      LD -. moves .-> IT
      O -. can generate an .-> IN([Invoice])
      CP -. settled by a payment on .-> IN

      classDef stage fill:#166534,stroke:#0f3d20,color:#ffffff;
      classDef sub fill:#e7f6ec,stroke:#4eb748,color:#14532d;
      class O,P,AH,HV,RP,IT,DL,CP stage;
      class CU,GS,IV,LD,IN sub;
  ```
</div>

The green spine is the order's lifecycle. The rounded nodes are the other parts of Terrace it touches along the way, and each one updates automatically as the order moves.

## What each stage sets in motion

<Steps>
  <Step title="New order → Pending">
    You pick the customer and Terrace applies their [pricing tier and discounts](/guides/customers) to every line item. You can generate the [invoice](/guides/invoices) right away or later.
  </Step>

  <Step title="Awaiting Harvest">
    The order lands on the [growing schedule](/guides/growing). Your field crew now knows exactly what to pull, how much, and by when.
  </Step>

  <Step title="Harvested">
    You log the product against the order. Terrace allocates it from a [growing batch](/guides/growing) (prompting you to choose which one when more than one could supply it) and deducts the quantity from [inventory](/guides/inventory) so it can't be sold twice.
  </Step>

  <Step title="Ready for Pickup → In Transit">
    The order is packed and assigned to a [load and driver](/guides/trucking). As the driver works their route, the order moves itself to In Transit and then Delivered.
  </Step>

  <Step title="Delivered → Completed">
    The order is fulfilled and closed. Record the [payment](/guides/invoices) and the invoice settles. Your revenue and [analytics](/guides/growing#growing-analytics) update on their own.
  </Step>
</Steps>

<Note>
  Two statuses sit outside the main flow: **On Hold** pauses an order without losing its place, and **Cancelled** stops it and releases everything it was holding, so the reserved stock and any batch allocations go back into supply.
</Note>

## Why this matters

Because the pieces are connected, a single action keeps the whole operation honest:

* Committing an order **can't oversell** you, because the stock is deducted the moment it's promised.
* Every order is **traceable**: you can always see which field and planting it came from, and every batch can tell you which customers received it.
* The numbers **agree by default**: the invoice matches the order, inventory matches what's been picked, and revenue matches what's been delivered. Nothing to reconcile by hand.

## Who sees what

Terrace shows each person the slice of this flow that's theirs. An owner sees the whole operation; office staff live in orders and invoices; field crews work the growing schedule; drivers get their deliveries. What each role can see and do is governed by [permissions](/guides/account#roles-and-permissions).

## Where to go next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Set up your operation and create your first order.
  </Card>

  <Card title="Orders" icon="clipboard-list" href="/guides/orders">
    The full order lifecycle in detail.
  </Card>

  <Card title="Growing" icon="wheat-awn" href="/guides/growing">
    Batches, the growing schedule, and allocation.
  </Card>

  <Card title="Inventory" icon="boxes-stacked" href="/guides/inventory">
    Products, stock, locations, and operations.
  </Card>
</CardGroup>

<Note>
  Still deciding whether Terrace fits your operation? [Book a demo](https://calendly.com/wyattbunch-terracetech/30min) or [talk to us](/contact), and we'll help you figure it out.
</Note>
