2.2 KiB
2.2 KiB
财务单据标准模型
1. 为什么需要标准模型
OCR、MCP、用户填写、业务数据库可能都描述同一张发票,但字段名和格式不同。
如果没有标准模型:
- 规则无法复用。
- Agent 难以解释。
- Hermes 难以批量统计。
- MCP 返回结果难以合并。
2. 标准对象
第一版建议定义这些对象:
Invoice
Receipt
ReimbursementRequest
PaymentRequest
BankTransaction
Contract
Customer
Vendor
Employee
CostCenter
3. Invoice 标准模型
{
"invoice_id": "",
"invoice_code": "",
"invoice_number": "",
"invoice_type": "",
"seller_name": "",
"seller_tax_no": "",
"buyer_name": "",
"buyer_tax_no": "",
"issue_date": "",
"total_amount": 0,
"tax_amount": 0,
"currency": "CNY",
"verify_status": "",
"ocr_confidence": 0,
"source_document_id": ""
}
4. ReimbursementRequest 标准模型
{
"request_id": "",
"request_no": "",
"employee_id": "",
"department_id": "",
"expense_type": "",
"amount": 0,
"currency": "CNY",
"status": "",
"submitted_at": "",
"approval_stage": "",
"invoices": [],
"attachments": [],
"risk_flags": []
}
5. BankTransaction 标准模型
{
"transaction_id": "",
"bank_account": "",
"transaction_date": "",
"amount": 0,
"currency": "CNY",
"counterparty_name": "",
"summary": "",
"matched_object_type": "",
"matched_object_id": "",
"match_status": ""
}
6. 字段来源优先级
建议优先级:
人工确认字段
> MCP 验真字段
> 业务系统字段
> OCR 字段
> LLM 推断字段
LLM 推断字段必须标记来源和置信度。
7. 与语义本体关系
语义本体识别的是用户意图和对象。
标准模型承载对象的结构化字段。
ontology.entities[].type = invoice
-> 映射到 Invoice 标准模型
8. 开发阶段建议
Step 1: 定义 Invoice 标准模型
Step 2: 定义 ReimbursementRequest 标准模型
Step 3: OCR 输出映射到 Invoice
Step 4: MCP 输出映射到 Invoice
Step 5: 规则中心基于标准模型执行
Step 6: 扩展 AR/AP 标准模型
Step 7: 建立字段血缘和置信度