> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoices Entity

> Entity parameters and sample code for Invoices API.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

The Invoices entity has the following parameters:

<ResponseExample>
  ```json Entity theme={null}
  {
    "id": "inv_E7q0tqkxBRzdau",
    "entity": "invoice",
    "receipt": null,
    "invoice_number": null,
    "customer_id": "cust_E7q0trFqXgExmT",
    "customer_details": {
      "id": "cust_E7q0trFqXgExmT",
      "name": "<name>",
      "email": "<email>",
      "contact": "<phone>",
      "gstin": null,
      "billing_address": {
        "id": "addr_E7q0ttqh4SGhAC",
        "type": "billing_address",
        "primary": true,
        "line1": "Bakers Street",
        "line2": "Country Road",
        "zipcode": "560068",
        "city": "Bengaluru",
        "state": "Karnataka",
        "country": "in"
      },
      "shipping_address": {
        "id": "addr_E7q0ttKwVA1h2V",
        "type": "shipping_address",
        "primary": true,
        "line1": "Bakers Street",
        "line2": "Country Road",
        "zipcode": "560068",
        "city": "Bengaluru",
        "state": "Karnataka",
        "country": "in"
      },
      "customer_name": "<name>",
      "customer_email": "<email>",
      "customer_contact": "<phone>"
    },
    "order_id": "order_E7q0tvRpC0WJwg",
    "line_items": [
      {
        "id": "li_E7q0tuPNg84VbZ",
        "item_id": null,
        "ref_id": null,
        "ref_type": null,
        "name": "Master Cloud Computing in 30 Days",
        "description": "Book by Ravena Ravenclaw",
        "amount": 399,
        "unit_amount": 399,
        "gross_amount": 399,
        "tax_amount": 0,
        "taxable_amount": 399,
        "net_amount": 399,
        "currency": "INR",
        "type": "invoice",
        "tax_inclusive": false,
        "hsn_code": null,
        "sac_code": null,
        "tax_rate": null,
        "unit": null,
        "quantity": 1,
        "taxes": []
      }
    ],
    "payment_id": null,
    "status": "issued",
    "expire_by": null,
    "issued_at": 1579765167,
    "paid_at": null,
    "cancelled_at": null,
    "expired_at": null,
    "sms_status": "pending",
    "email_status": "pending",
    "date": 1579765167,
    "terms": null,
    "partial_payment": false,
    "gross_amount": 399,
    "tax_amount": 0,
    "taxable_amount": 399,
    "amount": 399,
    "amount_paid": 0,
    "amount_due": 399,
    "currency": "INR",
    "description": null,
    "notes": [],
    "comment": null,
    "short_url": "https://rzp.io/i/2wxV8Xs",
    "view_less": true,
    "billing_start": null,
    "billing_end": null,
    "type": "invoice",
    "group_taxes_discounts": false,
    "created_at": 1579765167
  }
  ```
</ResponseExample>

<ResponseField name="id" type="string">
  The unique identifier of the invoice.
</ResponseField>

<ResponseField name="entity" type="string">
  Indicates the type of entity. Here, it is `invoice`.
</ResponseField>

<ResponseField name="type" type="string">
  Here, it should be `invoice`.
</ResponseField>

<ResponseField name="invoice_number" type="string">
  Unique number you added for internal reference. The minimum character length is 1 and maximum is 40.
</ResponseField>

<ResponseField name="customer_id" type="string">
  The unique identifier of the customer. You can create `customer_id` using the [Customers API](/docs/api/customers). Alternatively, you can pass the customer object described in the below fields.
</ResponseField>

<ResponseField name="customer_details" type="object">
  Details of the customer.
</ResponseField>

<ResponseField name="id" type="string">
  Unique identifier of the customer. For example, `cust_1Aa00000000004`.
</ResponseField>

<ResponseField name="name" type="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`.
</ResponseField>

<ResponseField name="email" type="string">
  The customer's email address. A maximum length of 64 characters. For example, `gaurav.kumar@example.com`.
</ResponseField>

<ResponseField name="contact" type="string">
  The customer's phone number. A maximum length of 15 characters including country code. For example, `+919876543210`.
</ResponseField>

<ResponseField name="billing_address" type="object">
  Details of the customer's billing address.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier generated for the customer's billing address.
</ResponseField>

<ResponseField name="type" type="string">
  The customer address type. Here it is `billing_address`.
</ResponseField>

<ResponseField name="primary" type="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.
</ResponseField>

<ResponseField name="line1" type="string">
  The first line of the customer's address.
</ResponseField>

<ResponseField name="line2" type="string">
  The second line of the customer's address.
</ResponseField>

<ResponseField name="city" type="string">
  The city.
</ResponseField>

<ResponseField name="zipcode" type="string">
  The zipcode.
</ResponseField>

<ResponseField name="state" type="string">
  The state.
</ResponseField>

<ResponseField name="country" type="string">
  The country.
</ResponseField>

<ResponseField name="shipping_address" type="object">
  Details of the customer's shipping address.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier generated for the customer's shipping address.
