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

# Travel Expense Reimbursement

> Review claims for complete and matching invoices, notify employees and managers about invalid or over-cap claims, record claims that pass the invoice checks in Snowflake, and flag over-cap claims as abnormal.

> **Toolathlon-Verified** · Website task ID `331` · Canonical task `travel-expense-reimbursement`
>
> [View the task source at `d57361c0`](https://github.com/hkust-nlp/Toolathlon/tree/d57361c0f1582cf9a0675c0753315bb6b004bd0e/tasks/finalpool/travel-expense-reimbursement)

## Required Tools

<Card>
  <div className="tools-container">
    <div className="mcp-servers-container">
      <div className="mcp-servers-title">
        MCP Servers
      </div>

      <div className="mcp-servers-grid">
        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/mail.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=9ecb0754cdecded1056a38c415532554" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/mail.png" />

          <span className="mcp-server-name">emails</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/v2Ad3GlVGK-9gZ_R/icons/snowflake.png?fit=max&auto=format&n=v2Ad3GlVGK-9gZ_R&q=85&s=fbfc12285d13c04ef2c1445d9cde8b16" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/snowflake.png" />

          <span className="mcp-server-name">snowflake</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/pdf.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=215557dd55e2300517dbb11384c0c49b" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/pdf.png" />

          <span className="mcp-server-name">pdf-tools</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/filesystem.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=b4163322f58a72b712c697bdbeac85b9" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/filesystem.png" />

          <span className="mcp-server-name">filesystem</span>
        </div>
      </div>
    </div>

    <div className="local-tools-container">
      <div className="mcp-servers-title">
        Local Tools
      </div>

      <div className="local-tools-grid">
        <div className="local-tool-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/v2Ad3GlVGK-9gZ_R/icons/python.png?fit=max&auto=format&n=v2Ad3GlVGK-9gZ_R&q=85&s=6e4e3cca411e7f15013ce15afa0dd155" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/python.png" />

          <span className="local-tool-name">python\_execute</span>
        </div>

        <div className="local-tool-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/ucpMq24upueB4g4R/icons/claim_done.png?fit=max&auto=format&n=ucpMq24upueB4g4R&q=85&s=94ee5a6cf860bae09936a702c6c6c648" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="14" height="14" data-path="icons/claim_done.png" />

          <span className="local-tool-name">claim\_done</span>
        </div>

        <div className="local-tool-item">
          <Icon icon="filter-list" size={20} color="#4286f6" />

          <span className="local-tool-name">handle\_overlong\_tool\_outputs</span>
        </div>

        <div className="local-tool-item">
          <Icon icon="bars-progress" size={20} color="#4286f6" />

          <span className="local-tool-name">manage\_context</span>
        </div>

        <div className="local-tool-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/ucpMq24upueB4g4R/icons/history.png?fit=max&auto=format&n=ucpMq24upueB4g4R&q=85&s=25d885756cf14ced8475bd94adfdecb7" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="14" height="14" data-path="icons/history.png" />

          <span className="local-tool-name">history</span>
        </div>
      </div>
    </div>
  </div>
</Card>

## Instruction

In my workspace, employees have uploaded their expense claim materials.  You need to first check each expense claim to ensure:  All required supporting documents are complete (i.e., every item listed in the claim has a corresponding invoice). An invoice is complete only if it includes an invoice number, tax amount, and description; missing or N/A fields make the claim incomplete. And the claimed amounts match the amounts shown on the corresponding invoices.  If either of these requirements is not met, send an email to each of the corresponding employee and CC his/her manager. The email subject should be:  `Expense Claim Review Required: {claim_id}`. If both requirements are satisfied, accurately write the data from the expense claim into the **2024Q4REIMBURSEMENT** table in the Snowflake database. For any expense claims that exceed the allowed limit, mark them as abnormal (`flag = 1`). In such cases, also send an email notification to each of the employee and CC his/her department manager. The email subject should be: `Expense Over-Cap Notice: {claim_id}`

## Initial State

### Runtime Setup

This task initializes application or service state during preprocessing. [Review the pinned setup source](https://github.com/hkust-nlp/Toolathlon/tree/d57361c0f1582cf9a0675c0753315bb6b004bd0e/tasks/finalpool/travel-expense-reimbursement/preprocess).

## Legacy Trajectories

<Warning>
  These replays were produced on the original Toolathlon release. They are retained for historical inspection and are not Toolathlon-Verified results.
</Warning>

* ❌ [Claude-4.5-Sonnet](https://toolathlon-traj.xyz/claude-4.5-sonnet_travel-expense-reimbursement)
* ❌ [Deepseek-v3.2-Exp](https://toolathlon-traj.xyz/deepseek-v3.2-exp_travel-expense-reimbursement)
