← Back to Skills Marketplace
maverick

Maverick Smartbill Invoicing

by Maverick · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
57
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install maverick-smartbill-invoicing
Description
Issue SmartBill invoices through the SmartBill.ro API with local automation. Use for SmartBill tasks such as validating invoice payloads, creating invoices,...
README (SKILL.md)

SmartBill Invoicing

Use scripts/smartbill_cli.py for deterministic SmartBill API calls instead of ad-hoc HTTP snippets.

Workflow

  1. Collect invoice input from the user.
  2. Validate payload locally before sending:
    • python scripts/smartbill_cli.py validate-payload --input references/invoice-example.json --show-payload
  3. Dry-run to inspect the normalized payload without calling the API:
    • python scripts/smartbill_cli.py create-invoice --input \x3Cinvoice.json> --dry-run
  4. Issue final invoice after explicit user confirmation:
    • python scripts/smartbill_cli.py create-invoice --input \x3Cinvoice.json> --allow-final
  5. Retrieve PDF once series and number are known:
    • python scripts/smartbill_cli.py download-invoice-pdf --series-name \x3CSERIES> --number \x3CNO> --output \x3Cfile.pdf>
    • Use the exact number string returned by SmartBill (zero-padded, e.g. "0123"). Do not strip leading zeros or convert to an integer.
    • --output accepts absolute or relative paths and must end in .pdf.

Required Environment

Set these before calling SmartBill:

  • MAVERICK_SMARTBILL_USERNAME - SmartBill login email
  • MAVERICK_SMARTBILL_TOKEN - SmartBill API token
  • MAVERICK_SMARTBILL_COMPANY_VAT_CODE - default CIF (optional but recommended)

Optional overrides:

  • MAVERICK_SMARTBILL_API_BASE (default: https://ws.smartbill.ro/SBORO/api)
  • MAVERICK_SMARTBILL_TIMEOUT_SECONDS (default: 30)
  • MAVERICK_SMARTBILL_RETRIES (default: 2)
  • MAVERICK_SMARTBILL_DEBUG (default: unset) — set to 1, true, or yes to 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.
  • create-invoice
    • Create invoice via POST /invoice.
    • Requires --allow-final to issue a final invoice.
    • Supports --dry-run (prints normalized payload, no API call) and --force-draft.
    • Pass --debug (or set MAVERICK_SMARTBILL_DEBUG=1) to print full request/response payloads to stderr.
  • get-series
    • Query available SmartBill series via GET /series.
  • download-invoice-pdf
    • Fetch PDF via GET /invoice/pdf using CIF + series + number.
    • --output accepts an absolute or relative .pdf path. 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.

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-run first 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: false and products[].saveToDb: false to avoid persisting test data.
  • Preserve SmartBill response data (series, number, message) in run logs. Store number verbatim 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.md for payload field reference, endpoint mapping, and auth/rate-limit notes.
  • Use references/invoice-example.json as the canonical starting payload template.
Usage Guidance
Install only if you trust the publisher and intend to let the agent work with your SmartBill account. Always inspect the dry-run output before approving final invoice creation, keep debug logging off unless troubleshooting, and protect the SmartBill token like a password.
Capability Analysis
Type: OpenClaw Skill Name: maverick-smartbill-invoicing Version: 1.0.0 The skill bundle is a well-structured tool for automating SmartBill invoicing with clear security considerations. The core script (scripts/smartbill_cli.py) implements robust path validation in the _safe_output_path function to prevent path traversal and unauthorized file overwrites, specifically restricting PDF downloads to allowed OpenClaw media roots and the current working directory. The instructions in SKILL.md and agents/openai.yaml emphasize safety protocols, such as mandatory dry-runs and explicit user confirmation for final invoice issuance, effectively hardening the agent against accidental or malicious misuse.
Capability Assessment
Purpose & Capability
The stated purpose matches the artifacts: validating invoice payloads, creating SmartBill invoices, listing series, and downloading PDFs. The main user-impacting capability is issuing real invoices through the SmartBill API.
Instruction Scope
The workflow tells the agent to dry-run first and requires explicit user confirmation before final invoice issuance; the CLI also requires an --allow-final flag for final invoices.
Install Mechanism
There is no install spec and the script uses Python standard library tooling, but the registry source is unknown and no homepage is provided, so users should trust the publisher before using it with financial API credentials.
Credentials
The required SmartBill username, token, and company VAT code are proportionate to the invoicing purpose. Optional debug logging and base URL override should be used carefully.
Persistence & Privilege
The skill does not show background persistence, but it can create persistent business records in SmartBill and may write downloaded invoice PDFs or log invoice response data.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install maverick-smartbill-invoicing
  3. After installation, invoke the skill by name or use /maverick-smartbill-invoicing
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Update skill bundle
Metadata
Slug maverick-smartbill-invoicing
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Maverick Smartbill Invoicing?

Issue SmartBill invoices through the SmartBill.ro API with local automation. Use for SmartBill tasks such as validating invoice payloads, creating invoices,... It is an AI Agent Skill for Claude Code / OpenClaw, with 57 downloads so far.

How do I install Maverick Smartbill Invoicing?

Run "/install maverick-smartbill-invoicing" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Maverick Smartbill Invoicing free?

Yes, Maverick Smartbill Invoicing is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Maverick Smartbill Invoicing support?

Maverick Smartbill Invoicing is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Maverick Smartbill Invoicing?

It is built and maintained by Maverick (@maverick); the current version is v1.0.0.

💬 Comments