Create invoice
Creates a new incoming invoice with line items in a single transaction. The vendor must exist. Invoice numbers are unique per vendor.
POST
/v1/invoices Authorization
Authorization string header required API key in the format
ll_.... Pass as a Bearer token. Request Body
vendor_id uuid required Vendor ID
document_id uuid optional Linked document (e.g. OCR scan)
invoice_number string required Invoice number (max 100)
invoice_date string required Invoice date (YYYY-MM-DD)
due_date string optional Due date (YYYY-MM-DD)
total_net number required Net amount
total_tax number required Tax amount
total_gross number required Gross amount
currency string optional Currency (3 characters, default: EUR)
intent_id uuid optional Linked journal intent (sets status to open)
notes string optional Free-text notes (max 2000)
lines array required Invoice line items (min. 1)
Invoice line item
position integer required Line number (starting at 1)
description string required Description (max 500)
quantity number required Quantity (positive)
unit_price number required Unit price
tax_rate number required Tax rate (0–1, e.g. 0.19)
tax_amount number required Tax amount of the line
line_total number required Gross amount of the line
account_number string optional Expense account for this line
Responses
201
Success
400
INVALID_INPUT Required fields are missing or values do not match the expected format.
404
VENDOR_NOT_FOUND
409
DUPLICATE_INVOICE_NUMBER
POST
cURL /v1/invoices -cmd">curl --request -method">POST -punct">\
--url 'https://api.ledgerlou.de/v1/invoices' -punct">\
--header 'Authorization: Bearer ll_your_key' -punct">\
--header 'Content-Type: application/json' -punct">\
--data '{
"vendor_id": "a1b2c3d4-...",
"invoice_number": "RE-2024-001",
"invoice_date": "2024-03-15",
"due_date": "2024-04-15",
"total_net": 1000,
"total_tax": 190,
"total_gross": 1190,
"lines": [
{
"position": 1,
"description": "Beratungsleistung",
"quantity": 1,
"unit_price": 1000,
"tax_rate": 0.19,
"tax_amount": 190,
"line_total": 1190
}
]
}' 201 Response
JSON {
"id": "<string>"
}