</ResponseField>

<ResponseField name="type" type="string">
  The customer address type. Here it is `shipping_address`.
</ResponseField>

<ResponseField name="primary" type="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.
</ResponseField>

<ResponseField name="line1" type="string">
  The first line of the customer's address.
</ResponseField>

<ResponseField name="line2" type="string">
  The second line of the customer's address.
</ResponseField>

<ResponseField name="city" type="string">
  The city.
</ResponseField>

<ResponseField name="zipcode" type="string">
  The zipcode.
</ResponseField>

<ResponseField name="state" type="string">
  The state.
</ResponseField>

<ResponseField name="country" type="string">
  The country.
</ResponseField>

<ResponseField name="order_id" type="string">
  The unique identifier of the order associated with the invoice.
</ResponseField>

<ResponseField name="line_items" type="object">
  Details of the line item that is billed in the invoice. Maximum of 50 line items.
</ResponseField>

<ResponseField name="id" type="string">
  Unique identifier that is generated if a new item has been created while creating the invoice.
</ResponseField>

<ResponseField name="item_id" type="string">
  Unique identifier of the item generated using Items API that has been billed in the invoice.
</ResponseField>

<ResponseField name="name" type="string">
  The item's name.
</ResponseField>

<ResponseField name="description" type="string">
  A brief description of the item.
</ResponseField>

<ResponseField name="amount" type="integer">
  The price of the item.
</ResponseField>

<ResponseField name="currency" type="string">
  The currency associated with the item. Default is `INR`. Know about the [list of supported international currencies](/docs/payments/international-payments#supported-currencies).
</ResponseField>

<ResponseField name="type" type="string">
  Here, it is `invoice`.
</ResponseField>

<ResponseField name="quantity" type="integer">
  The quantity of the item billed in the invoice. Defaults to `1`.
</ResponseField>

<ResponseField name="payment_id" type="string">
  Unique identifier of a payment made against this invoice.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the invoice. Know more about [Invoice States](/docs/payments/invoices/states). Possible values:

  * `draft`
  * `issued`
  * `partially_paid`
  * `paid`
  * `cancelled`
  * `expired`
  * `deleted`
</ResponseField>

<ResponseField name="expire_by" type="integer">
  Timestamp, in Unix format, at which the invoice will expire.
</ResponseField>

<ResponseField name="issued_at" type="integer">
  Timestamp, in Unix format, at which the invoice was issued to the customer.
</ResponseField>

<ResponseField name="paid_at" type="integer">
  Timestamp, in Unix format, at which the payment was made.
</ResponseField>

<ResponseField name="cancelled_at" type="integer">
  Timestamp, in Unix format, at which the invoice was cancelled.
</ResponseField>

<ResponseField name="expired_at" type="integer">
  Timestamp, in Unix format, at which the invoice expired.
</ResponseField>

<ResponseField name="sms_status" type="string">
  The delivery status of the SMS notification for the invoice sent to the customer. Possible values:

  * `pending`
  * `sent`
</ResponseField>

<ResponseField name="email_status" type="string">
  The delivery status of the email notification for the invoice sent to the customer. Possible values:

  * `pending`
  * `sent`
</ResponseField>

<ResponseField name="partial_payment" type="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.
</ResponseField>

<ResponseField name="amount" type="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 ₹300, pass the value as `30000`. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as 295990. And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as 295.

  <Warning>
    **Watch Out!**

    As per payment guidelines, you should pass the last decimal number as 0 for three decimal currency payments. For example, if you want to refund a customer 99.991 KD for a transaction, you should pass the value for the amount parameter as `99990` and not `99991`.
  </Warning>
</ResponseField>

<ResponseField name="amount_paid" type="integer">
  Amount paid by the customer against the invoice.
</ResponseField>

<ResponseField name="amount_due" type="integer">
  The remaining amount to be paid by the customer for the issued invoice.
</ResponseField>

<ResponseField name="currency" type="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.](/docs/payments/international-payments#supported-currencies)

  <Info>
    **Handy Tips**

    Razorpay has added support for zero decimal currencies, such as JPY, and three decimal currencies, such as KWD, BHD, and OMR, allowing businesses to accept international payments in these currencies. Know more about [Currency Conversion](/docs/payments/international-payments/currency-conversion) (May 2024).
  </Info>
</ResponseField>

<ResponseField name="description" type="string">
  A brief description of the invoice. The maximum character length is 2048.
</ResponseField>

<ResponseField name="notes" type="object">
  Any custom notes added to the invoice. Maximum of 2048 characters.
</ResponseField>

<ResponseField name="short_url" type="string">
  The short URL that is generated. Share this link with customers to accept payments.
</ResponseField>

<ResponseField name="date" type="integer">
  Timestamp, in Unix format, that indicates the issue date of the invoice.
</ResponseField>

<ResponseField name="terms" type="string">
  Any terms to be included in the invoice. Maximum of 2048 characters.
</ResponseField>

<ResponseField name="comment" type="string">
  Any comments to be added in the invoice. Maximum of 2048 characters.
</ResponseField>
