---
title: "Create an invoice"
method: POST
path: "/api/invoice/new"
tags: ["Invoice"]
---

# Create an invoice

`POST /api/invoice/new`

## Headers

- `x-auth-key` string, required
- `x-auth-secret` string, required

## Request body

- InvoiceCreateApiModel
  - `ClientId` integer — The client to whom this invoice is assigned
  - `ClonedFromId` integer — Indicate from which invoice this invoice has been cloned from
  - `RecurringProfileId` integer — Hold the id of the recurring profile
  - `Number` string — Unique invoice number
  - `IssuedOn` string, date-time — Indicates when the invoice was issued
  - `Duedate` string, date-time — Indicates when the invoice will be proclamed as due
  - `PoNumber` string — Unique number generated by the buyer
  - `Terms` string — Terms of agreement
  - `Notes` string — Internal note regarding the invoice
  - `Status` 'Draft' | 'Paid' | 'Unpaid' | 'Overdue' | 'Void' — Indicate the status of the invoice (paid/unpaid/overdue)
  - `CurrencyId` integer — Id of the currency for the invoice amounts
  - `InvoiceCategoryId` integer — Hold the id of the invoice category
  - `ShouldSendReminders` boolean — Should send email reminders to client?
  - `RecurringProfile` InvoiceRecurringApiModel — Definition of invoice recurring profile
    - `Title` string — Title of the recurring profile. Ex: BRAND PACKAGE - 2017-08-16 - 2018-08-16
    - `RecurrancePattern` 'Daily' | 'Weekly' | 'Monthly' | 'Yearly' — How often the recurrance occurs
    - `RecurranceValue` integer — Recurring every [value] RecurrancePattern Ex: Recur every 1 week
    - `DayOfWeek` 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' — Day when the recurrance should happen
    - `DayOfMonth` integer — Day of month when the recurrance should happen
    - `Month` integer — Month when the recurrance should happen
    - `StartOfRecurrance` string, date-time — Indcate the date when the recurrance has started
    - `EndOfRecurrance` string, date-time — Indcate the date when the recurrance should stop
    - `DueDateInDays` integer — Total number of days for the client to pay the invoice after issuing it
    - `Status` 'Pending' | 'Active' | 'Cancelled' | 'Finished' — The status of the recurrance
  - `PaymentGateways` InvoiceGatewayApiModel[] — List of enabled payment gateways for this invoice
    - `Name` string — Name of the payment gateway
  - `Attachments` InvoiceCreateAttachmentApiModel[] — List of invoice attachments
    - `Link` string — Link to the file
    - `Size` integer — File size number in bytes
    - `Type` 'External' | 'Uploaded' — Type of the link (Attached or external)
    - `OriginalFileName` string — Name of the file
    - `ObfuscatedFileName` string — Hashed file name to avoid url wildguessing
  - `Items` InvoiceCreateItemApiModel[] — List of invoice items
    - `WorkTypeId` integer — Work type (Name of the service)
    - `Description` string — Additional description attached to the invoice item
    - `Cost` number, double — Amount per unit
    - `Quantity` number, double — Quantity in total used for the work type
    - `DiscountPercentage` number, double — Discount percentage for the overall amount
    - `TaxId` integer — Tax applied on the item
    - `TaxPercentage` number, double — Task percentage. Ex: 18%

## Response `200`

OK

