讲师中心 微信公众号
AI工具推荐 视频效率加速

SmartBill Invoicing

Polar Sponsor
爱发电 赞助
.NET 9.0

通过 SmartBill.ro API 本地自动化开具 SmartBill 发票,执行验证载荷、创建发票等任务。

SmartBill 开具发票

功能概述

SmartBill 开具发票是一项面向实际任务的技能,主要用于使用脚本/ smartbill cli.py 来决定SmartBill API的呼叫, 而不是使用 ad-hoc HTTP 片段.;Workflow.;

核心要点

  • Collect 发票输入用户..;
  • Validate 有效载荷本地 bef。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

SmartBill 开票系统

请使用 scripts/smartbill_cli.py 执行确定性的 SmartBill API 调用,而非临时编写的 HTTP 片段代码。

工作流程

  1. 从用户处收集发票输入数据。
  2. 发送前在本地验证载荷(payload):
    • python scripts/smartbill_cli.py validate-payload --input references/invoice-example.json --show-payload
  3. 执行试运行(dry-run),仅检查标准化后的载荷,不实际调用 API:
    • python scripts/smartbill_cli.py create-invoice --input --dry-run
  4. 在获得用户明确确认后,签发正式发票:
    • python scripts/smartbill_cli.py create-invoice --input --allow-final
  5. 当已知发票系列(series)和编号(number)后,获取 PDF 文件:
    • python scripts/smartbill_cli.py download-invoice-pdf --series-name --number --output
    • 必须使用 SmartBill 返回的原始 number 字符串(含前导零,例如 "0123")。不得去除前导零,也不得将其转换为整数。
    • --output 参数支持绝对路径或相对路径,且路径结尾必须为 .pdf。

必需的运行环境

调用 SmartBill 前,请设置以下环境变量:

  • SMARTBILL_USERNAME — SmartBill 登录邮箱
  • SMARTBILL_TOKEN — SmartBill API Token
  • SMARTBILL_COMPANY_VAT_CODE — 默认 CIF(可选,但建议设置)

可选覆盖项:

  • SMARTBILL_API_BASE(默认值:https://ws.smartbill.ro/SBORO/api)
  • SMARTBILL_TIMEOUT_SECONDS(默认值:30)
  • SMARTBILL_RETRIES(默认值:2)
  • SMARTBILL_DEBUG(默认未设置)— 设为 1、true 或 yes 可启用请求/响应调试日志,并输出至 stderr

命令说明

  • validate-payload
    • 解析并标准化载荷结构(支持裸发票对象,也支持带 { "invoice": {...} } 包裹层的格式)。
    • 在调用 API 前校验最小必需字段结构。
  • create-invoice
    • 通过 POST /invoice 创建发票。
    • 需指定 --allow-final 参数方可签发正式发票(非草稿)。
    • 支持 --dry-run(仅打印标准化后的载荷,不发起 API 调用)及 --force-draft 参数。
    • 传入 --debug 参数(或设置 SMARTBILL_DEBUG=1)可在 stderr 中打印完整的请求与响应载荷。
  • get-series
    • 通过 GET /series 查询当前可用的 SmartBill 发票系列。
  • download-invoice-pdf
    • 通过 GET /invoice/pdf 使用 CIF + 系列名 + 编号组合获取 PDF 文件。
    • --output 接受绝对路径或相对路径的 .pdf 文件路径;相对路径基于当前工作目录解析;最终解析出的路径必须位于 OpenClaw 允许的媒体根目录内,或处于当前工作目录下。

载荷格式

发票载荷是一个扁平化的 JSON 对象,直接提交至 SmartBill API。参见 references/invoice-example.json 获取标准最小示例,以及 references/smartbill-api.md 查阅各字段详细说明。

CLI 支持以下两种输入格式:

  • 裸发票对象:{ "companyVatCode": "...", "client": {...}, ... }
  • 包裹格式:{ "invoice": { "companyVatCode": "...", "client": {...}, ... } }

CLI 会自动解包,并将内部的发票对象直接发送至 API。

操作规范

  • 始终优先使用 --dry-run 检查标准化后的载荷,确认无误后再调用 API。
  • 将正式发票签发(即 isDraft: false)视为高影响操作,必须经用户显式确认。
  • 设置 client.saveToDb: false 和 products[].saveToDb: false,避免测试数据被持久化。
  • 在运行日志中完整保留 SmartBill 的响应数据(包括 series、number、message);其中 number 必须按返回值原样存储(如 "0123"),严禁去除前导零或转为整数类型。
  • 遵守 SmartBill 的速率限制:每 10 秒最多 30 次调用。

参考资料

  • 阅读 references/smartbill-api.md 以了解载荷字段定义、端点映射,以及认证与速率限制相关说明。
  • 以 references/invoice-example.json 作为标准初始载荷模板使用。
目录

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn