201Successful Response
Schema: SuccessEnvelope_InvoiceResponse_
successbooleanmessagestringcodestringdataInvoiceResponse
/api/v1/invoicesCreate a new invoice for a customer. Optionally include 'recurring' config to also create a recurring template.
Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.
Schema: InvoiceCreateRequest
customer_idstringrequiredUUID of the customer to invoice.
currencystringCurrency for the invoice (USD, CAD, AUD, EUR, or GBP). Defaults to business default.
line_itemsarray · LineItemRequestrequiredLineItemRequestLine items (at least one required). Can be variant-linked or custom.
variant_idstringUUID of product variant. Omit or use 'custom' for manual line items.
catalog_item_idstringUUID of a Products & Services catalog item (Books). Mutually exclusive with a real variant_id. When set, description and unit_price default from the catalog item; provide unit_price to override the catalog price for this invoice.
quantityintegerQuantity ordered. Defaults to 1 for custom items.
descriptionstringLine item description (required for custom items).
unit_priceintegerPrice per unit in cents. Required for custom items. For variant-linked items this is an OPTIONAL override - if omitted, the current catalog price is used; if provided, the catalog price is ignored for this invoice. The override is snapshotted onto the invoice line item.
amountintegerTotal amount in cents. Deprecated for custom items - use unit_price instead. For backward compatibility, if unit_price is not set, amount is treated as unit_price.
location_idstringOptional warehouse UUID to deduct this line from. Overrides the invoice's fulfillment_location_id and the business default. Ignored for custom (non-variant) lines.
notestringOptional free-text note for this line item, shown alongside the description (e.g. internal context or a customer-facing clarification). Not used in pricing calculations.
due_datestringrequiredPayment due date in YYYY-MM-DD format.
issue_datestringOptional 'Date of issue' in YYYY-MM-DD format — the date the invoice is dated and reported under. Backdates the invoice: it becomes the invoice's date in the app, the date its finalization journal entry posts on, and the issue date on the PDF and receipt in place of the system-generated one. Also accepted as 'invoice_date', which is what the update endpoint calls it.
invoice_numberstringOptional invoice number to use instead of the next one from the business's auto-numbering — e.g. the number this invoice already carries in the system it is being migrated from. Must be unique within the business.
descriptionstringOptional invoice description or notes.
fulfillment_location_idstringDefault warehouse UUID for inventory deductions when the invoice is delivered. Per-line location_id overrides this.
project_idstringOptional UUID of a project (job) to link this invoice to. When the invoice is finalized, its revenue and COGS are attributed to this project for profitability reporting.
recurringInvoiceRecurringConfigIf provided, creates a recurring template for this invoice.
historicalbooleanRecord an invoice that was already issued somewhere else, for backfilling books, rather than issuing a new one. The invoice is written locally as a draft and never reaches Stripe, so it cannot be sent to or charged to the customer, and no Stripe account is required. It also lifts the rule that a due date must be in the future — a historical invoice normally came due in the past. Pair it with issue_date and invoice_number to preserve the date and number the invoice carried in the old system.
Schema: SuccessEnvelope_InvoiceResponse_
successbooleanmessagestringcodestringdataInvoiceResponseSchema: HTTPValidationError
detailarray · ValidationErrorValidationErrorlocarray · string | integerrequiredmsgstringrequiredtypestringrequiredinputobjectctxobject