- InvoiceFullDetailsApiModel
  - `Items` InvoiceItemApiModel[] — List of invoice items
    - `Id` integer — Id of invoice item
    - `WorkTypeId` integer — Work type (Name of the service)
    - `Description` string — Additional description attached to the invoice item
    - `Cost` number, double — Amount per unit
    - `Quantity` number, double — Quantity in total used for the work type
    - `DiscountPercentage` number, double — Discount percentage for the overall amount
    - `TaxId` integer — Tax applied on the item
    - `TaxPercentage` number, double — Task percentage. Ex: 18%
    - `DiscountAmount` number, double — Amount that goes as a discount
    - `TaxAmount` number, double — Amount that goes to the tax
    - `SubTotalAmount` number, double — Sub-Total amount of the invoice item (Amount without tax)
    - `TotalAmount` number, double — Total amount of the invoice item
  - `Attachments` InvoiceAttachmentApiModel[] — List of invoice attachments
    - `Id` integer — Id of invoice attachment
    - `Link` string — Link to the file
    - `Size` integer — File size number in bytes
    - `Type` 'External' | 'Uploaded' — Type of the link (Attached or external)
    - `OriginalFileName` string — Name of the file
    - `ObfuscatedFileName` string — Hashed file name to avoid url wildguessing
  - `Payments` InvoicePaymentApiModel[] — List of invoice payments
    - `Id` integer — Id of invoice payment
    - `Note` string — Internal payment note
    - `PaidOn` string, date-time — When the payment was done by the client
    - `Amount` number, double — Total amount of the payment
    - `Type` 'Other' | 'Paypal' | 'Stripe' | 'Payoneer' | 'Bank' | 'Cash' | 'Cheque' | 'Ach' | 'Sepa' | 'Square' | 'KlikAndPay' | 'Razorpay' | 'Wepay' | 'Halkbank' | 'TwoCheckout' | 'PaymentWall' | 'BamboraEU' | 'BamboraNA' | 'Nlb' | 'AuthorizeNet' | 'Braintree' — Type of payment
    - `IsAutomatic` boolean — Indicate if the payment is automatic or manual
    - `ReferenceId` string — Id of the payment
  - `Activities` InvoiceActivityApiModel[] — List of invoice activities. Invoice audit log
    - `Id` integer — Id of invoice activity
    - `InvoiceNumber` string — Indicates to which invoice this activity refers to
    - `Type` 'Created' | 'Draft' | 'Cloned' | 'SentViaEmail' | 'SentViaSms' | 'SentReminderViaEmail' | 'SentReminderViaSms' | 'Opened' | 'Viewed' | 'Rejected' | 'Updated' | 'Paid' | 'Unpaid' | 'Overdue' | 'NewManualPayment' | 'NewPaymentWithPaypal' | 'NewPaymentWithStripe' | 'NewPaymentWithPayoneer' | 'SentToAccountant' | 'DownloadedAsPdf' | 'MarkAsPaidByTheClient' | 'OpenedAttachment' | 'NewPaymentWithSquare' | 'NewPaymentWithKlikAndPay' | 'NewPaymentWithRazorpay' | 'NewPaymentWithWepay' | 'NewPaymentWithHalkbank' | 'ChangeStatus' | 'OrderUpdated' | 'OrderCreated' | 'NewPaymentWithTwoCheckout' | 'NewPaymentWithPaymentWall' | 'NewPaymentWithBamboraEU' | 'NewPaymentWithBamboraNA' | 'Void' | 'NewPaymentWithNlb' | 'NewPaymentWithAuthorizeNet' | 'NewPaymentWithBraintree' | 'EstimationCreated' | 'EstimationDraft' | 'EstimationCloned' | 'EstimationSentViaEmail' | 'EstimationOpened' | 'EstimationViewed' | 'EstimationAccepted' | 'EstimationRejected' | 'EstimationUpdated' | 'EstimationDownloadedAsPdf' | 'InvoiceDigitallySigned' — Type of the activity
    - `Message` string — Message associated with the activity
    - `Link` string — Url which point out to a certain activity action. Ex: Click to view the payment
  - `PaymentGateways` InvoiceGatewayApiModel[] — List of enabled payment gateways for this invoice
    - `Name` string — Name of the payment gateway
  - `Id` integer — Invoice id
  - `Client` ClientDetailsApiModel
    - `Id` integer — Entity id
    - `CreatedOn` string, date-time — Date of creation
    - `ClientCurrencyId` integer — Indicates the default system currency used by the user for the client
    - `ClientCountryId` integer — Indicates the country where the clients is from
    - `UiLanguageId` integer — Hold a value of the language in which the invoice will be sent
    - `Name` string — Name of the client
    - `Address` string — Client business address
    - `Email` string — Client email
    - `AdditionalEmails` AdditionalClientEmailApiModel[] — Client additional emails contact for CC
      - `Email` string — CC
    - `PhoneNumber` string — Client phone numer
    - `Vat` string — Client's VAT number
    - `CompanyRegistrationNumber` string — Client's Company Registration Number
    - `DefaultDueDateInDays` integer — Client custom payment terms
  - `Currency` CurrencyDetailsApiModel
    - `Id` integer — Entity id
    - `Name` string — Name of the country
    - `Value` string — Currency short alpha code
    - `Code` string — Currency short numeric code
    - `Symbol` string — Currency symbol
  - `ClonedFromId` integer — Indicate from which invoice this invoice has been cloned from
  - `RecurringProfileId` integer — Hold the id of the recurring profile
  - `Number` string — Unique invoice number
  - `IssuedOn` string, date-time — Indicates when the invoice was issued
  - `Duedate` string, date-time — Indicates when the invoice will be proclamed as due
  - `PoNumber` string — Unique number generated by the buyer
  - `DiscountAmount` number, double — Amount that goes as a discount
  - `TaxAmount` number, double — Amount that goes to the tax
  - `SubTotalAmount` number, double — Total amount of the invoice without tax
  - `TotalAmount` number, double — Total amount of the invoice with tax
  - `Terms` string — Terms of agreement
  - `Notes` string — Internal note regarding the invoice
  - `Status` 'Draft' | 'Paid' | 'Unpaid' | 'Overdue' | 'Void' — Indicate the status of the invoice (paid/unpaid/overdue)
  - `EnablePartialPayments` boolean — Indicate that the invoice allows the user to pay the invoice partially
  - `AccessToken` string — Security access token used for accessing the invoice anonymously
  - `RecurringProfile` InvoiceRecurringApiModel — Definition of invoice recurring profile
    - `Title` string — Title of the recurring profile. Ex: BRAND PACKAGE - 2017-08-16 - 2018-08-16
    - `RecurrancePattern` 'Daily' | 'Weekly' | 'Monthly' | 'Yearly' — How often the recurrance occurs
    - `RecurranceValue` integer — Recurring every [value] RecurrancePattern Ex: Recur every 1 week
    - `DayOfWeek` 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' — Day when the recurrance should happen
    - `DayOfMonth` integer — Day of month when the recurrance should happen
    - `Month` integer — Month when the recurrance should happen
    - `StartOfRecurrance` string, date-time — Indcate the date when the recurrance has started
    - `EndOfRecurrance` string, date-time — Indcate the date when the recurrance should stop
    - `DueDateInDays` integer — Total number of days for the client to pay the invoice after issuing it
    - `Status` 'Pending' | 'Active' | 'Cancelled' | 'Finished' — The status of the recurrance
  - `InvoiceCategoryId` integer — Hold the id of the invoice category
  - `ShouldSendReminders` boolean — Should send email reminders to client?

---

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