Contract Skill — A ready-to-use MOVA HITL workflow. Requires the openclaw-mova plugin.
MOVA Invoice OCR & Approval
Submit a supplier invoice to MOVA for automated OCR extraction, risk validation, and a human decision gate — all with a tamper-proof audit trail.
What it does
- 1. OCR extraction — extracts vendor, IBAN/BIC, line items, totals, VAT, PO reference
- Risk validation — checks for duplicate invoices, unknown vendors, IBAN changes, VAT mismatches
- Human decision gate — you choose: approve / reject / escalate / request info
- Audit receipt — every decision is signed, timestamped, and stored in an immutable compact journal
Requirements
Plugin: MOVA OpenClaw plugin must be installed in your OpenClaw workspace.
Data flows:
- - Invoice image URL + extracted fields →
api.mova-lab.eu (MOVA platform, EU-hosted) - PO reference number → ERP connector (read-only lookup, no data stored)
- Audit journal → MOVA R2 storage, cryptographically signed
- No data is sent to third parties beyond the above
Quick start
Share any invoice image URL and say "process this invoice":
CODEBLOCK0
The agent submits it to MOVA, shows the extracted data with risk score and findings, then asks for your decision.
Demo
Step 1 — Task submitted with invoice image

Step 2 — AI analysis: vendor, line items, risk score 0.15, findings

Step 3 — Human decision gate

Step 4 — Audit receipt + compact journal

Why contract execution matters
A standard AI agent processes the invoice and tells you the result. MOVA does something different:
- - Every action is gated — the agent cannot approve or reject without your explicit input
- Policy is enforced — IBAN changes, unknown vendors, and duplicate flags always route to human review, no exceptions
- Immutable audit trail — the compact journal records every event (OCR, validation, human decision) with cryptographic proof. When an auditor asks "who approved invoice INV-305B3FBF and why?" — the answer is already in the system with an exact timestamp and reason
- EU AI Act ready — high-risk financial decisions require human oversight and full explainability. MOVA provides both by design
What the user receives
| Output | Description |
|---|
| Extracted fields | Vendor, IBAN/BIC, Tax ID, line items, totals, VAT |
| PO match |
Cross-referenced against ERP |
| Duplicate check | Detects re-submissions |
| OCR confidence | 0.0–1.0 accuracy score |
| Risk score | 0.0 (clean) – 1.0 (critical) |
| Anomaly flags | iban
change, unknownvendor, duplicate, vat_mismatch |
| Findings | Structured list with severity codes |
| Decision options | approve / reject / escalate
accountant / requestinfo |
| Audit receipt ID | Permanent signed record of the AP decision |
| Compact journal | Full event log: OCR → validation → human decision |
When to trigger
Activate when the user shares an image URL of a financial document or asks to process / OCR / approve an invoice.
Before starting, confirm: "Submit this document to MOVA for OCR and approval?"
If no URL provided — ask once for a direct HTTPS image link.
Step 1 — Submit document
Call tool mova_hitl_start with:
- -
file_url: the HTTPS URL of the document image
Step 2 — Show analysis and decision options
If status = "waiting_human" — show extracted data and ask user to choose:
- - approve — process payment
- reject — notify vendor
- escalateaccountant — forward to accountant
- requestinfo — ask vendor for clarification
Call tool mova_hitl_decide with:
- -
contract_id: from the response above (NOT the invoice number) - INLINECODE7 : chosen decision
- INLINECODE8 : human reasoning
Step 3 — Show audit receipt
Call tool mova_hitl_audit with contract_id.
Call tool mova_hitl_audit_compact with contract_id for the full signed event chain.
Connect your real OCR and ERP systems
By default MOVA uses a sandbox mock. To use your live document processing and ERP, register your endpoints — see the MOVA Connector Setup skill or call mova_list_connectors with keyword: "ocr".
Relevant connectors:
| Connector ID | What it covers |
|---|
| INLINECODE15 | Document OCR extraction |
| INLINECODE16 |
Vision LLM OCR (OpenRouter) |
|
connector.finance.duplicate_check_v1 | Duplicate invoice detection |
|
connector.tax.vat_validate_v1 | VAT number validation (VIES) |
|
connector.erp.invoice_post_v1 | ERP invoice posting / status update |
Call mova_register_connector with connector_id, endpoint, optional auth_header and auth_value.
Rules
- - NEVER make HTTP requests manually
- NEVER invent or simulate results — if a tool call fails, show the exact error
- Use MOVA plugin tools directly (movahitlstart, movahitldecide, etc.) — do NOT use exec or shell
- CONTRACTID comes from the movahitl_start response, not from the invoice number
合约技能 — 一个即用型 MOVA 人机协同工作流。需要 openclaw-mova 插件。
MOVA 发票 OCR 与审批
将供应商发票提交至 MOVA,进行自动化 OCR 提取、风险验证及人工决策环节——全程附带防篡改审计追踪。
功能说明
- 1. OCR 提取 — 提取供应商、IBAN/BIC、明细行、总计、增值税、采购订单编号
- 风险验证 — 检查重复发票、未知供应商、IBAN 变更、增值税不匹配
- 人工决策环节 — 您可选择:批准 / 拒绝 / 升级 / 请求信息
- 审计凭证 — 每项决策均经签名、加盖时间戳,并存储于不可篡改的紧凑日志中
前提条件
插件: 必须在您的 OpenClaw 工作区中安装 MOVA OpenClaw 插件。
数据流:
- - 发票图片 URL + 提取字段 → api.mova-lab.eu(MOVA 平台,欧盟托管)
- 采购订单编号 → ERP 连接器(只读查询,不存储数据)
- 审计日志 → MOVA R2 存储,经加密签名
- 除上述外,不向第三方发送任何数据
快速开始
分享任意发票图片 URL 并说处理此发票:
https://raw.githubusercontent.com/mova-compact/mova-bridge/main/testinvoiceINV-2026-0441.png
代理将发票提交至 MOVA,显示提取的数据及风险评分和发现项,然后征求您的决策。
演示
步骤 1 — 提交带发票图片的任务

