| name | create_invoice |
| tier | 1 |
| task | T06 |
| description | This skill should be used when the task asks to "create an invoice", "send an invoice", "crie uma fatura", "opprett ein faktura", "opprett en faktura", "erstelle eine Rechnung", "créer une facture", "crear una factura", "envoyez une facture", or involves creating and optionally sending an invoice to a customer in Tripletex. |
Create and Send Invoice
4 API calls. Preemptive bank setup on account 1920. No separate product or order.
Call 1: Create Customer
POST /customer
{"name": "<customer name>", "organizationNumber": "<org number>", "isCustomer": true}
Call 2: Bank Account Setup (GET + PUT on account 1920)
GET /ledger/account?number=1920&fields=id,number,bankAccountNumber,isBankAccount
If bankAccountNumber is empty:
PUT /ledger/account/<id>
{"id": <id>, "name": "Bankinnskudd", "number": 1920, "bankAccountNumber": "86011117947", "isBankAccount": true}
Calls 1 and 2 (GET part) are independent — run in parallel.
Call 3: Create AND Send Invoice (inline order + auto-send)
POST /invoice?sendToCustomer=true
{
"invoiceDate": "2026-03-21",
"invoiceDueDate": "2026-04-04",
"orders": [
{
"customer": {"id": <customer_id>},
"orderDate": "2026-03-21",
"deliveryDate": "2026-03-21",
"orderLines": [
{
"description": "<service name from prompt>",
"unitPriceExcludingVatCurrency": <amount>,
"vatType": {"id": 3},
"count": 1
}
]
}
]
}
Do NOT call PUT /:send separately — sendToCustomer=true handles it.
Total: 4 calls, 0 errors.
STRICT RULES
- Bank setup MUST be on account 1920 — creating new bank accounts does NOT satisfy the invoice check
- Do NOT POST /ledger/account to create a new bank — it blocks PUT on 1920 ("number in use")
- Bank number is ALWAYS
86011117947 — never guess
vatType: {"id": 3} is REQUIRED on order lines
sendToCustomer=true handles sending — no separate PUT /:send