Documents
Create an invoice
Creates a draft invoice with lines, taxes and discounts. Send type: "invoice".
Invoices, estimates and receipts are all created with POST /v1/documents; the type field picks the kind. The invoice is created as a draft with no number. Totals are computed on the server in integer minor units: line amounts, discounts, exclusive, inclusive and compound taxes, and the grand total. When the currency differs from the business base currency, the exchange rate is frozen on the document.
Nothing is sent to the client. Integrations, MCP clients and the AI agent always create drafts; you send with Send a document, which also gives the invoice its number. Lines can be filled from saved items; each line keeps a copy of the values.
See Invoices and Line items.
Idempotency-Keyis required for API-key and MCP calls, so a retry never creates two invoices.- Floating-point amounts are rejected; send minor units as strings.
- Permission
documents.create- Type
- Write. Creates or changes data and writes an audit entry.
- Auth
- API key, MCP token or signed-in session
- Capability
create_invoice- MCP tool
- create_invoice
- CLI
freeinvoiceautomation invoice create- Available
- At launch, 1 January 2027
curl --request POST \
--url https://api.freeinvoiceautomation.com/v1/documents \
--header 'Authorization: Bearer <api-key>' \
--header 'Idempotency-Key: <unique-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "invoice",
"client_id": "0193f2a0-5b3c-7d4e-8f50-6a7b8c9d0e1f",
"currency": "USD",
"issue_date": "2027-02-01",
"due_date": "2027-02-15",
"lines": [
{
"item_id": "0193f2a1-7c4e-7b9a-9f10-3c2d1e0a4b51",
"description": "Logo design",
"quantity": "1",
"unit": "piece",
"unit_price_minor": "45000"
},
{
"description": "Brand guidelines, 12 pages",
"quantity": "1",
"unit_price_minor": "75000"
}
],
"terms": "Payment due within 14 days.",
"notes": "Thank you for your business."
}'{
"data": {
"id": "0193f2b4-2d1e-7a6b-9c80-1f2e3d4c5b6a",
"business_id": "0193f29e-11aa-7c3b-8d2e-5a6b7c8d9e0f",
"client_id": "0193f2a0-5b3c-7d4e-8f50-6a7b8c9d0e1f",
"type": "invoice",
"status": "draft",
"number": null,
"issue_date": "2027-02-01",
"due_date": "2027-02-15",
"expires_at": null,
"currency": "USD",
"fx_rate": "0.7900000000",
"fx_rate_source": "ecb:2027-02-01",
"subtotal_minor": "120000",
"discount_minor": "0",
"tax_minor": "0",
"total_minor": "120000",
"amount_paid_minor": "0",
"amount_credited_minor": "0",
"balance_minor": "120000",
"terms": "Payment due within 14 days.",
"notes": "Thank you for your business.",
"accepted_methods": [
"0193f29f-55aa-7b66-8c77-9d88e99f0a01",
"0193f29f-55aa-7b66-8c77-9d88e99f0a02"
],
"pdf_template_id": null,
"late_fees_enabled": false,
"reminder_sequence_id": null,
"promise_to_pay_date": null,
"recurring_schedule_id": null,
"current_version": 0,
"first_sent_at": null,
"last_sent_at": null,
"accepted_at": null,
"paid_at": null,
"overdue_at": null,
"voided_at": null,
"voided_by": null,
"void_reason": null,
"source": "api",
"external_ref": null,
"client_generated_id": null,
"lines": [
{
"id": "0193f2b4-2d20-7b11-8c01-0a1b2c3d4e01",
"position": 1,
"kind": "item",
"item_id": "0193f2a1-7c4e-7b9a-9f10-3c2d1e0a4b51",
"description": "Logo design",
"quantity": "1",
"unit": "piece",
"unit_price_minor": "45000",
"discount_type": null,
"discount_value": null,
"tax_rate_id": null,
"tax_name": null,
"tax_rate": null,
"tax_calculation": null,
"subtotal_minor": "45000",
"tax_minor": "0",
"total_minor": "45000",
"credited_line_id": null
},
{
"id": "0193f2b4-2d20-7b11-8c01-0a1b2c3d4e02",
"position": 2,
"kind": "item",
"item_id": null,
"description": "Brand guidelines, 12 pages",
"quantity": "1",
"unit": null,
"unit_price_minor": "75000",
"discount_type": null,
"discount_value": null,
"tax_rate_id": null,
"tax_name": null,
"tax_rate": null,
"tax_calculation": null,
"subtotal_minor": "75000",
"tax_minor": "0",
"total_minor": "75000",
"credited_line_id": null
}
],
"links": [],
"pay_url": null,
"created_at": "2027-02-01T09:12:44Z",
"updated_at": "2027-02-01T09:12:44Z"
}
}Authorizations
Bearer <api-key>. An API key from Settings > API keys, or an MCP token. See Authentication.Headers
Body
application/jsoninvoice for this capability.Available options: invoice, estimate, receipt
YYYY-MM-DD.Response
201 - application/jsonAvailable options: invoice, estimate, credit_note, receipt
draft, sent, partially_paid, paid, overdue, void. Estimates: draft, sent, changes_requested, accepted, expired, converted, void. Credit notes: draft, issued, applied, refunded. Receipts: issued, void. See Document statuses.Available options: draft, sent, partially_paid, paid, overdue, void, changes_requested, accepted, expired, converted, issued, applied, refunded
INV-2027-0017. null until the document is first sent.YYYY-MM-DD.0 for a draft, 1 after the first send, then one more for each revision.Available options: app, api, mcp, cli, agent, shopify, woocommerce, generator_sync, recurring
Errors
Plus the common errors every call can return. See Errors.