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

# Track, submit, and approve employee expenses in Novala

> Submit field expenses, mileage, and project costs for reimbursement. Policies set auto-approve thresholds, receipt rules, and mileage reimbursement rates.

The Expense Tracking module gives your team a single place to log every out-of-pocket cost — from fuel and supplies to subcontractor meals — and connects those costs back to the jobs and projects they belong to. Managers review submitted expenses on a dedicated approvals queue, with support for batch approving or rejecting multiple expenses at once. Expense policies let you set auto-approve thresholds, require receipts above a certain amount, and define your mileage reimbursement rate. Once approved, expenses feed into profitability reporting so you can see the true cost of every job.

## Expense lifecycle

<CardGroup cols={3}>
  <Card title="Draft">
    Saved but not yet submitted for review. The submitter can still edit.
  </Card>

  <Card title="Submitted">
    Sent to the approvals queue. The submitter can no longer edit the record.
  </Card>

  <Card title="Approved">
    Accepted by a manager. The expense is included in cost reporting.
  </Card>

  <Card title="Rejected">
    Returned with a reason. The submitter can view the rejection note.
  </Card>

  <Card title="Reimbursed">
    Payment confirmed. The expense is closed.
  </Card>
</CardGroup>

## Submit an expense

<Steps>
  <Step title="Open the new expense form">
    From the **Expenses** list, click **New Expense**.
  </Step>

  <Step title="Fill in the details">
    Enter the expense date, amount, and select a category (e.g., Fuel, Materials, Meals). Add a description to help approvers understand the context.
  </Step>

  <Step title="Attach a receipt">
    Upload a photo or file of the receipt. If your expense policy requires a receipt, the submission will be blocked without one.
  </Step>

  <Step title="Assign to a project or job">
    Link the expense to a specific job or project so it shows up in that job's cost reporting.
  </Step>

  <Step title="Mark as billable (optional)">
    Toggle **Billable** if this cost should be passed through to the customer. Billable expenses are flagged in the approvals view.
  </Step>

  <Step title="Submit for approval">
    Click **Submit**. The expense moves to **Submitted** status and appears in the approvals queue for your manager.
  </Step>
</Steps>

<Note>
  If an expense is below your policy's auto-approve threshold, it moves directly to **Approved** without requiring manual review.
</Note>

## Approve or reject expenses

Users with the **Approve Expenses** permission can review submissions from **Expenses → Approvals**.

<Tabs>
  <Tab title="Approve one at a time">
    <Steps>
      <Step title="Open the Approvals queue">
        Navigate to **Expenses → Approvals**. All expenses in **Submitted** status appear here.
      </Step>

      <Step title="Review the expense">
        Click the expense number to open the detail view. Check the amount, category, description, and any attached receipt.
      </Step>

      <Step title="Approve or reject">
        Click **Approve** to accept, or **Reject** to return it. A rejection requires you to enter a reason, which is visible to the submitter.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Batch approve or reject">
    <Steps>
      <Step title="Select expenses">
        Check the boxes next to each expense you want to action. Use the header checkbox to select all on the current page.
      </Step>

      <Step title="Choose an action">
        Click **Approve Selected** or **Reject Selected** in the toolbar that appears.
      </Step>

      <Step title="Confirm">
        For batch rejection, enter a single rejection reason that applies to all selected expenses.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Expense policies

Policies define the rules that govern expense submission across your team. Go to **Expenses → Policies** to manage them.

Each policy controls:

<AccordionGroup>
  <Accordion title="Auto-approve threshold">
    Any expense at or below this amount is automatically approved without manual review. Set to zero to require manual approval for all expenses.
  </Accordion>

  <Accordion title="Receipt requirement">
    When enabled, submitters must attach a receipt file before they can submit the expense.
  </Accordion>

  <Accordion title="Mileage rate">
    The per-mile reimbursement rate used when submitting mileage expenses (e.g., \$0.67/mi). Novala calculates the reimbursable amount automatically when a distance is entered.
  </Accordion>

  <Accordion title="Default policy">
    The policy marked as default applies to all employees unless a different policy is assigned. You can create multiple named policies (e.g., Standard, Executive) and assign them per team.
  </Accordion>
</AccordionGroup>

<Tip>
  Create a stricter policy for high-spend roles and a more permissive one for field technicians with routine small purchases — then assign each policy to the appropriate team members.
</Tip>

## Expense categories

Categories help organize expenses for reporting. Navigate to **Expenses → Categories** to add, rename, or remove categories. Common examples include Fuel, Materials, Meals & Entertainment, Accommodation, and Subcontractor Costs.

## Export and reporting

From the **Expenses** list, click **Export CSV** to download a filtered export. Apply status and date range filters before exporting to scope the data to a specific period, employee, or project.

The dashboard summary cards show you four key metrics at a glance:

<CardGroup cols={2}>
  <Card title="This Month">
    Total expense spend submitted in the current calendar month.
  </Card>

  <Card title="Pending Approval">
    Dollar value of expenses waiting for manager review.
  </Card>

  <Card title="Approved">
    Total of approved expenses ready for reimbursement.
  </Card>

  <Card title="Rejected">
    Total of expenses returned to submitters.
  </Card>
</CardGroup>

## Permissions

<AccordionGroup>
  <Accordion title="View Expenses">
    Read-only access to all expense records.
  </Accordion>

  <Accordion title="Submit Expenses">
    Create and submit expense records for approval.
  </Accordion>

  <Accordion title="Approve Expenses">
    Approve or reject submitted expenses and access the Approvals queue.
  </Accordion>
</AccordionGroup>
