---
title: "Create a new invoice"
method: POST
path: "/invoices"
tags: ["Invoices"]
---

# Create a new invoice

`POST /invoices`

Create a new invoice for a customer. The invoice can be sent to the customer

## Query parameters

- `send_notification` boolean

## Request body

- InvoiceObject
  - `id` string — unique uuid of the invoice
  - `reference` string — invoice reference
  - `customerId` string — unique identifier of the customer, recipient of the invoice
  - `customerName` string — Customer Full name, recipient of the payment link
  - `currency` string, required — invoice currency
  - `dueDate` string, date, required — invoice due date
  - `orderDetails` ItemObject[] — list of purchased items
    - `id` string, uuid — unique uuid of the product
    - `name` string — product name. A product can be a service
    - `reference` string — product reference
    - `price` number, double — product unit price
    - `quantity` number, double — quantity of this product purchased
    - `discount` number, double — discount percentage applied to product price and tax rate
    - `taxRate` number, double — tax rate in percentage added to product price
    - `totalPrice` number, double — total price including discount and tax
  - `subTotalAmount` number, double — total price of items bought by the customer without tax
  - `deliveryCharges` number, double — shipping costs
  - `deductedAmount` number, double — amount in absolute value to be deducted to final amount
  - `totalTax` number, double — total tax collected
  - `finalAmount` number, double — final amount to be paid by the customer including tax
  - `status` 'opened' | 'paid' | 'paid_in_cash' | 'expired' — Invoice status
  - `redirectUrlAfterPayment` string — Optional. Provide an url if you want to redirect customer after successful payment is done.
  - `deviceId` string — The identifier of the device used to make the request
  - `enableMultiplePayment` boolean — By default, only one payment is authorized on each invoice. In case you want to allow multiple payment (recurrent payment) on this invoice, set the value to true
  - `nbrPayments` integer — If enableMultiplePayment is set true, the syteme will count the number of success payments performed on this invoice. This field is ignored if enableMultiplePayment is set to false
  - `paymentUrl` string — invoice payment url. This url link is sent to the customer to allow him to pay the invoice.
  - `downloadUrl` string — invoice payment url. This url link is sent to the customer to allow him to download the invoice.
  - `createdAt` string — The date time that record was created in our system.
  - `updatedAt` string — The date time that record was updated in our system.

## Response `201`

The invoice is created successfully

## Other responses

- `400` — Bad Request
- `401` — The caller is not authenticated
- `403` — Access rights not sufficient
- `500` — Internal Server Error.

---

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