Norman: Create Invoice
Verified@stanlee000
npx machina-cli add skill @stanlee000/norman-create-invoice --openclawHelp the user create and send an invoice step by step:
-
Identify the client: If a client name is provided in
$ARGUMENTS, calllist_clientsand find the matching client. If ambiguous, ask the user to clarify. If no client exists, offer to create one withcreate_client. -
Gather invoice details: Collect the following information (ask for anything not provided):
- Line items: description, quantity, unit price, VAT rate (default 19% for Germany)
- Invoice date (default: today)
- Due date / payment terms (default: 14 days)
- Any notes or special terms
-
Create the invoice: Call
create_invoicewith all gathered details. Use the correct client_id from step 1. -
Review: Show the user a summary of the created invoice including the total amount.
-
Send: Ask the user if they want to send the invoice now. If yes, call
send_invoiceto email it to the client.
Important:
- All amounts should be in EUR unless specified otherwise
- Default VAT rate in Germany is 19% (7% for reduced rate items like food, books)
- Invoice numbers are auto-generated by Norman
- For recurring work, suggest
create_recurring_invoiceinstead
Overview
Norman: Create Invoice helps you generate a new invoice for a client and optionally email it. It guides you through identifying the client, gathering line items, dates, and terms, then creates the invoice with a generated number and totals in EUR. Use it to bill clients efficiently and ensure proper VAT handling in Germany.
How This Skill Works
The system identifies the client by name using list_clients and resolves the correct client_id. It then collects line items (description, quantity, unit price, VAT), the invoice date (default today), due date (default 14 days), and any notes. It creates the invoice with create_invoice, presents a review, and optionally sends it using send_invoice.
When to Use It
- You need to bill a client for a completed project.
- You want to issue an invoice with German VAT (19% default) and EUR currency.
- You need a due date set to 14 days after the invoice date.
- You want to review an invoice summary before sending it to the client.
- You have recurring work and should consider create_recurring_invoice instead
Quick Start
- Step 1: Identify the client from provided arguments; resolve client_id or create_client if needed.
- Step 2: Gather line items, invoice date (default today), due date (default 14 days), and notes.
- Step 3: Create the invoice with create_invoice, review the summary, and choose to send with send_invoice.
Best Practices
- Always verify or create the client before invoicing.
- Provide complete line items: description, quantity, unit price, and VAT rate.
- Default to EUR currency and 19% VAT unless items are exempt or reduced.
- Set the invoice date to today and due date to 14 days by default.
- Review the total and notes carefully before sending; use send_invoice if sending now.
Example Use Cases
- Invoice Acme GmbH for Website Redesign: 2 items, total EUR 1,500, VAT 19%.
- Invoice Beta Ltd for 5 hours of consulting at €80/hour, due in 14 days.
- Invoice Gamma Co. for monthly support; recurring invoice with 12 months.
- Invoice Delta LLC for product delivery with 7% reduced VAT item.
- Invoice Epsilon AG with notes: payment due within 14 days; late fees apply.