---
title: "🔒 Create invoice V3"
method: POST
path: "/api/v3/invoices"
tags: ["Invoice"]
---

# 🔒 Create invoice V3

`POST /api/v3/invoices`

This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.

This endpoint requires the following scopes: `invoice:create`.

Create a new invoice.

## Request body

- object
  - `address` object, required
    - `id` string, required — ID of the address
  - `project` object
    - `id` string, required — ID of the project
  - `documentDate` string, date — Date of the document. Current date is used when omitted.
  - `language` string — Language of the document in an ISO-639-1 format.
  - `tags` object[] — List of tags associated with the document. New tags will be automatically created if they do not exist.
    - `title` string, required — Title of the Tag
  - `documentAddress` object — The recipients postal address of the document. If not provided, the address of the business partner will be used.
    - `name` string, required — Represents an address consisting of a physical address and contact information. It is used in various documents, such as invoices, delivery notes, etc.
    - `type` 'mrs' | 'mr' | 'company' | 'other'
    - `title` string
    - `contactPerson` string
    - `department` string
    - `subDepartment` string
    - `addressSupplement` string
    - `street` string
    - `zipCode` string
    - `city` string
    - `state` string
    - `country` string
    - `salutation` string
    - `gln` string
    - `email` string
    - `phone` string
    - `fax` string
    - `mobile` string
  - `internalDesignation` string — Internal designation, might be displayed in the letterhead
  - `bodyIntroduction` string — Introduction text for the body of the document
  - `bodyOutroduction` string — Outroduction text for the body of the document
  - `vatId` string — VAT ID of the business partner
  - `deliveryTerms` string — Delivery terms for the document
  - `internalComment` string — Internal comment for the document
  - `printSettings` object
    - `withoutLetterhead` boolean — If true, the document will be printed without letterhead.
    - `withoutProductText` boolean — If true, the document will be printed without product text.
  - `editor` object — Editor information
    - `id` string — Editor address ID
  - `costCenter` string — Cost center for the document
  - `financials` object
    - `tax` object — Tax properties of the document
      - `taxation` 'domestic' | 'eu' | 'export' | 'exempt' — Taxation of the document, e.g. "domestic" or "eu".
    - `currency` string — Currency of the document, e.g. "EUR" or "USD".
    - `exchangeRate` number, float — Per-document exchange rate, used when the document currency differs from the system base currency. Overrides the rate from the global currency exchange table for this document. A value of 0 means: use the global rate from currency exchange.
  - `sales` object — Sales information
    - `id` string — Sales address ID
  - `dunningSettings` object
    - `level` 'paymentReminder1' | 'reminder1' | 'reminder2' | 'reminder3' | 'debtCollection' | 'lossOfReceivables' — Dunning level of the invoice.
    - `date` string, date — Dunning date of the invoice.
    - `blocked` boolean — Indicates whether dunning is blocked for the invoice.
    - `comment` string — Comment regarding the dunning of the invoice.
  - `dunningSetManually` boolean — Indicates whether dunning values are manually set.
  - `dunningManualSettings` object — Manual dunning settings. Only applicable when dunningSetManually is true.
    - `paymentStatus` 'pending' | 'paid' | 'partiallyPaid' | 'cancelled' | 'partiallyCancelled' | 'badDebt' | 'debited' — Manually set payment status.
    - `paidAt` string, date — Date when the invoice was paid.
    - `actualAmount` object — Money
      - `amount` union
        - string
        - number
      - `currency` string — Currency
    - `discountGiven` object — Money
      - `amount` union
        - string
        - number
      - `currency` string — Currency
  - `masterReferenceNumber` string — Master reference number for the invoice.
  - `customerOrderNumber` string — Customer order number / reference.
  - `deliveryDate` string, date — Delivery date of the order the invoice is associated with.
  - `useAlternativeDocumentTitle` boolean — Indicates if the alternative document title should be used.
  - `deviatingDebtorAccountNumber` string — Deviating debtor account number for accounting purposes.
  - `lineItems` object[] — List of line items for the invoice.
    - `product` object, required — Product information.
      - `id` string, required — ID of the product
    - `name` string — Line item name. If not provided, the product name will be used.
    - `description` string — Line item description. If not provided, the product description will be used.
    - `countryOfOrigin` string — Country of origin for the product. If not provided, the product's country of origin will be used.
    - `hsCode` string — Harmonized System (HS) code for the product. If not provided, the product's HS code will be used.
    - `deliveryDate` string, date — Delivery date of the line item.
    - `deliveryDateAsCalendarWeek` boolean — Whether to show the delivery date as calendar week or explicit.
    - `internalComment` string — Internal comment for the line item.
    - `customerProductNumber` string — Customer product number for the line item.
    - `unit` string — Unit of the line item (e.g., "kg", "pcs"). If not provided, the product's unit will be used.
    - `discount` number, float — Discount percentage
    - `price` object — Price information
      - `net` object — Net price
        - `amount` number, float — Net amount
        - `currency` string — Currency code
    - `taxLegalNotice` string — Legal notice regarding tax for this line item
    - `printSettings` object — Print settings for this line item
      - `withoutPrice` boolean — Whether to hide the price for this line item when printing
      - `hidden` boolean — Whether to hide this line item when printing the document
  - `documentNumber` string — Custom document number to assign to the invoice. By default, the document number is generated by Xentral when the invoice is released. Providing this field overrides that default: the supplied number is used and the invoice is created as `released` immediately (no separate `actions/release` call needed). Intended for use cases where the document number originates from an external system (e.g. Amazon VCS mirroring invoices from Amazon's own number range). The number must be unique across all invoices.
  - `salesOrder` object — Reference to a sales order to link the invoice to. The link is reference-only — the sales order's line items are not copied and its status is not changed. Used for mirroring external invoices that originate from an existing sales order.
    - `id` string, required — ID of the sales order

## Response `201`

Create a new invoice.

- object
  - `data` object — Invoice document
    - `id` string — ID of the document
    - `documentNumber` string — Document number. For drafts, this will be null.
    - `documentDate` string, date — Main date of the document.
    - `writeProtection` boolean — Indicates if the document is write protected.
    - `customerNumber` string — Customer number of the document.
    - `address` union — Address entity of the document. By default, only the ID is returned. To get the full Address object, use the `include` parameter.
      - object
        - `id` string, required
        - `isDeleted` boolean — Flagged if the entry was deleted.
        - `createdAt` string, date-time, required — Creation timestamp
        - `updatedAt` string, date-time, required — Last update timestamp
      - object
        - `id` string
    - `project` union — Project entity of the document. By default, only the ID is returned. To get the full Project object, use the `include` parameter.
      - object
        - `id` string, required
        - `name` string, required
        - `abbreviation` string, required
      - object
        - `id` string
    - `tags` object[] — Tags assigned to the document. This property is only returned if the `tags` include is used.
      - `id` string — ID of the tag
      - `title` string — Title of the tag
    - `documentAddress` object — The recipients postal address of the document. This is is usually the postal address of the document's address entitiy, (e.g. customer), or is populated based on the preceding document. As this address is persisted on the document level, it can however be modified independently, and does not reflect changes that occurred since the document was created.
      - `name` string, required — Represents an address consisting of a physical address and contact information. It is used in various documents, such as invoices, delivery notes, etc.
      - `type` 'mrs' | 'mr' | 'company' | 'other'
      - `title` string
      - `contactPerson` string
      - `department` string
      - `subDepartment` string
      - `addressSupplement` string
      - `street` string
      - `zipCode` string
      - `city` string
      - `state` string
      - `country` string
      - `salutation` string
      - `gln` string
      - `email` string
      - `phone` string
      - `fax` string
      - `mobile` string
    - `internalDesignation` string — Internal designation, might be displayed in the letterhead.
    - `isDocumentSent` boolean — Indicates if the document has been sent to the recipient.
    - `language` string — ISO 639-1 Language of the document.
    - `bodyIntroduction` string — Text displayed on the document before the line items.
    - `bodyOutroduction` string — Text displayed on the document after the line items.
    - `vatId` string — VAT ID of the document.
    - `deliveryTerms` string — Delivery terms of the document.
    - `internalComment` string — Internal comment, does not show up on the document. Intended to be used for company-internal notes.
    - `editor` object
      - `id` string — ID of the user who is responsible for the document.
    - `printSettings` object
      - `withoutLetterhead` boolean — For PDFs or physical documents, hide the letterhead
      - `withoutProductText` boolean — For PDFs or physical documents, hide the product text
    - `activity` object[] — Activity log entries associated with the document. To get activity object, use the `include` parameter.
      - `message` string, required
      - `causer` string, required
      - `causedAt` string, date-time, required
    - `customFields` object[] — Custom fields with their values and metadata
      - `key` string
      - `value` string
      - `label` string
    - `updatedAt` string, date-time
    - `createdAt` string, date-time
    - `financials` object — Financials properties of the document
      - `paymentMethod` object — Payment method of the document. This is a reference to the payment method used for the document.
        - `id` string
      - `paymentTerms` object — Payment terms of the document
        - `paymentTargetDays` integer
        - `paymentTargetDiscount` number, float
        - `paymentTargetDiscountDays` integer
      - `tax` object — Tax properties of the document
        - `taxation` 'domestic' | 'eu' | 'export' | 'exempt' — Taxation of the document, e.g. "domestic" or "eu".
        - `disableTaxNotice` boolean — Indicates if the tax notice should be disabled for this document.
        - `taxRates` object — Tax rates of the document. These values cannot be edited directly via the Xentral UI, and are set based on the tax settings and the delivery or billing region.
          - `standard` number, float
          - `reduced` number, float
      - `currency` string — Currency of the document as an ISO 4217 code, e.g. "EUR" or "USD".
      - `exchangeRate` unknown
    - `totals` object — Totals of the document. These values cannot be set directly, but are calculated based on the line items
      - `net` object — Money
        - `amount` union
          - string
          - number
        - `currency` string — Currency
      - `gross` object — Money
        - `amount` union
          - string
          - number
        - `currency` string — Currency
      - `contributionMargin` number, float — Contribution margin of the document.
    - `salesOrder` object — Sales order reference.
      - `id` string — ID of the sales order
    - `deliveryNote` object — Delivery Note reference
      - `id` string — ID of the offer
    - `sales` object — Sales person responsible for the document.
      - `id` string
    - `status` 'draft' | 'released' | 'sent' | 'cancelled' | 'completed' — Status of the document.
    - `customerOrderNumber` string — Customer order number of the invoice, e.g. the customer's purchase order number.
    - `deliveryDate` string, date — Delivery date of the invoice. This is the date when the goods or services were delivered.
    - `deviatingDebtorAccountNumber` string — Deviating debtor account number for the invoice. Used for accounting export.
    - `useAlternativeDocumentTitle` boolean — Indicates if the alternative document title should be used. The alternative document title can be configured per document type in the system settings.
    - `lineItems` union[]
      - union
        - object — Invoice Line Item
          - `type` 'product'
          - `id` string — ID of the line item.
          - `number` string — The Number of the line item. Usually the product SKU, but can be adjusted if required.
          - `name` string — The name of the line item. Usually the product name, but can be adjusted if required.
          - `description` string — The description of the line item. Usually the product description, but can be adjusted if required.
          - `quantity` number, float — The quantity of the line item.
          - `product` union — The product of the line item.
            - object
              - …
            - object
              - …
          - `countryOfOrigin` unknown
          - `hsCode` unknown
          - `customFields` object[] — Custom fields with their values and metadata.
            - `key` string
            - `value` string
            - `label` string
          - `unit` string — The unit of the line item.
          - `deliveryDate` string, date — The delivery date of the line item.
          - `deliveryDateAsCalendarWeek` boolean — Whether to show the delivery date as calendar week or explicit.
          - `packagingUnit` string — The unit of packaging for the line item.
          - `internalComment` string — Internal comment, does not show up on the document. Intended to be used for company-internal notes.
          - `customerProductNumber` string — Customer product number for the line item.
          - `order` integer — The ordering sequence of the line item.
          - `updatedAt` string, date-time — The date and time when the line item was last updated.
          - `createdAt` string, date-time — The date and time when the line item was created.
          - `taxRate` union — Tax rate type applied to this line item
            - 'standard' | 'reduced' | 'exempt'
            - number, float
          - `effectiveTaxRate` number, float — Effective tax rate for this line item
          - `price` object — Price information for this line item
            - `net` object — Money
              - …
            - `gross` object — Money
              - …
          - `discount` number, float — Discount percentage applied to this line item
          - `itemRevenue` object — Total revenue for all quantities of this line item
            - `net` object — Money
              - …
            - `gross` object — Money
              - …
          - `lineItemRevenue` object — Revenue for a single unit of this line item
            - `net` object — Money
              - …
            - `gross` object — Money
              - …
          - `purchasePrice` object — Purchase price information for this line item
            - `net` object — Money
              - …
          - `contributionMargin` number, float — Contribution margin for this line item
          - `taxLegalNotice` string — Legal notice regarding tax for this line item
          - `printSettings` object — Print settings for this line item.
            - `withoutPrice` boolean — Hide the prices for this line item when printing.
            - `hidden` boolean — Hide this line item when printing.
          - `salesOrderLineItem` object — sales order line item reference.
            - `id` string — ID of the line item
        - object
          - `id` string, required
          - `order` integer — The ordering sequence of the line item
          - `type` 'heading', required
          - `name` string
          - `description` string
        - object
          - `id` string, required
          - `order` integer — The ordering sequence of the line item
          - `type` 'subtotal', required
          - `name` string
          - `description` string
        - object
          - `id` string, required
          - `order` integer — The ordering sequence of the line item
          - `type` 'group_total', required
          - `name` string
          - `description` string
        - object
          - `id` string, required
          - `order` integer — The ordering sequence of the line item
          - `type` 'image', required
          - `name` string
          - `description` string
          - `image` object
            - `id` string
          - `imageHeight` unknown
          - `imageWidth` unknown
        - object
          - `id` string, required
          - `order` integer — The ordering sequence of the line item
          - `type` 'page_break', required
    - `masterReferenceNumber` string — Master reference number of the document.
    - `effectiveAddresses` object — Effective addresses of the invoice.
      - `billTo` object — Represents a postal address with contact information.
        - `name` string, required — Represents an address consisting of a physical address and contact information. It is used in various documents, such as invoices, delivery notes, etc.
        - `type` 'mrs' | 'mr' | 'company' | 'other'
        - `title` string
        - `contactPerson` string
        - `department` string
        - `subDepartment` string
        - `addressSupplement` string
        - `street` string
        - `zipCode` string
        - `city` string
        - `state` string
        - `country` string
        - `salutation` string
        - `gln` string
        - `email` string
        - `phone` string
        - `fax` string
        - `mobile` string
    - `paymentStatus` 'pending' | 'paid' | 'partiallyPaid' | 'cancelled' | 'partiallyCancelled' | 'badDebt' | 'debited' — Payment status of the invoice.
    - `dunningSettings` object — Dunning settings of the invoice.
      - `level` 'paymentReminder1' | 'reminder1' | 'reminder2' | 'reminder3' | 'debtCollection' | 'lossOfReceivables' — Dunning level of the invoice.
      - `date` string, date — Date of the last dunning.
      - `blocked` boolean — Whether the invoice is blocked for dunning.
      - `comment` string — Internal comment regarding dunning.
    - `dunningSetManually` boolean — Indicates whether dunning values are manually set.
    - `dunningManualSettings` object — Manual dunning settings.
      - `paidAt` string, date — Date when the invoice was paid.
      - `actualAmount` object — Money
        - `amount` union
          - string
          - number
        - `currency` string — Currency
      - `discountGiven` object — Money
        - `amount` union
          - string
          - number
        - `currency` string — Currency
      - `difference` object — Money
        - `amount` union
          - string
          - number
        - `currency` string — Currency
    - `costCenter` string — Cost center of the document.

## Other responses

- `400` — Failed validation
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests

---

[API](https://skmtc.net/xentral/apis/xentral-api.md) · [All operations](https://skmtc.net/xentral/apis/xentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xentral/xentral-api/versions/8a27ba392442/schema)
