FreshBooks CLI for managing invoices, clients, and billing. Use when the user mentions freshbooks, invoicing, billing, clients, or accounting.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install freshbooks-cli或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install freshbooks-cli⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/freshbooks-cli/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: freshbooks-cli description: FreshBooks CLI for managing invoices, clients, and billing. Use when the user mentions freshbooks, invoicing, billing, clients, or accounting. metadata: {"openclaw":{"emoji":"💰","requires":{"bins":["freshbooks"]},"install":[{"id":"npm","kind":"node","package":"@haseebuchiha/freshbooks-cli","bins":["freshbooks"],"label":"Install freshbooks-cli (npm)"}]}} ---
CLI tool for managing FreshBooks invoices, clients, and billing. Uses the official @freshbooks/api SDK.
npm install -g @haseebuchiha/freshbooks-cli
Requires .npmrc with @haseebuchiha:registry=https://npm.pkg.github.com for GitHub Package Registry.
Authenticate with FreshBooks OAuth2. You must use the --manual flag (localhost redirect does not work with FreshBooks).
freshbooks auth login \
--client-id "<FRESHBOOKS_CLIENT_ID>" \
--client-secret "<FRESHBOOKS_CLIENT_SECRET>" \
--manual
This opens the browser. Authorize, then copy the code from the page and paste it into the CLI. Tokens are stored at ~/.config/freshbooks-cli/config.json (0600 permissions) and auto-refresh before expiry.
Verify: freshbooks auth status
freshbooks auth login --client-id --client-secret --manual -- authenticate via OAuth2 OOB flowfreshbooks auth logout -- clear stored tokens and credentialsfreshbooks auth status -- show account ID, token expiry, and auth statefreshbooks auth refresh -- manually refresh the access tokenfreshbooks clients list [-p ] [--per-page ] [-s ] -- list clients, search by org namefreshbooks clients get -- get a single client by IDfreshbooks clients create [--fname ] [--lname ] [--email ] [--organization ] -- create a clientfreshbooks clients create --data '' -- create with full JSON payloadfreshbooks clients update --data '' -- update a clientExample: freshbooks clients create --fname "Taha" --organization "abcg.io"
freshbooks invoices list [-p ] [--per-page ] -- list invoicesfreshbooks invoices get -- get a single invoice by IDfreshbooks invoices create --client-id [--lines ''] -- create an invoice with line itemsfreshbooks invoices create --client-id --data '' -- create with full JSON payloadfreshbooks invoices update --data '' -- update an invoicefreshbooks invoices archive -- archive an invoice (no permanent delete in FreshBooks)freshbooks invoices share-link -- get a shareable link for an invoiceLines are a JSON array. Each line has name, qty, and unitCost (money object):
[
{"name": "Web Services", "qty": 1, "unitCost": {"amount": "15000.00", "code": "USD"}},
{"name": "App Services", "qty": 1, "unitCost": {"amount": "15000.00", "code": "USD"}}
]
Example (full invoice create):
freshbooks invoices create --client-id 818183 \
--lines '[{"name":"Web Services","qty":1,"unitCost":{"amount":"15000.00","code":"USD"}},{"name":"App Services","qty":1,"unitCost":{"amount":"15000.00","code":"USD"}}]'
freshbooks clients create --fname "Name" --organization "Company" -- note the returned idfreshbooks invoices create --client-id --lines '[...]' -- create the invoicefreshbooks invoices share-link -- get shareable linkfreshbooks clients list -s "company name" -- find the client IDfreshbooks invoices list -- list all invoices (filter by client in output)freshbooks invoices get -- get full invoice detailsjq for filtering: freshbooks clients list | jq '.clients[].organization'{"amount": "string", "code": "USD"}. The amount is always a string like "30000.00", never a number. Do not use parseFloat on money.archive sets vis_state=1. FreshBooks does not support permanent deletion.freshbooks auth login --client-id --client-secret --manual .FRESHBOOKS_CLIENT_ID and FRESHBOOKS_CLIENT_SECRET (takes priority over stored config).--manual for auth login. The localhost callback redirect URI does not work with FreshBooks.安装 FreshBooks CLI 后,可以对 AI 说这些话来触发它
Help me get started with FreshBooks CLI
Explains what FreshBooks CLI does, walks through the setup, and runs a quick demo based on your current project
Use FreshBooks CLI to freshBooks CLI for managing invoices, clients, and billing
Invokes FreshBooks CLI with the right parameters and returns the result directly in the conversation
What can I do with FreshBooks CLI in my finance & investment workflow?
Lists the top use cases for FreshBooks CLI, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/freshbooks-cli/ 目录(个人级,所有项目可用),或 .claude/skills/freshbooks-cli/(项目级)。重启 AI 客户端后,用 /freshbooks-cli 主动调用,或让 AI 根据上下文自动发现并使用。
FreshBooks CLI 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
FreshBooks CLI 可免费安装使用。请查阅仓库了解许可证信息。
FreshBooks CLI for managing invoices, clients, and billing. Use when the user mentions freshbooks, invoicing, billing, clients, or accounting.
FreshBooks CLI 属于「Finance & Investment」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my finance & investment tasks using FreshBooks CLI
Identifies repetitive steps in your workflow and sets up FreshBooks CLI to handle them automatically