← 返回
未分类 中文

TCS Expense Claim Processor

End-to-end business travel expense claim processor. Use this skill whenever a user uploads receipts, bills, invoices, or screenshots of expenses and wants to...
端到端商务差旅费用报销处理程序。用户上传收据、账单、发票或费用截图并想要...时使用此技能。
insanelyqurious
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 1
Stars
📥 296
下载
💾 0
安装
1
版本
#currency#expense#finance#latest#latestlatest#pdf#receipts#reimbursement#tcs#travel#xlsx

概述

Expense Claim Skill

Automates the full workflow of turning a pile of receipt images and PDFs into

clean, submission-ready expense claim packages — sorted by date and category,

with currency conversions and a summary table.


Workflow Overview

Run these five phases in order. Never skip a phase.

Phase 1 → Ingest & Parse all uploaded files
Phase 2 → Classify each bill (date, vendor, category, currency, amount)
Phase 3 → Generate per-day per-category PDFs
Phase 4 → Generate the expense spreadsheet (XLSX)
Phase 5 → Output summary tables for manual form entry

Phase 1 — Ingest & Parse

  1. List every file in /mnt/user-data/uploads/
  2. For each file:
    • Images (.png, .jpg, .jpeg): read visually — extract date, vendor,

amount, currency, bill number, and any GST/VAT breakdown

  • PDFs (.pdf): use pypdf to extract text; if text is sparse, treat

as scanned and read visually

  1. Ask the user if any files are missing or unreadable before proceeding

Phase 2 — Classify

Map every bill to this schema:

date        : DD-Mon-YY   (e.g. 13-Feb-26)
vendor      : string
location    : city / airport / country
category    : one of the TCS categories below
currency    : INR | USD | EUR | GBP | SGD | AED | ...
amount_orig : float (as printed on bill)
bill_no     : string (from receipt; use "attached" if none)
notes       : brief description of items

TCS Expense Categories (map every bill to one)

TCS CategoryWhat goes here
------
Travel Expenses – ConveyanceUber, Ola, Lyft, taxis, local cabs, airport transfers
Ticket Expenses – Air TicketsAirline tickets, excess baggage fees (keep SEPARATE per bill)
Ticket Expenses – Train TicketsRail bookings
Ticket Expenses – Bus TicketsBus / coach bookings
Hotel AccommodationHotel folios, checkout invoices (NOT room dining — that's Meal)
Travel Expenses – MealAll food, beverages, airport snacks, restaurant bills, delivery (Zomato/Swiggy), cafe receipts
Client Entertainment – TravelMeals/entertainment where clients were present
Car ExpensesFuel, parking, tolls
Communication ExpensesSIM cards, roaming, internet dongles
Conference and Training CoursesRegistration fees, course materials

Special Rules

  • Room dining at a hotel → Meal (NOT Hotel Accommodation)
  • Zomato/Swiggy orders: bundle restaurant bill + platform fee + delivery fee

into ONE line item with the combined total

  • Delta / airline excess baggage → Air Tickets (separate PDF per bill)
  • Airport retail (water, snacks, chocolates) → Meal
  • Sweets / gifts (e.g. Kantis, mithai shops) → Meal (flag with note:

"verify if gift policy applies")

  • Multiple bills same day same category → merged into one PDF

Phase 3 — Generate PDFs

Read /mnt/skills/public/pdf/SKILL.md before running this phase.

Naming convention:

DD_Mon_YYYY_<TCS_Category_Underscored>.pdf

Examples:

13_Feb_2026_Travel_Expenses_Conveyance.pdf
13_Feb_2026_Travel_Expenses_Meal.pdf
13_Feb_2026_Ticket_Expenses_Air_Tickets.pdf
20_Feb_2026_Hotel_Accommodation.pdf

Script to use: scripts/build_pdfs.py

  • Converts images → PDF pages using img2pdf + Pillow
  • Merges existing PDFs using pypdf
  • Outputs to /mnt/user-data/outputs/bills_by_category/

Run: python3 scripts/build_pdfs.py

Present all generated PDFs to the user using present_files.


Phase 4 — Generate XLSX Summary

Read /mnt/skills/public/xlsx/SKILL.md before running this phase.

Script to use: scripts/build_xlsx.py

The spreadsheet has two sheets:

Sheet 1: "All Expenses"

Columns: `#, Date, Vendor, Location, Category, Currency, Amount (Original),

Amount (INR equiv.), Notes`

Color coding:

  • Blue fill → Travel / Conveyance / Air Tickets
  • Green fill → Food & Meal
  • Orange fill → Accommodation
  • Purple fill → Other

Sheet 2: "Summary"

Rows = TCS categories; Columns = Category, # Items, Original Amounts, INR Equiv.

Plus a Grand Total row with all-in USD equivalent.

Currency conversion — use rates from references/fx_rates.md or fetch live

rates if web search is available. Always show the rate used and its date.

Output to /mnt/user-data/outputs/expense_claim.xlsx


Phase 5 — Summary Tables for Manual Entry

Always output three tables in chat so the user can fill their expense portal

directly:

Table A: Conveyance entries

Bill Date | From Location | To Location | Bill No | Currency | Amount | Remarks

Table B: Meal entries

Bill Date | Name of Hotel/Restaurant | Bill No | Currency | Amount | Remarks

Table C: Hotel entries

Bill Date | From Date | To Date | Bill No | Currency | Amount | Remarks

Table D: Air Ticket entries

Bill Date | Bill No | Currency | Amount | Remarks

Table E: Day-wise spend summary

Date | Conveyance | Air Ticket | Hotel | Meal (local currency) | Day Total (USD)

— Include a GRAND TOTAL row at the bottom.


Currency Conversion Rules

See references/fx_rates.md for standard rates.

  • Always convert everything to INR for Indian domestic claims
  • Always convert everything to USD for international / global summary
  • Show the exchange rate used in every table and in the XLSX notes
  • If the trip spans multiple currencies, show original + converted in the XLSX
  • Flag any bill where the currency on the receipt doesn't match the card

currency (possible forex fee)


Output Checklist

Before finishing, confirm all of these exist:

  • [ ] One PDF per day per category in /mnt/user-data/outputs/bills_by_category/
  • [ ] expense_claim.xlsx with both sheets
  • [ ] Table A–E printed in chat
  • [ ] Grand total in USD stated clearly
  • [ ] Any flagged items noted (gift policy, missing bills, illegible receipts)

Error Handling

ProblemAction
------
Can't read a receiptNote it, ask user to confirm amount manually
Date missing from billInfer from surrounding bills or ask user
Currency ambiguousDefault to country of purchase; flag for user
Bill number not on receiptUse "attached"
Multiple receipts same vendor same dayMerge into one line, note qty

Reference Files

  • references/fx_rates.md — Standard FX rates for common travel corridors
  • references/tcs_categories.md — Full TCS category eligibility rules
  • scripts/build_pdfs.py — PDF generation script
  • scripts/build_xlsx.py — Excel generation script

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 19:40 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,073 📥 806,692
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,374 📥 319,907
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 673 📥 325,068