Skip to content

ktmcp-cli/billingo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Billingo API CLI

"Six months ago, everyone was talking about MCPs. And I was like, screw MCPs. Every MCP would be better as a CLI."

Peter Steinberger, Founder of OpenClaw Watch on YouTube (~2:39:00) | Lex Fridman Podcast #491

A production-ready command-line interface for the Billingo API v3. Manage invoices, partners, products, and bank accounts for Hungarian businesses directly from your terminal.

Disclaimer: This is an unofficial CLI tool and is not affiliated with, endorsed by, or supported by Billingo.

Features

  • Invoices — Create, list, send, and manage invoices
  • Partners — Manage customers and suppliers
  • Products — Maintain product catalog
  • Bank Accounts — Manage payment accounts
  • Organization — View organization details and supported currencies
  • JSON output — All commands support --json for scripting

Why CLI > MCP

MCP servers are complex, stateful, and require a running server process. A CLI is:

  • Simpler — Just a binary you call directly
  • Composable — Pipe output to jq, grep, awk, and other tools
  • Scriptable — Use in shell scripts, CI/CD pipelines, cron jobs
  • Debuggable — See exactly what's happening with --json flag
  • AI-friendly — AI agents can call CLIs just as easily as MCPs, with less overhead

Installation

npm install -g @ktmcp-cli/billingohu

Authentication Setup

Configure your Billingo API key:

billingohu config set --api-key YOUR_API_KEY

Get your API key from app.billingo.hu/api

Commands

Configuration

# Set API key
billingohu config set --api-key <key>

# Show current config
billingohu config show

Invoices

# List invoices
billingohu invoices list
billingohu invoices list --type invoice --payment-method transfer

# Get invoice details
billingohu invoices get <invoice-id>

# Create invoice
billingohu invoices create --data '{...}'

# Send invoice via email
billingohu invoices send <invoice-id> --emails "client@example.com"

# Delete invoice
billingohu invoices delete <invoice-id>

Partners (Customers/Suppliers)

# List partners
billingohu partners list

# Get partner details
billingohu partners get <partner-id>

# Create partner
billingohu partners create --data '{"name":"Acme Corp","email":"contact@acme.com"}'

# Update partner
billingohu partners update <partner-id> --data '{...}'

# Delete partner
billingohu partners delete <partner-id>

Products

# List products
billingohu products list

# Get product details
billingohu products get <product-id>

# Create product
billingohu products create --data '{"name":"Service","net_unit_price":10000,"currency":"HUF"}'

# Update product
billingohu products update <product-id> --data '{...}'

# Delete product
billingohu products delete <product-id>

Bank Accounts

# List bank accounts
billingohu bank-accounts list

# Get account details
billingohu bank-accounts get <account-id>

# Create bank account
billingohu bank-accounts create --data '{...}'

Organization

# Show organization details
billingohu organization show

# List supported currencies
billingohu organization currencies

JSON Output

All commands support --json for machine-readable output:

# List invoices as JSON
billingohu invoices list --json

# Pipe to jq for filtering
billingohu invoices list --json | jq '.[] | select(.payment_status == "paid")'

# Get partner details
billingohu partners get <id> --json

Examples

Create invoice workflow

# First, create a partner
PARTNER_ID=$(billingohu partners create \
  --data '{"name":"Acme Corp","email":"billing@acme.com","city":"Budapest"}' \
  --json | jq -r '.id')

# Create invoice
billingohu invoices create --data '{
  "partner_id": '$PARTNER_ID',
  "type": "invoice",
  "currency": "HUF",
  "items": [
    {
      "name": "Consulting Services",
      "net_unit_price": 100000,
      "quantity": 1
    }
  ]
}'

# Send invoice
billingohu invoices send <invoice-id> --emails "billing@acme.com"

List unpaid invoices

billingohu invoices list --json | jq '.[] | select(.payment_status != "paid") | {id, invoice_number, partner_name, total_gross}'

Contributing

Issues and pull requests are welcome at github.com/ktmcp-cli/billingohu.

License

MIT — see LICENSE for details.


Part of the KTMCP CLI project — replacing MCPs with simple, composable CLIs.

About

Hungarian invoicing and billing API CLI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •