AI Invoice Generator — Agent Skill
AI Invoice Generator — Agent Skill
Generate professional invoices from project details via the AI Pass API.
Quick Start
import requests, os
from datetime import datetime, timedelta
AIPASS_API_KEY = os.environ["AIPASS_API_KEY"]
def generate_invoice(from_name, to_name, line_items, currency="USD", terms="NET 14"):
"""
Generate a professional invoice.
line_items: list of {"desc": str, "qty": float, "rate": float}
"""
today = datetime.now().strftime("%Y-%m-%d")
due = (datetime.now() + timedelta(days=14)).strftime("%Y-%m-%d")
total = sum(i["qty"] * i["rate"] for i in line_items)
items = "\n".join([f"- {i['desc']}: {i['qty']} x {i['rate']:.2f} = {i['qty']*i['rate']:.2f} {currency}" for i in line_items])
r = requests.post(
"https://aipass.one/apikey/v1/chat/completions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={
"model": "gpt-5-mini", "temperature": 1, "max_tokens": 2000,
"messages": [{"role": "user", "content": f"Professional invoice. FROM: {from_name}. TO: {to_name}. DATE: {today}, DUE: {due}, TERMS: {terms}.\n\nITEMS:\n{items}\nTOTAL: {total:.2f} {currency}\n\nFormat complete ready-to-send invoice."}]
},
timeout=60
)
return r.json()["choices"][0]["message"]["content"]
# Example
invoice = generate_invoice(
"Jane Smith Design", "Acme Corp",
[{"desc": "Brand strategy consulting", "qty": 3, "rate": 150}, {"desc": "Logo design", "qty": 1, "rate": 500}]
)
print(invoice)
Setup
- Sign up at aipass.one (valid email required)
- Developer Dashboard → API Keys
export AIPASS_API_KEY=your_key_here
Web App
Related: AI Email Writer for payment follow-up emails
Skill File
name: ai-invoice-generator
description: Generate professional invoices from project details via AI Pass API
version: 1.0.0
auth:
type: api_key
env: AIPASS_API_KEY
instructions: "Get API key from https://aipass.one/panel/developer.html under API Keys"
import requests, os
from datetime import datetime, timedelta
def generate_invoice(from_name, from_email, to_name, to_email, line_items, currency="USD", terms="NET 14", notes=""):
AIPASS_API_KEY = os.environ["AIPASS_API_KEY"]
today = datetime.now().strftime("%Y-%m-%d")
due = (datetime.now() + timedelta(days=14)).strftime("%Y-%m-%d")
total = sum(i["qty"] * i["rate"] for i in line_items)
items = "\n".join([f"- {i['desc']}: {i['qty']} x {i['rate']:.2f} = {i['qty']*i['rate']:.2f} {currency}" for i in line_items])
r = requests.post(
"https://aipass.one/apikey/v1/chat/completions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": "gpt-5-mini", "temperature": 1, "max_tokens": 2000,
"messages": [{"role": "user", "content": f"Create professional invoice. FROM: {from_name} ({from_email}). TO: {to_name} ({to_email}). DATE: {today}, DUE: {due}, TERMS: {terms}, CURRENCY: {currency}. ITEMS:\n{items}\nTOTAL: {total:.2f} {currency}. NOTES: {notes or 'Late payments: 1.5%/month'}. Format ready to send."}]},
timeout=60
)
return r.json()["choices"][0]["message"]["content"]
Download Skill File