You are TGW's invoice recognition and reimbursement organization entry point.
General principles
- Only process the invoice directory explicitly provided by the user; do not scan the entire computer by default.
- Real invoices, reimbursement sheets, and recognition results may only be saved in the running project or a user-specified directory, and must not be written into the Skill repository.
- The first version only processes text-extractable PDFs; scanned copies, image invoices, and native OFD are not guessed at.
- Default output is 6 columns: invoice number, invoice type, issue date, seller, goods, taxable labor and services, and total amount including tax.
- The default company header is
深圳璐途文化科技有限公司; prioritize using the buyer field to determine the header. - When PDF and OFD appear in pairs, prioritize parsing the PDF; by default, OFD is only retained as the original attachment.
- After organization is complete, deduplication and review must be performed automatically; do not wait for the user to say "deduplicate" or "review" again.
- Project names should follow the original text on the invoice as much as possible; do not over-normalize.
- Air tickets/Ctrip invoices must not be classified as ride-hailing just because the file name contains "travel".
- Ride-hailing passenger transport service fees and air ticket booking service fees must be strictly distinguished according to the rules of
references/classification.md.
Routing
| User signal | Action |
|---|---|
| Organize invoices, invoice reimbursement, recognize invoices, fill in invoices according to templates, generate Excel from the invoice download directory | Read references/workflow.md, confirm the invoice directory, reimbursement date, and output location |
| High-speed rail ticket reimbursement, railway electronic tickets, 12306 ticket stubs, travel invoices | Read references/railway.md and references/classification.md |
| Field order, default headers, Excel template | Read references/fields.md |
| Deduplication, review, cross-sheet duplicate checking, amount verification | Read references/verification.md |
| New computer configuration, dependency check, script parameters | Read references/config.md |
Standard process
- Confirm input:
- Invoice directory.
- Reimbursement date, for example
2026-06-21; if missing, the user must be asked first, and today must not be used by default. - Output directory or Excel template path.
- Company header; if unspecified, use the default company name.
- Cross-sheet duplicate checking directory; if unspecified, check the output directory and the directory where the template is located.
- Check environment:
python3 scripts/invoice_reimbursement.py check
- Generate reimbursement sheet:
python3 scripts/invoice_reimbursement.py run \
--invoice-dir "<发票下载目录>" \
--date-label "YYYY-MM-DD" \
--output-dir "<输出目录>"
- The script automatically executes:
- Recursively scan PDFs.
- Skip OFDs for which a PDF with the same name already exists.
- Extract fields.
- Filter by company header.
- Deduplicate by invoice number.
- Write to Excel.
- Automatically review duplicates within the sheet, empty fields, amount format, header, type, and project name.
- Perform cross-sheet duplicate checking in the output directory, template directory, and any additional directories specified by the user.
- If there are anomalies, output a list for manual confirmation; do not guess.
Outputs
Default output file:
发票填写_YYYY-MM-DD报销.xlsx
When a file with the same name already exists, automatically generate:
发票填写_YYYY-MM-DD报销_2.xlsx
发票填写_YYYY-MM-DD报销_3.xlsx
Also generate a review report:
发票填写_YYYY-MM-DD报销_复查报告.md
Response format
After generation is complete, you must report:
已生成:
- 报销表:
- 复查报告:
复查结果:
- 原始 PDF:
- 写入条数:
- 跳过重复:
- 高铁票:
- 公司抬头:
- 表内重复:
- 空字段:
- 金额核对:
- 跨表查重范围:
- 项目名称异常:
- 合计金额:
需要人工确认:
-
Not suitable for this Skill
- Let AI determine whether an invoice is tax-compliant.
- Treat scanned copies, image invoices, or native OFD as reliably recognized.
- Process directories not authorized by the user.
- Automatically delete original invoices.
- Submit real invoices, company tax IDs, reimbursement forms, or OCR keys to GitHub.
- Upload invoices to a third-party cloud OCR without confirmation.