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

# Finance

> Set up Finance in Ravenna: purchase approvals with thresholds that route themselves, expense and invoice intake by email, and policy questions answered before they become tickets.

Finance requests are mostly approvals wearing a costume. Someone wants to spend money, and the work is establishing who says yes, in what order, and with what evidence attached. That is the part Ravenna is unusually good at.

## What Finance owns in Ravenna

<CardGroup cols={2}>
  <Card title="Purchase approvals" icon="receipt" href="/guides/playbooks/finance/purchase-approvals" horizontal>
    A request form with thresholds that pick the approval path for you.
  </Card>

  <Card title="Expenses and invoices" icon="file-text" href="/guides/playbooks/finance/expenses-and-invoices" horizontal>
    Vendor invoices and expense questions in one tracked place instead of an inbox.
  </Card>
</CardGroup>

## Suggested shape

One workspace called **Finance**. Whether it should be private depends on your culture: purchase requests are usually fine in the open, and payroll or compensation questions are not. If you handle both, keep the workspace open and use [private tickets](/documentation/tickets/private-tickets) for the sensitive ones, or split payroll questions into the People desk.

Categories that pay off later in reporting: Purchase request, Expense, Invoice, Payroll, Vendor, Policy question.

The two entry points that matter most are the Slack channel for spend requests and the channel's inbound [email address](/guides/playbooks/email-support) for vendors, who will never be in your Slack workspace.

## Custom fields are what make Finance work

Every other department can get by with a description field. Finance cannot. Add these as workspace custom fields so they are usable in workflow conditions and analytics, not just as form text:

| Field        | Type           | Used for                                         |
| ------------ | -------------- | ------------------------------------------------ |
| Amount       | Number         | Threshold routing and spend reporting            |
| Currency     | Select         | Do not skip this if you operate in more than one |
| Vendor       | Text or select | Grouping spend by supplier                       |
| Cost center  | Select         | Routing to the right budget owner                |
| Renewal date | Date           | Catching auto-renewals before they land          |

A workflow can only branch on a field that exists. Adding **Amount** as a number field is what lets a request under 1,000 skip a round that a request over 50,000 does not.

<Callout icon="link" color="#6B7280">Learn more about [custom fields](/documentation/tickets/forms/custom-fields)</Callout>

## The agent's job here

Finance questions are heavily policy-shaped: what can I expense, what is the approval limit, when do we pay invoices, which card do I use. Those are answerable from documents, which means the agent can take them if the documents exist as text.

What the agent should not do is give a spend decision. Put that in the custom prompt as a hard boundary and let the approval flow make the call.

<Callout icon="link" color="#6B7280">Learn more in [writing agent rules](/guides/best-practices/writing-agent-rules)</Callout>

## Connecting your ERP

Ravenna has no native ERP integration. If you need to create a purchase order in NetSuite or check a budget in your accounting system, build it with [Foundry](/guides/how-to/foundry/overview), which generates a typed action against any REST API and exposes it to workflows and agents.

Do this second. Get the approval flow correct with a human filing the PO first, then automate the filing.

## Next

<CardGroup cols={2}>
  <Card title="Purchase approvals" icon="receipt" href="/guides/playbooks/finance/purchase-approvals" horizontal>
    Thresholds, rounds, and budget owners.
  </Card>

  <Card title="Expenses and invoices" icon="file-text" href="/guides/playbooks/finance/expenses-and-invoices" horizontal>
    Get the AP inbox under control.
  </Card>
</CardGroup>


## Related topics

- [Approval templates](/documentation/tickets/approvals/templates.md)
- [Purchase approvals](/guides/playbooks/finance/purchase-approvals.md)
- [Expenses and invoices](/guides/playbooks/finance/expenses-and-invoices.md)
- [Employee onboarding](/guides/playbooks/hr/employee-onboarding.md)
- [Workspaces](/documentation/platform/workspaces/overview.md)
