把收到的发票归档并审核——OCR、去重校验、增值税分档与可检索的本地存档。
设计与多媒体
SmartBill Invoicing
试用Issue SmartBill invoices through the SmartBill.ro API with local automation. Use for SmartBill tasks such as validating invoice payloads, creating invoices,...
它能做什么
Issue SmartBill invoices through the SmartBill.ro API with local automation. Use for SmartBill tasks such as validating invoice payloads, creating invoices,...
技能文档
SmartBill Invoicing
Use scripts/smartbill_cli.py for deterministic SmartBill API calls instead of ad-hoc HTTP snippets.
Workflow
- Collect invoice input from the user.
- Validate payload locally before sending:
python scripts/smartbill_cli.py validate-payload --input references/invoice-example.json --show-payload
- Dry-run to inspect the normalized payload without calling the API:
python scripts/smartbill_cli.py create-invoice --input --dry-run
- Issue final invoice after explicit user confirmation:
python scripts/smartbill_cli.py create-invoice --input --allow-final
- Retrieve PDF once series and number are known:
python scripts/smartbill_cli.py download-invoice-pdf --series-name --number --output- Use the exact
numberstring returned by SmartBill (zero-padded, e.g."0123"). Do not strip leading zeros or convert to an integer. --outputaccepts absolute or relative paths and must end in.pdf.
Required Environment
Set these before calling SmartBill:
SMARTBILL_USERNAME- SmartBill login emailSMARTBILL_TOKEN- SmartBill API tokenSMARTBILL_COMPANY_VAT_CODE- default CIF (optional but recommended)
Optional overrides:
SMARTBILL_API_BASE(default:https://ws.smartbill.ro/SBORO/api)SMARTBILL_TIMEOUT_SECONDS(default:30)SMARTBILL_RETRIES(default:2)SMARTBILL_DEBUG(default: unset) — set to1,true, oryesto enable request/response debug logging to stderr
Command Guide
validate-payload- Parse and normalize payload shape (bare invoice object or
{ "invoice": {...} }wrapper both accepted). - Validate minimum required structure before API calls.
- Parse and normalize payload shape (bare invoice object or
create-invoice- Create invoice via
POST /invoice. - Requires
--allow-finalto issue a final invoice. - Supports
--dry-run(prints normalized payload, no API call) and--force-draft. - Pass
--debug(or setSMARTBILL_DEBUG=1) to print full request/response payloads to stderr.
- Create invoice via
get-series- Query available SmartBill series via
GET /series.
- Query available SmartBill series via
download-invoice-pdf- Fetch PDF via
GET /invoice/pdfusing CIF + series + number. --outputaccepts an absolute or relative.pdfpath. Relative paths are resolved against the current working directory. The resolved path must fall within an OpenClaw-allowed media root or the current working directory.
- Fetch PDF via
Payload Format
The invoice payload is a flat JSON object sent directly to the SmartBill API. See references/invoice-example.json for the canonical minimal example and references/smartbill-api.md for field documentation.
Both formats are accepted as input to the CLI:
- Bare invoice object:
{ "companyVatCode": "...", "client": {...}, ... } - Wrapped:
{ "invoice": { "companyVatCode": "...", "client": {...}, ... } }
The CLI unwraps automatically and sends the invoice object directly to the API.
Operational Rules
- Always use
--dry-runfirst to confirm the normalized payload before hitting the API. - Treat final invoice issuance (
isDraft: false) as a high-impact action requiring explicit user confirmation. - Set
client.saveToDb: falseandproducts[].saveToDb: falseto avoid persisting test data. - Preserve SmartBill response data (series, number, message) in run logs. Store
numberverbatim as returned — it is zero-padded (e.g."0123") and must never be stripped of leading zeros or cast to an integer. - Respect SmartBill rate limits: max 30 calls per 10 seconds.
References
- Read
references/smartbill-api.mdfor payload field reference, endpoint mapping, and auth/rate-limit notes. - Use
references/invoice-example.jsonas the canonical starting payload template.
相关技能
Use this skill when the user asks to OCR, transcribe, extract, or convert the contents of a scanned PDF, image, or office document into Markdown, HTML, DOCX,...
Generate daily or range-based lead summaries from read-only lead data. Use when users ask for todays lead summary, broker inventory counts, locality trends,...
Hire humans for physical-world tasks via RentAHuman.ai. Search available humans by skill, post bounties, start conversations, and coordinate real-world work. Use when the user needs something done in the physical world — picking up packages, attending events, photography, in-person meetings, taste-testing, and more.
支持识别企业财务报销场景的19 种常见票据,包括:增值税发票,增值税卷票,出租车发票,火车票,航空运输电子客票行程单,机动车销售统一发票,定额发票,过路过桥费发票,医疗发票,税收完税证明,船票,非税票据,通用机打发票,汽车票,值税通行费发票,网约车行程单,银联POS签购单,医疗住院发票,医疗费用结算单识别。仅在用户明确要求识别某张本地票据图片时触发,调用前必须确认用户同意上传该文件到 Scnet 远程 OCR 服务。
Statement credits for one US credit card