Create and send invoice
Create an invoice for an account from line items and send it to the client.
POST https://cotlet.dev/api/v1/taxdome/accounts/{account_id}/invoices
write Confirm
Creates an invoice from line items and sends it, as the Create button does in TaxDome, so there is no draft step. Returns the invoice ID and the total, which is the sum of the lines. Needs the firm owner or the Manage invoices access right. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| account_id string required | string | Account ID from list_accounts. |
| items array required | array | Lines as { description, amount }. |
| template string | string | Invoice template name to start from. |
| due_date date | date | Due date, ISO. |
Request
curl -X POST https://cotlet.dev/api/v1/taxdome/accounts/acc_4f21/invoices \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"description":"Bookkeeping, October 2026","amount":1200}],"due_date":"2026-10-28"}' result = client.call("taxdome", "send_invoice", {"account_id":"acc_4f21","items":[{"description":"Bookkeeping, October 2026","amount":1200}],"due_date":"2026-10-28"}) const result = await cotlet.call('taxdome', 'send_invoice', {"account_id":"acc_4f21","items":[{"description":"Bookkeeping, October 2026","amount":1200}],"due_date":"2026-10-28"}); cotlet call taxdome send_invoice --data '{"account_id":"acc_4f21","items":[{"description":"Bookkeeping, October 2026","amount":1200}],"due_date":"2026-10-28"}' Example response
{
"invoice_id": "inv_2291",
"account_id": "acc_4f21",
"items": [
{
"description": "Bookkeeping, October 2026",
"amount": 1200
}
],
"total": 1200,
"due_date": "2026-10-28",
"status": "sent"
}