Skip to main content
Use this endpoint to issue invoices to your customers. Only an invoice in the draft state can be issued.

Request

Curl

Response

Success

Parameters

id mandatory : string The unique identifier of the invoice.

Parameters

id : string The unique identifier of the invoice. entity : string Indicates the type of entity. Here, it is invoice. type : string Here, it should be invoice. invoice_number : string Unique number you added for internal reference. The minimum character length is 1 and maximum is 40. customer_id : string The unique identifier of the customer. You can create customer_id using the Customers API. Alternatively, you can pass the customer object described in the below fields. customer_details : object Details of the customer. id : string Unique identifier of the customer. For example, cust_1Aa00000000004. name : string Customer’s name. Alphanumeric, with period (.), apostrophe (’) and parentheses allowed. The name must be between 3-50 characters in length. For example, Gaurav Kumar. email : string The customer’s email address. A maximum length of 64 characters. For example, gaurav.kumar@example.com. contact : string The customer’s phone number. A maximum length of 15 characters including country code. For example, +919876543210. billing_address : object Details of the customer’s billing address. id : string The unique identifier generated for the customer’s billing address. type : string The customer address type. Here it is billing_address. primary : boolean Defines if this is the primary address.
  • true: It is the customer’s primary address.
  • false: It is not the customer’s primary address.
line1 : string The first line of the customer’s address. line2 : string The second line of the customer’s address. city : string The city. zipcode : string The zipcode. state : string The state. country : string The country. shipping_address : object Details of the customer’s shipping address. id : string The unique identifier generated for the customer’s shipping address. type : string The customer address type. Here it is shipping_address. primary : boolean Defines if this is the primary address.
  • true: It is the customer’s primary address.
  • false: It is not the customer’s primary address.
line1 : string The first line of the customer’s address. line2 : string The second line of the customer’s address. city : string The city. zipcode : string The zipcode. state : string The state. country : string The country. order_id : string The unique identifier of the order associated with the invoice. line_items : object Details of the line item that is billed in the invoice. Maximum of 50 line items. id : string Unique identifier that is generated if a new item has been created while creating the invoice. item_id : string Unique identifier of the item generated using Items API that has been billed in the invoice. name : string The item’s name. description : string A brief description of the item. amount : integer The price of the item. currency : string The currency associated with the item. Default is INR. Know about the list of supported international currencies. type : string Here, it is invoice. quantity : integer The quantity of the item billed in the invoice. Defaults to 1. . type : string Here, it is invoice. quantity : integer The quantity of the item billed in the invoice. Defaults to 1. payment_id : string Unique identifier of a payment made against this invoice. status : string The status of the invoice. Know more about Invoice States. Possible values:
  • draft
  • issued
  • partially_paid
  • paid
  • cancelled
  • expired
  • deleted
expire_by : integer Timestamp, in Unix format, at which the invoice will expire. issued_at : integer Timestamp, in Unix format, at which the invoice was issued to the customer. paid_at : integer Timestamp, in Unix format, at which the payment was made. cancelled_at : integer Timestamp, in Unix format, at which the invoice was cancelled. expired_at : integer Timestamp, in Unix format, at which the invoice expired. sms_status : string The delivery status of the SMS notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
email_status : string The delivery status of the email notification for the invoice sent to the customer. Possible values:
  • pending
  • sent
partial_payment : boolean Indicates whether the customer can make a partial payment on the invoice. Possible values:
  • true: The customer can make partial payments.
  • false (default): The customer cannot make partial payments.
amount : integer Amount to be paid using the invoice. Must be in the smallest unit of the currency. For example, if the amount to be received from the customer is , pass the value as 30000. amount_paid : integer Amount paid by the customer against the invoice. amount_due : integer The remaining amount to be paid by the customer for the issued invoice. currency : string The currency associated with the invoice. You must mandatorily pass this parameter if accepting international payments. If you have passed currency as a sub-parameter in the line_item object, you must ensure that the same currency is passed in both places. Know about the list of supported international currencies. . description : string A brief description of the invoice. The maximum character length is 2048. notes : object Any custom notes added to the invoice. Maximum of 2048 characters. short_url : string The short URL that is generated. Share this link with customers to accept payments. date : integer Timestamp, in Unix format, that indicates the issue date of the invoice. terms : string Any terms to be included in the invoice. Maximum of 2048 characters. comment : string Any comments to be added in the invoice. Maximum of 2048 characters.

Errors

The API “ provided is invalid.
  • code: 400
  • description: There is a mismatch between the API credentials passed in the API call and those generated on the Dashboard.
  • solution: - Ensure that the API Keys are active and entered correctly.
  • There should be no whitespaces before or after the keys.
line_items is required.
  • code: 400
  • description: Items and customer details are missing.
  • solution: Add items and customer details.
Operation not allowed for Invoice in issued status.
  • code: 400
  • description: You are trying to issue an invoice that is already issued.
  • solution: Issue an invoice in the draft state.
The id provided does not exist.
  • code: 400
  • description: There is an error in the invoice id. It may be incorrect or invalid.
  • solution: Check that you have entered a valid invoice id.