步骤 2 — AI 分析:供应商、明细行、风险评分 0.15、发现项

步骤 3 — 人工决策环节

步骤 4 — 审计凭证 + 紧凑日志

合约执行的重要性
标准 AI 代理处理发票并告知您结果。MOVA 则不同:
- - 每项操作均受控 — 未经您的明确输入,代理无法批准或拒绝
- 策略强制执行 — IBAN 变更、未知供应商和重复标记始终转交人工审核,无一例外
- 不可篡改的审计追踪 — 紧凑日志以加密证明记录每项事件(OCR、验证、人工决策)。当审计员问谁批准了发票 INV-305B3FBF?为什么?——答案已在系统中,带有精确时间戳和原因
- 符合欧盟 AI 法案 — 高风险财务决策需要人工监督和完全可解释性。MOVA 通过设计提供这两点
用户接收的内容
| 输出 | 描述 |
|---|
| 提取字段 | 供应商、IBAN/BIC、税号、明细行、总计、增值税 |
| 采购订单匹配 |
与 ERP 交叉引用 |
| 重复检查 | 检测重复提交 |
| OCR 置信度 | 0.0–1.0 准确率评分 |
| 风险评分 | 0.0(正常)– 1.0(严重) |
| 异常标记 | iban
change、unknownvendor、duplicate、vat_mismatch |
| 发现项 | 结构化列表,附带严重性代码 |
| 决策选项 | approve / reject / escalate
accountant / requestinfo |
| 审计凭证 ID | 应付账款决策的永久签名记录 |
| 紧凑日志 | 完整事件日志:OCR → 验证 → 人工决策 |
触发条件
当用户分享财务文档的图片 URL,或要求处理/OCR/批准发票时激活。
开始前,确认:将此文档提交至 MOVA 进行 OCR 和审批?
如果未提供 URL — 询问一次,要求提供直接的 HTTPS 图片链接。
步骤 1 — 提交文档
调用工具 movahitlstart,参数:
- - file_url:文档图片的 HTTPS URL
步骤 2 — 显示分析和决策选项
如果 status = waiting_human — 显示提取的数据并请用户选择:
- - approve — 处理付款
- reject — 通知供应商
- escalateaccountant — 转发给会计
- requestinfo — 向供应商请求澄清
调用工具 movahitldecide,参数:
- - contract_id:来自上述响应(非发票编号)
- option:所选决策
- reason:人工推理
步骤 3 — 显示审计凭证
调用工具 movahitlaudit,参数 contract_id。
调用工具 movahitlauditcompact,参数 contractid,获取完整签名事件链。
连接您的真实 OCR 和 ERP 系统
默认情况下,MOVA 使用沙盒模拟。要使用您的实时文档处理和 ERP,请注册您的端点——参见 MOVA 连接器设置 技能,或调用 movalistconnectors,参数 keyword: ocr。
相关连接器:
| 连接器 ID | 覆盖范围 |
|---|
| connector.ocr.documentextractv1 | 文档 OCR 提取 |
| connector.ocr.visionllmv1 |
视觉大语言模型 OCR(OpenRouter) |
| connector.finance.duplicate
checkv1 | 重复发票检测 |
| connector.tax.vat
validatev1 | 增值税号验证(VIES) |
| connector.erp.invoice
postv1 | ERP 发票过账/状态更新 |
调用 movaregisterconnector,参数 connectorid、endpoint、可选的 authheader 和 auth_value。
规则
- - 切勿手动发起 HTTP 请求
- 切勿编造或模拟结果——如果工具调用失败,显示确切错误
- 直接使用 MOVA 插件工具(movahitlstart、movahitldecide 等)——不要使用 exec 或 shell
- CONTRACTID 来自 movahitl_start 的响应,而非发票编号