openapi: 3.0.0
info:
  title: Recurring Bills
  description: Recurring Bills are those bills that repeat itself after a fixed interval of time.
  contact: {}
  version: 1.0.0
servers:
  - url: https://www.zohoapis.com/books/v3
    description: API Endpoint
tags:
  - name: recurring-bills
    description: Recurring-Bills Module
paths:
  /recurringbills:
    post:
      tags:
        - recurring-bills
      operationId: create_recurring_bill
      summary: Create a recurring bill
      description: Create a recurring bill.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-recurring-bill-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.CREATE
    get:
      tags:
        - recurring-bills
      operationId: list_recurring_bills
      summary: List recurring bills
      description: List all recurring bills with pagination.
      parameters:
        - name: recurring_bill_id
          in: query
          required: false
          schema:
            type: string
          example: 982000000567240
        - name: vendor_id
          in: query
          description: Search recurring bills by Vendor ID
          required: false
          schema:
            type: integer
            format: int64
          example: '460000000038029'
        - name: vendor_name
          in: query
          description: 'Search recurring bills by vendor name. Variants: <code>vendor_name_startswith</code> and <code>vendor_name_contains</code>'
          required: false
          schema:
            type: string
          example: ''
        - name: status
          in: query
          description: 'Search recurring bills by recurring bill status. Allowed Values: <code>active</code>, <code>stopped</code>, <code>expired</code>'
          required: false
          schema:
            type: string
          example: active
        - name: recurrence_name
          in: query
          description: 'Search recurring bills by recurrence number. Variants: <code>recurrence_name_startswith</code> and <code>recurrence_name_contains</code>'
          required: false
          schema:
            type: string
          example: Monthly Rental
        - name: currency_id
          in: query
          description: ID of the Currency
          required: false
          schema:
            type: string
          example: '460000000000099'
        - name: currency_code
          in: query
          description: Code of the Currency
          required: false
          schema:
            type: string
          example: INR
        - name: currency_symbol
          in: query
          description: Symbol of the Currency
          required: false
          schema:
            type: string
          example: ''
        - name: start_date
          in: query
          description: 'Search recurring bills by recurring bill start date. Variants: <code>start_date_start</code>, <code>start_date_end</code>, <code>start_date_before</code> and <code>start_date_after</code>'
          required: false
          schema:
            type: string
          example: '2013-11-18'
        - name: end_date
          in: query
          description: Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
          required: false
          schema:
            type: string
          example: '2013-12-18'
        - name: source_of_supply
          in: query
          description: Place from where the goods/services are supplied. (If not given, <code>place of contact</code> given for the contact will be taken)
          required: false
          schema:
            type: string
          example: AP
          x-node_available_in:
            - in
          x-node_unavailable_in: []
        - name: place_of_supply
          in: query
          description: 'The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, <code>place of contact</code> given for the contact will be taken)<br/>Supported codes for UAE emirates are : </br>Abu Dhabi - <code>AB</code>,</br>Ajman - <code>AJ</code>,</br>Dubai - <code>DU</code>,</br>Fujairah - <code>FU</code>,</br>Ras al-Khaimah - <code>RA</code>,</br>Sharjah - <code>SH</code>,</br>Umm al-Quwain - <code>UM</code>.<br/>Supported codes for the GCC countries are : </br>United Arab Emirates - <code>AE</code>,</br>Saudi Arabia - <code>SA</code>,</br>Bahrain - <code>BH</code>,</br>Kuwait - <code>KW</code>,</br>Oman - <code>OM</code>,</br>Qatar - <code>QA</code>.'
          required: false
          schema:
            type: string
          example: DU
          x-node_available_in:
            - gcc
          x-node_unavailable_in: []
        - name: destination_of_supply
          in: query
          description: Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
          required: false
          schema:
            type: string
          example: TN
          x-node_available_in:
            - in
          x-node_unavailable_in: []
        - name: gst_treatment
          in: query
          description: Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are <code> business_gst </code> , <code> business_none </code> , <code> overseas </code> , <code> consumer </code>.
          required: false
          schema:
            type: string
          example: business_gst
          x-node_available_in:
            - in
          x-node_unavailable_in: []
        - name: gst_no
          in: query
          description: 15 digit GST identification number of the vendor.
          required: false
          schema:
            type: string
          example: 22AAAAA0000A1Z5
          x-node_available_in:
            - in
          x-node_unavailable_in: []
        - name: tax_treatment
          in: query
          description: 'VAT treatment for the bill. Choose whether the vendor falls under: <code>vat_registered</code>,<code>vat_not_registered</code>,<code>gcc_vat_not_registered</code>,<code>gcc_vat_registered</code>,<code>non_gcc</code>.</br><code>dz_vat_registered</code> and <code>dz_vat_not_registered</code> are supported only for <b>UAE</b>.'
          required: false
          schema:
            type: string
          example: vat_registered
          x-node_available_in:
            - gcc
            - mx
          x-node_unavailable_in: []
        - name: vat_treatment
          in: query
          description: (Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is <code>uk</code>. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is <code>eu_vat_registered</code> and if he resides outside the UK then his VAT treatment is <code>overseas</code>(For Pre Brexit, this can be split as <code>eu_vat_registered</code>, <code>eu_vat_not_registered</code> and <code>non_eu</code>).
          required: false
          schema:
            type: string
          x-node_available_in:
            - uk
          x-node_unavailable_in: []
          example: ''
        - name: vat_reg_no
          in: query
          description: <b>For UK Edition:</b> VAT Registration number of a contact with length should be between 2 and 12 characters.<br/> <b>For Avalara:</b> If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
          required: false
          schema:
            type: string
          x-node_available_in:
            - uk
            - Avalara Integration
          x-node_unavailable_in: []
          example: ''
        - name: is_abn_quoted
          in: query
          required: false
          schema:
            type: string
          x-node_available_in:
            - au
          x-node_unavailable_in: []
          example: ''
        - name: abn
          in: query
          required: false
          schema:
            type: string
          x-node_available_in:
            - au
          x-node_unavailable_in: []
          example: ''
        - name: is_reverse_charge_applied
          in: query
          description: Applicable for transactions where you pay reverse charge
          required: false
          schema:
            type: boolean
          example: true
          x-node_available_in:
            - in
          x-node_unavailable_in: []
        - name: pricebook_id
          in: query
          description: Enter ID of the price book.
          required: false
          schema:
            type: string
          example: 460000000038090
        - name: pricebook_name
          in: query
          description: Name of the price book
          required: false
          schema:
            type: string
          example: ''
        - name: is_inclusive_tax
          in: query
          description: Used to specify whether the line item rates are inclusive or exclusive of tax.
          required: false
          schema:
            type: boolean
          example: false
          x-node_available_in: []
          x-node_unavailable_in:
            - us
        - name: line_items
          in: query
          description: Line items of a recurrence bill.
          required: false
          schema:
            type: array
            items:
              type: object
              properties:
                description:
                  $ref: '#/components/schemas/description'
                sku:
                  $ref: '#/components/schemas/sku'
                name:
                  $ref: '#/components/schemas/name'
                account_id:
                  $ref: '#/components/schemas/account_id'
                account_name:
                  $ref: '#/components/schemas/account_name'
                image_document_id:
                  $ref: '#/components/schemas/image_document_id'
                location_id:
                  $ref: '#/components/schemas/location_id'
                location_name:
                  $ref: '#/components/schemas/location_name'
                reverse_charge_tax_id:
                  $ref: '#/components/schemas/reverse_charge_tax_id'
                reverse_charge_tax_name:
                  $ref: '#/components/schemas/reverse_charge_tax_name'
                reverse_charge_tax_percentage:
                  $ref: '#/components/schemas/reverse_charge_tax_percentage'
                reverse_charge_tax_amount:
                  $ref: '#/components/schemas/reverse_charge_tax_amount'
                bcy_rate:
                  $ref: '#/components/schemas/bcy_rate'
                rate:
                  $ref: '#/components/schemas/rate'
                tags:
                  $ref: '#/components/schemas/tags'
                quantity:
                  $ref: '#/components/schemas/quantity'
                tax_id:
                  $ref: '#/components/schemas/tax_id'
                tax_treatment_code:
                  $ref: '#/components/schemas/tax_treatment_code'
                tax_exemption_id:
                  $ref: '#/components/schemas/tax_exemption_id'
                tax_exemption_code:
                  $ref: '#/components/schemas/tax_exemption_code'
                tax_name:
                  $ref: '#/components/schemas/tax_name'
                tax_type:
                  $ref: '#/components/schemas/tax_type'
                tax_percentage:
                  $ref: '#/components/schemas/tax_percentage'
                item_total:
                  $ref: '#/components/schemas/item_total'
                item_total_inclusive_of_tax:
                  $ref: '#/components/schemas/item_total_inclusive_of_tax'
                item_order:
                  $ref: '#/components/schemas/item_order'
                unit:
                  $ref: '#/components/schemas/unit'
                product_type:
                  $ref: '#/components/schemas/product_type'
                hsn_or_sac:
                  $ref: '#/components/schemas/hsn_or_sac'
                acquisition_vat_id:
                  $ref: '#/components/schemas/acquisition_vat_id'
                acquisition_vat_name:
                  $ref: '#/components/schemas/acquisition_vat_name'
                acquisition_vat_percentage:
                  $ref: '#/components/schemas/acquisition_vat_percentage'
                acquisition_vat_amount:
                  $ref: '#/components/schemas/acquisition_vat_amount'
                reverse_charge_vat_id:
                  $ref: '#/components/schemas/reverse_charge_vat_id'
                reverse_charge_vat_name:
                  $ref: '#/components/schemas/reverse_charge_vat_name'
                reverse_charge_vat_percentage:
                  $ref: '#/components/schemas/reverse_charge_vat_percentage'
                reverse_charge_vat_amount:
                  $ref: '#/components/schemas/reverse_charge_vat_amount'
                is_billable:
                  $ref: '#/components/schemas/is_billable'
                customer_id:
                  $ref: '#/components/schemas/customer_id'
                customer_name:
                  $ref: '#/components/schemas/customer_name'
                project_id:
                  $ref: '#/components/schemas/project_id'
                project_name:
                  $ref: '#/components/schemas/project_name'
                item_custom_fields:
                  $ref: '#/components/schemas/item_custom_fields'
          example: ''
        - name: is_tds_applied
          in: query
          description: Check if TDS is applied
          required: false
          schema:
            type: boolean
          x-node_available_in:
            - in
            - global
            - au
          x-node_unavailable_in: []
        - name: notes
          in: query
          description: Notes for the Bill
          required: false
          schema:
            type: string
          example: Thanks for your business.
        - name: terms
          in: query
          description: Terms and Conditions for the Bill
          required: false
          schema:
            type: string
          example: Terms and conditions apply.
        - name: payment_terms
          in: query
          description: Number Referring to Payment Terms
          required: false
          schema:
            type: integer
          example: 0
        - name: payment_terms_label
          in: query
          description: Label of the Payment Terms
          required: false
          schema:
            type: string
          example: Due on Receipt
        - name: custom_fields
          in: query
          required: false
          schema:
            type: array
            items:
              type: object
              properties:
                custom_field_id:
                  $ref: '#/components/schemas/custom_field_id'
                index:
                  $ref: '#/components/schemas/index'
                label:
                  $ref: '#/components/schemas/label'
                value:
                  $ref: '#/components/schemas/value'
          example: ''
        - name: acquisition_vat_summary
          in: query
          description: Summary of the VAT Acquistion
          required: false
          schema:
            type: array
            items:
              type: object
              properties:
                tax_name:
                  $ref: '#/components/schemas/tax_name'
                tax_amount:
                  $ref: '#/components/schemas/tax_amount'
          x-node_available_in:
            - uk
            - eu
          x-node_unavailable_in: []
          example: ''
        - name: reverse_charge_vat_summary
          in: query
          description: Summary of the Reverse Charge
          required: false
          schema:
            type: array
            items:
              type: object
              properties:
                tax_name:
                  $ref: '#/components/schemas/tax_name'
                tax_amount:
                  $ref: '#/components/schemas/tax_amount'
          x-node_available_in:
            - uk
            - eu
          x-node_unavailable_in: []
          example: ''
        - name: acquisition_vat_total
          in: query
          description: Total of the VAT Acquistion
          required: false
          schema:
            type: number
            format: double
          x-node_available_in:
            - uk
            - eu
          x-node_unavailable_in: []
          example: ''
        - name: reverse_charge_vat_total
          in: query
          description: Total of the Reverse Charge
          required: false
          schema:
            type: number
            format: double
          x-node_available_in:
            - uk
            - eu
          x-node_unavailable_in: []
          example: ''
        - name: created_time
          in: query
          description: Created time of the bill
          required: false
          schema:
            type: string
          example: 2013-09-11T17:18:32+0530
        - name: created_by_id
          in: query
          description: Name of User who created the Bill
          required: false
          schema:
            type: string
          example: '4600000053001'
        - name: last_modified_time
          in: query
          description: Last Modified Time of the Bill
          required: false
          schema:
            type: string
          example: 2013-09-11T17:18:32+0530
        - name: discount
          in: query
          description: 'Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.'
          required: false
          schema:
            type: string
          example: 30%
        - name: discount_account_id
          in: query
          description: ID of the account associated with the discount account.
          required: false
          schema:
            type: string
          example: '460000000000403'
        - name: is_discount_before_tax
          in: query
          description: To specify discount applied in before /after tax.
          required: false
          schema:
            type: boolean
          example: true
        - name: page
          in: query
          description: Page number to be fetched. Default value is 1.
          required: false
          schema:
            type: integer
            default: 1
          example: 1
        - name: per_page
          in: query
          description: Number of records to be fetched per page. Default value is 200.
          required: false
          schema:
            type: integer
            default: 200
          example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-recurring-bills-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.READ
    put:
      tags:
        - recurring-bills
      operationId: update_recurring_bill_using_custom_field
      summary: Update a recurring bill using a custom field's unique value
      description: A custom field will have unique values if it's configured to not accept duplicate values. Now, you can use that custom field's value to update a recurring bill by providing its API name in the X-Unique-Identifier-Key header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding recurring bill will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's unique value is not found in any of the existing recurring bills, a new recurring bill will be created if the necessary payload details are available
      parameters:
        - name: X-Unique-Identifier-Key
          in: header
          description: Unique CustomField Api Name
          required: true
          schema:
            type: string
            example: cf_unique_cf
        - name: X-Unique-Identifier-Value
          in: header
          description: Unique CustomField Value
          required: true
          schema:
            type: string
            example: unique Value
        - name: X-Upsert
          in: header
          description: If there is no record is found unique custom field value , will create new invoice
          required: false
          schema:
            type: boolean
            example: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-recurring-bill-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.settings.UPDATE
    parameters:
      - $ref: '#/components/parameters/organization_id'
  /recurringbills/{recurring_bill_id}:
    put:
      tags:
        - recurring-bills
      operationId: update_recurring_bill
      summary: Update a recurring bill
      description: Update a recurring bill. To delete a line item just remove it from the line_items list.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-recurring-bill-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.UPDATE
    parameters:
      - name: recurring_bill_id
        in: path
        required: true
        description: Unique identifier of the recurring bill.
        schema:
          type: string
        example: 982000000567240
      - $ref: '#/components/parameters/organization_id'
  /recurring_bills/{recurring_bill_id}:
    get:
      tags:
        - recurring-bills
      operationId: get_recurring_bill
      summary: Get a recurring bill
      description: Get the details of a recurring bill.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.READ
    delete:
      tags:
        - recurring-bills
      operationId: delete_recurring_bill
      summary: Delete a recurring bill
      description: Delete an existing recurring bill.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.DELETE
    parameters:
      - name: recurring_bill_id
        in: path
        required: true
        description: Unique identifier of the recurring bill.
        schema:
          type: string
        example: 982000000567240
      - $ref: '#/components/parameters/organization_id'
  /recurringbills/{recurring_bill_id}/status/stop:
    post:
      tags:
        - recurring-bills
      operationId: stop_recurring_bill
      summary: Stop a recurring bill
      description: Stop an active recurring bill.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/stop-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.CREATE
    parameters:
      - name: recurring_bill_id
        in: path
        required: true
        description: Unique identifier of the recurring bill.
        schema:
          type: string
        example: 982000000567240
      - $ref: '#/components/parameters/organization_id'
  /recurringbills/{recurring_bill_id}/status/resume:
    post:
      tags:
        - recurring-bills
      operationId: resume_recurring_bill
      summary: Resume a recurring Bill
      description: Resume a stopped recurring bill.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/resume-a-recurring-bill-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.CREATE
    parameters:
      - name: recurring_bill_id
        in: path
        required: true
        description: Unique identifier of the recurring bill.
        schema:
          type: string
        example: 982000000567240
      - $ref: '#/components/parameters/organization_id'
  /recurringbills/{recurring_bill_id}/comments:
    get:
      tags:
        - recurring-bills
      operationId: list_recurring_bill_history
      summary: List recurring bill history
      description: Get history and comments of a recurring bill.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-recurring-bill-history-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ZohoBooks.bills.READ
    parameters:
      - name: recurring_bill_id
        in: path
        required: true
        description: Unique identifier of the recurring bill.
        schema:
          type: string
        example: 982000000567240
      - $ref: '#/components/parameters/organization_id'
components:
  parameters:
    organization_id:
      name: organization_id
      description: ID of the organization
      in: query
      required: true
      schema:
        type: string
      example: '10234695'
  schemas:
    gendoc-attributes-schema:
      $ref: '#/components/schemas/recurring_bill'
    vendor_id:
      description: ID of the vendor the bill has to be created.
      type: string
      example: '460000000038029'
    recurring_bill_id:
      type: string
      example: 982000000567240
    recurrence_name:
      description: Name of the Recurring Bill. Max-length [100]
      type: string
      example: Monthly Rental
    start_date:
      description: Start date of the recurring bill. Bills will not be generated for dates prior to the current date. Format [yyyy-mm-dd].
      type: string
      example: '2013-11-18'
    end_date:
      description: Date on which recurring bill has to expire. Can be left as empty to run forever. Format [yyyy-mm-dd].
      type: string
      example: '2013-12-18'
    source_of_supply:
      description: Place from where the goods/services are supplied. (If not given, <code>place of contact</code> given for the contact will be taken)
      type: string
      example: AP
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    destination_of_supply:
      description: Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
      type: string
      example: TN
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    place_of_supply:
      description: 'The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, <code>place of contact</code> given for the contact will be taken)<br/>Supported codes for UAE emirates are : </br>Abu Dhabi - <code>AB</code>,</br>Ajman - <code>AJ</code>,</br>Dubai - <code>DU</code>,</br>Fujairah - <code>FU</code>,</br>Ras al-Khaimah - <code>RA</code>,</br>Sharjah - <code>SH</code>,</br>Umm al-Quwain - <code>UM</code>.<br/>Supported codes for the GCC countries are : </br>United Arab Emirates - <code>AE</code>,</br>Saudi Arabia - <code>SA</code>,</br>Bahrain - <code>BH</code>,</br>Kuwait - <code>KW</code>,</br>Oman - <code>OM</code>,</br>Qatar - <code>QA</code>.'
      type: string
      example: DU
      x-node_available_in:
        - gcc
      x-node_unavailable_in: []
    gst_treatment:
      description: Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are <code> business_gst </code> , <code> business_none </code> , <code> overseas </code> , <code> consumer </code>.
      type: string
      example: business_gst
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    tax_treatment:
      description: 'VAT treatment for the bill. Choose whether the vendor falls under: <code>vat_registered</code>,<code>vat_not_registered</code>,<code>gcc_vat_not_registered</code>,<code>gcc_vat_registered</code>,<code>non_gcc</code>.</br><code>dz_vat_registered</code> and <code>dz_vat_not_registered</code> are supported only for <b>UAE</b>.</b></br><code>home_country_mexico</code>,<code>border_region_mexico</code>,<code>non_mexico</code> supported only for <b>MX</b>.<br/><b>For Kenya Edition:</b> <code>vat_registered</code> ,<code>vat_not_registered</code> ,<code>non_kenya</code>(A business that is located outside Kenya).<br/><b>For SouthAfrica Edition:</b> <code>vat_registered</code>, <code>vat_not_registered</code>, <code>overseas</code>(A business that is located outside SouthAfrica).'
      type: string
      example: vat_registered
      x-node_available_in:
        - gcc
        - mx
        - ke
        - za
      x-node_unavailable_in: []
    gst_no:
      description: 15 digit GST identification number of the vendor.
      type: string
      example: 22AAAAA0000A1Z5
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    hsn_or_sac:
      description: Add HSN/SAC code for your goods/services
      type: string
      example: 80540
      x-node_available_in:
        - in
        - ke
        - za
      x-node_unavailable_in: []
    reverse_charge_tax_id:
      description: Reverse charge tax ID
      type: string
      example: 460000000038056
      x-node_available_in:
        - in
        - gcc
        - za
      x-node_unavailable_in: []
    location_id:
      description: Location ID
      type: string
      example: '460000000038080'
    pricebook_id:
      description: Enter ID of the price book.
      type: string
      example: 460000000038090
    image_document_id:
      description: ID of the image document
      type: string
      example: 460000000038067
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    location_name:
      description: Name of the location
      type: string
    reverse_charge_tax_name:
      description: Name of the reverse charge tax
      type: string
      example: inter
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    reverse_charge_tax_percentage:
      description: Enter reverse charge percentage
      type: number
      format: double
      example: 10
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    reverse_charge_tax_amount:
      description: Enter reverse charge amount
      type: number
      format: double
      example: 100
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    pricebook_name:
      description: Name of the price book
      type: string
    is_reverse_charge_applied:
      description: Applicable for transactions where you pay reverse charge
      type: boolean
      example: true
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    is_inclusive_tax:
      description: Used to specify whether the line item rates are inclusive or exclusive of tax.
      type: boolean
      example: false
      x-node_available_in: []
      x-node_unavailable_in:
        - us
    vat_treatment:
      description: (Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is <code>uk</code>. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is <code>eu_vat_registered</code> and if he resides outside the UK then his VAT treatment is <code>overseas</code>(For Pre Brexit, this can be split as <code>eu_vat_registered</code>, <code>eu_vat_not_registered</code> and <code>non_eu</code>).
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    vat_reg_no:
      description: <b>For UK Edition:</b> VAT Registration number of a contact with length should be between 2 and 12 characters.<br/> <b>For Avalara:</b> If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
      type: string
      x-node_available_in:
        - uk
        - Avalara Integration
      x-node_unavailable_in: []
    is_tds_applied:
      description: Check if TDS is applied
      type: boolean
      x-node_available_in:
        - in
        - global
        - au
      x-node_unavailable_in: []
    is_abn_quoted:
      type: string
      x-node_available_in:
        - au
      x-node_unavailable_in: []
    abn:
      type: string
      x-node_available_in:
        - au
      x-node_unavailable_in: []
    tax_exemption_id:
      description: ID of the Tax Exemption Applied
      type: string
      x-node_available_in:
        - in
        - au
        - ca
      x-node_unavailable_in: []
    tax_exemption_code:
      description: Code of the Tax Exemption Applied
      type: string
      x-node_available_in:
        - in
        - au
        - ca
      x-node_unavailable_in: []
    item_total_inclusive_of_tax:
      description: Total of the Item Inclusive of Tax
      type: number
      format: double
      example: 40
    acquisition_vat_name:
      description: Name of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    acquisition_vat_percentage:
      description: Percentage of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    acquisition_vat_amount:
      description: Amount of the VAT Acquistion
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    account_id:
      description: ID of the account associated with the line item.
      type: string
      example: '460000000000403'
    description:
      description: Description of the line item.
      type: string
    rate:
      description: Rate of the line item.
      type: number
      format: double
      example: 10
    quantity:
      description: Quantity of the line item.
      type: number
      format: double
      example: 1
    tax_id:
      description: ID of the tax or tax group applied to the line item.
      type: string
      example: '460000000027005'
      x-node_available_in: []
      x-node_unavailable_in:
        - us
    tds_tax_id:
      description: TDS ID of the tax group applied to the line item
      type: string
      example: '460000000027001'
      x-node_available_in:
        - mx
      x-node_unavailable_in: []
    tax_treatment_code:
      description: Specify reason for using out of scope.</br>Supported values for <b>UAE</b> are <code>uae_same_tax_group</code>, <code>uae_reimbursed_expense</code> and <code>uae_others</code>.</br> Supported values for <b>Bahrain</b> are <code>bahrain_same_tax_group</code>, <code>bahrain_transfer_of_concern</code>, <code>bahrain_disbursement</code>, <code>bahrain_head_to_branch_transaction</code>, <code>bahrain_warranty_repair_services</code> and <code>bahrain_others</code>.</br> Supported values for <b>KSA</b> are <code>ksa_reimbursed_expense</code>.
      type: string
      example: uae_others
      x-node_available_in:
        - gcc
      x-node_unavailable_in: []
    product_type:
      description: 'Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: <code> digital_service</code>, <code>goods</code> and <code>service</code>.'
      type: string
      x-node_available_in:
        - eu
        - uk
      x-node_unavailable_in: []
    acquisition_vat_id:
      description: (Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    reverse_charge_vat_id:
      description: (Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
      type: string
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    reverse_charge_vat_name:
      description: Name of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_percentage:
      description: Percentage of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_amount:
      description: Percentage of the Reverse Charge
      type: string
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    notes:
      description: Notes for the Bill
      type: string
      example: Thanks for your business.
    terms:
      description: Terms and Conditions for the Bill
      type: string
      example: Terms and conditions apply.
    item_order:
      type: integer
      example: 1
    item_id:
      description: ID of the Item
      type: string
      example: '460000000054135'
    name:
      type: string
    unit:
      description: Unit of the Item
      type: string
      example: kgs
    tag_id:
      description: ID of the Tag
      type: integer
      format: int64
      example: '460000000054178'
    tag_option_id:
      description: Id of the Tag Option
      type: integer
      format: int64
      example: '460000000054180'
    tags:
      type: array
      items:
        type: object
        properties:
          tag_id:
            $ref: '#/components/schemas/tag_id'
          tag_option_id:
            $ref: '#/components/schemas/tag_option_id'
    payment_terms:
      description: Number Referring to Payment Terms
      type: integer
      example: 0
    payment_terms_label:
      description: Label of the Payment Terms
      type: string
      example: Due on Receipt
    index:
      description: Index of the custom field
      type: integer
    label:
      description: Label of the Custom Field
      type: string
    value:
      description: Value of the Custom Field
      type: string
    custom_field_id:
      type: integer
      format: int64
    custom_fields:
      type: array
      items:
        type: object
        properties:
          custom_field_id:
            $ref: '#/components/schemas/custom_field_id'
          index:
            $ref: '#/components/schemas/index'
          label:
            $ref: '#/components/schemas/label'
          value:
            $ref: '#/components/schemas/value'
    vendor_name:
      description: Name of the Vendor
      type: string
    status:
      description: Status of the Recurring Bill
      type: string
      example: active
    currency_id:
      description: ID of the Currency
      type: string
      example: '460000000000099'
    currency_code:
      description: Code of the Currency
      type: string
      example: INR
    currency_symbol:
      description: Symbol of the Currency
      type: string
    price_precision:
      description: Precision for the values
      type: integer
      example: 2
    sub_total:
      description: Sub Total of the Bill
      type: integer
      example: 40
    tax_total:
      description: Tax Total of the Bill
      type: integer
      example: 0
    total:
      description: Total of the Bill
      type: integer
      example: 40
    created_time:
      description: Created time of the bill
      type: string
      example: 2013-09-11T17:18:32+0530
    created_by_id:
      description: Name of User who created the Bill
      type: string
      example: '4600000053001'
    last_modified_time:
      description: Last Modified Time of the Bill
      type: string
      example: 2013-09-11T17:18:32+0530
    line_item_id:
      description: ID of the Line Item
      type: string
      example: '460000000067009'
    sku:
      description: SKU of the Item
      type: string
    account_name:
      description: Name of the Account
      type: string
      example: Other Expenses
    bcy_rate:
      description: Rate in Base Currency of the Organization
      type: integer
      example: 40
    tax_type:
      description: Type of tax
      type: string
      example: tax
    tax_percentage:
      description: Percentage of Tax
      type: integer
      example: 0
    item_total:
      description: Total of the Item
      type: integer
      example: 40
    is_billable:
      description: Check if entity is Billable
      type: boolean
      example: false
    customer_id:
      description: ID of the Customer
      type: string
    customer_name:
      description: Name of the Customer
      type: string
    project_id:
      description: ID of the Project
      type: string
    project_name:
      description: Name of the Project
      type: string
    item_custom_fields:
      type: array
      items:
        type: object
        properties:
          custom_field_id:
            $ref: '#/components/schemas/custom_field_id'
          index:
            $ref: '#/components/schemas/index'
          value:
            $ref: '#/components/schemas/value'
          label:
            $ref: '#/components/schemas/label'
    tax_name:
      description: Name of the Tax
      type: string
      example: VAT (12.5%)
    tax_amount:
      description: Amount of Tax in the Bill
      type: string
      example: 1.25
    amount:
      type: number
      format: double
      example: 31.25
    discount:
      description: 'Discount applied to the recurrence. It can be either in % or in amount. E.g: 12.5% or 190.'
      type: string
      example: 30%
    discount_account_id:
      description: ID of the account associated with the discount account.
      type: string
      example: '460000000000403'
    is_discount_before_tax:
      description: To specify discount applied in before /after tax.
      type: boolean
      example: true
    page:
      type: integer
      example: 1
    per_page:
      type: integer
      example: 200
    has_more_page:
      type: boolean
      example: false
    applied_filter:
      description: Filter that is applied
      type: string
      example: Status.All
    sort_order:
      type: string
      example: D
    filter_by:
      description: 'Filter recurrence bills by any status. Allowed Values: <code>Status.All</code>, <code>Status.Active</code>, <code>Status.Stopped</code>, <code>Status.Expired</code>.'
      type: string
    search_text:
      description: Search Recurring bills by recurrence number or vendor name.
      type: string
    sort_column:
      description: 'Sort recurrencr bills. Allowed Values: <code>vendor_name</code>, <code>next_bill_date</code>, <code>recurrence_name</code>, <code>total</code> and <code>created_time</code>.'
      type: string
    comment_id:
      description: ID of the Comment
      type: string
      example: '460000000069037'
    commented_by_id:
      description: ID of the User who caused the Comment
      type: string
      example: '460000000053001'
    commented_by:
      description: Name of the User who Caused the Comment
      type: string
      example: John Roberts
    comment_type:
      description: Type of Comment
      type: string
      example: internal
    date_description:
      description: Description of the Date of Comment
      type: string
      example: few seconds ago
    time:
      description: Time of Comment
      type: string
      example: 12:09 PM
    operation_type:
      description: Type of Operation that Caused the Comment
      type: string
      example: Added
    transaction_id:
      description: ID of the Transaction that Caused the Comment
      type: string
      example: '460000000068015'
    transaction_type:
      description: Type of Transaction that caused the comment
      type: string
      example: bill_payment
    acquisition_vat_summary:
      description: Summary of the VAT Acquistion
      type: array
      items:
        type: object
        properties:
          tax_name:
            $ref: '#/components/schemas/tax_name'
          tax_amount:
            $ref: '#/components/schemas/tax_amount'
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_summary:
      description: Summary of the Reverse Charge
      type: array
      items:
        type: object
        properties:
          tax_name:
            $ref: '#/components/schemas/tax_name'
          tax_amount:
            $ref: '#/components/schemas/tax_amount'
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    acquisition_vat_total:
      description: Total of the VAT Acquistion
      type: number
      format: double
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    reverse_charge_vat_total:
      description: Total of the Reverse Charge
      type: number
      format: double
      x-node_available_in:
        - uk
        - eu
      x-node_unavailable_in: []
    taxes:
      type: array
      items:
        type: object
        properties:
          tax_name:
            $ref: '#/components/schemas/tax_name'
          tax_amount:
            $ref: '#/components/schemas/tax_amount'
    line_items:
      description: Line items of a recurrence bill.
      type: array
      items:
        type: object
        properties:
          line_item_id:
            $ref: '#/components/schemas/line_item_id'
          item_id:
            $ref: '#/components/schemas/item_id'
          sku:
            $ref: '#/components/schemas/sku'
          name:
            $ref: '#/components/schemas/name'
          account_id:
            $ref: '#/components/schemas/account_id'
          account_name:
            $ref: '#/components/schemas/account_name'
          image_document_id:
            $ref: '#/components/schemas/image_document_id'
          location_id:
            $ref: '#/components/schemas/location_id'
          location_name:
            $ref: '#/components/schemas/location_name'
          reverse_charge_tax_id:
            $ref: '#/components/schemas/reverse_charge_tax_id'
          reverse_charge_tax_name:
            $ref: '#/components/schemas/reverse_charge_tax_name'
          reverse_charge_tax_percentage:
            $ref: '#/components/schemas/reverse_charge_tax_percentage'
          reverse_charge_tax_amount:
            $ref: '#/components/schemas/reverse_charge_tax_amount'
          description:
            $ref: '#/components/schemas/description'
          bcy_rate:
            $ref: '#/components/schemas/bcy_rate'
          rate:
            $ref: '#/components/schemas/rate'
          tags:
            $ref: '#/components/schemas/tags'
          quantity:
            $ref: '#/components/schemas/quantity'
          tax_id:
            $ref: '#/components/schemas/tax_id'
          tds_tax_id:
            $ref: '#/components/schemas/tds_tax_id'
          tax_treatment_code:
            $ref: '#/components/schemas/tax_treatment_code'
          tax_exemption_id:
            $ref: '#/components/schemas/tax_exemption_id'
          tax_exemption_code:
            $ref: '#/components/schemas/tax_exemption_code'
          tax_name:
            $ref: '#/components/schemas/tax_name'
          tax_type:
            $ref: '#/components/schemas/tax_type'
          tax_percentage:
            $ref: '#/components/schemas/tax_percentage'
          item_total:
            $ref: '#/components/schemas/item_total'
          item_total_inclusive_of_tax:
            $ref: '#/components/schemas/item_total_inclusive_of_tax'
          item_order:
            $ref: '#/components/schemas/item_order'
          unit:
            $ref: '#/components/schemas/unit'
          product_type:
            $ref: '#/components/schemas/product_type'
          hsn_or_sac:
            $ref: '#/components/schemas/hsn_or_sac'
          acquisition_vat_id:
            $ref: '#/components/schemas/acquisition_vat_id'
          acquisition_vat_name:
            $ref: '#/components/schemas/acquisition_vat_name'
          acquisition_vat_percentage:
            $ref: '#/components/schemas/acquisition_vat_percentage'
          acquisition_vat_amount:
            $ref: '#/components/schemas/acquisition_vat_amount'
          reverse_charge_vat_id:
            $ref: '#/components/schemas/reverse_charge_vat_id'
          reverse_charge_vat_name:
            $ref: '#/components/schemas/reverse_charge_vat_name'
          reverse_charge_vat_percentage:
            $ref: '#/components/schemas/reverse_charge_vat_percentage'
          reverse_charge_vat_amount:
            $ref: '#/components/schemas/reverse_charge_vat_amount'
          is_billable:
            $ref: '#/components/schemas/is_billable'
          customer_id:
            $ref: '#/components/schemas/customer_id'
          customer_name:
            $ref: '#/components/schemas/customer_name'
          project_id:
            $ref: '#/components/schemas/project_id'
          project_name:
            $ref: '#/components/schemas/project_name'
          item_custom_fields:
            $ref: '#/components/schemas/item_custom_fields'
    serial_numbers:
      type: array
      items:
        type: string
    recurring_bill:
      type: object
      properties:
        recurring_bill_id:
          $ref: '#/components/schemas/recurring_bill_id'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        vendor_name:
          $ref: '#/components/schemas/vendor_name'
        status:
          $ref: '#/components/schemas/status'
        recurrence_name:
          $ref: '#/components/schemas/recurrence_name'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        currency_code:
          $ref: '#/components/schemas/currency_code'
        currency_symbol:
          $ref: '#/components/schemas/currency_symbol'
        start_date:
          $ref: '#/components/schemas/start_date'
        end_date:
          $ref: '#/components/schemas/end_date'
        source_of_supply:
          $ref: '#/components/schemas/source_of_supply'
        place_of_supply:
          $ref: '#/components/schemas/place_of_supply'
        destination_of_supply:
          $ref: '#/components/schemas/destination_of_supply'
        gst_treatment:
          $ref: '#/components/schemas/gst_treatment'
        gst_no:
          $ref: '#/components/schemas/gst_no'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        vat_treatment:
          $ref: '#/components/schemas/vat_treatment'
        vat_reg_no:
          $ref: '#/components/schemas/vat_reg_no'
        is_abn_quoted:
          $ref: '#/components/schemas/is_abn_quoted'
        abn:
          $ref: '#/components/schemas/abn'
        is_reverse_charge_applied:
          $ref: '#/components/schemas/is_reverse_charge_applied'
        pricebook_id:
          $ref: '#/components/schemas/pricebook_id'
        pricebook_name:
          $ref: '#/components/schemas/pricebook_name'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        location_id:
          $ref: '#/components/schemas/location_id'
        location_name:
          $ref: '#/components/schemas/location_name'
        line_items:
          $ref: '#/components/schemas/line_items'
        is_tds_applied:
          $ref: '#/components/schemas/is_tds_applied'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        payment_terms:
          $ref: '#/components/schemas/payment_terms'
        payment_terms_label:
          $ref: '#/components/schemas/payment_terms_label'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        acquisition_vat_summary:
          $ref: '#/components/schemas/acquisition_vat_summary'
        reverse_charge_vat_summary:
          $ref: '#/components/schemas/reverse_charge_vat_summary'
        acquisition_vat_total:
          $ref: '#/components/schemas/acquisition_vat_total'
        reverse_charge_vat_total:
          $ref: '#/components/schemas/reverse_charge_vat_total'
        created_time:
          $ref: '#/components/schemas/created_time'
        created_by_id:
          $ref: '#/components/schemas/created_by_id'
        last_modified_time:
          $ref: '#/components/schemas/last_modified_time'
        discount:
          $ref: '#/components/schemas/discount'
        discount_account_id:
          $ref: '#/components/schemas/discount_account_id'
        is_discount_before_tax:
          $ref: '#/components/schemas/is_discount_before_tax'
    page_context:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/page'
        per_page:
          $ref: '#/components/schemas/per_page'
        has_more_page:
          $ref: '#/components/schemas/has_more_page'
        applied_filter:
          $ref: '#/components/schemas/applied_filter'
        sort_column:
          $ref: '#/components/schemas/sort_column'
        sort_order:
          $ref: '#/components/schemas/sort_order'
    comment:
      type: object
      properties:
        comment_id:
          $ref: '#/components/schemas/comment_id'
        recurring_bill_id:
          $ref: '#/components/schemas/recurring_bill_id'
        description:
          $ref: '#/components/schemas/description'
        commented_by_id:
          $ref: '#/components/schemas/commented_by_id'
        commented_by:
          $ref: '#/components/schemas/commented_by'
        comment_type:
          $ref: '#/components/schemas/comment_type'
        date:
          $ref: '#/components/schemas/date'
        date_description:
          $ref: '#/components/schemas/date_description'
        time:
          $ref: '#/components/schemas/time'
    item_description:
      description: 'Search recurrence bills by item description. Variants: <code>item_description_startswith</code> and <code>item_description_contains</code>'
      type: string
    item_name:
      description: 'Search recurrence bills by item name. Variants: <code>item_name_startswith</code> and <code>item_name_contains</code>'
      type: string
    custom_field:
      description: 'Search recurrence bills by item name. Variants: <code>custom_field_startswith</code> and <code>custom_field_contains</code>'
      type: string
    date:
      description: Date of the Comment
      type: string
      example: 17 Nov 2016
    create-a-recurring-bill-request:
      required:
        - vendor_id
        - recurrence_name
        - start_date
        - repeat_every
        - recurrence_frequency
      type: object
      properties:
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        recurrence_name:
          $ref: '#/components/schemas/recurrence_name'
        start_date:
          $ref: '#/components/schemas/start_date'
        end_date:
          $ref: '#/components/schemas/end_date'
        source_of_supply:
          $ref: '#/components/schemas/source_of_supply'
        place_of_supply:
          $ref: '#/components/schemas/place_of_supply'
        destination_of_supply:
          $ref: '#/components/schemas/destination_of_supply'
        gst_treatment:
          $ref: '#/components/schemas/gst_treatment'
        gst_no:
          $ref: '#/components/schemas/gst_no'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        vat_treatment:
          $ref: '#/components/schemas/vat_treatment'
        vat_reg_no:
          $ref: '#/components/schemas/vat_reg_no'
        is_abn_quoted:
          $ref: '#/components/schemas/is_abn_quoted'
        abn:
          $ref: '#/components/schemas/abn'
        is_reverse_charge_applied:
          $ref: '#/components/schemas/is_reverse_charge_applied'
        pricebook_id:
          $ref: '#/components/schemas/pricebook_id'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        location_id:
          $ref: '#/components/schemas/location_id'
        line_items:
          description: Line items of a recurrence bill.
          type: array
          items:
            type: object
            properties:
              line_item_id:
                $ref: '#/components/schemas/line_item_id'
              item_id:
                $ref: '#/components/schemas/item_id'
              name:
                $ref: '#/components/schemas/name'
              account_id:
                $ref: '#/components/schemas/account_id'
              description:
                $ref: '#/components/schemas/description'
              rate:
                $ref: '#/components/schemas/rate'
              hsn_or_sac:
                $ref: '#/components/schemas/hsn_or_sac'
              reverse_charge_tax_id:
                $ref: '#/components/schemas/reverse_charge_tax_id'
              location_id:
                $ref: '#/components/schemas/location_id'
              quantity:
                $ref: '#/components/schemas/quantity'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tds_tax_id:
                $ref: '#/components/schemas/tds_tax_id'
              tax_treatment_code:
                $ref: '#/components/schemas/tax_treatment_code'
              tax_exemption_id:
                $ref: '#/components/schemas/tax_exemption_id'
              tax_exemption_code:
                $ref: '#/components/schemas/tax_exemption_code'
              item_order:
                $ref: '#/components/schemas/item_order'
              product_type:
                $ref: '#/components/schemas/product_type'
              acquisition_vat_id:
                $ref: '#/components/schemas/acquisition_vat_id'
              reverse_charge_vat_id:
                $ref: '#/components/schemas/reverse_charge_vat_id'
              unit:
                $ref: '#/components/schemas/unit'
              tags:
                $ref: '#/components/schemas/tags'
              is_billable:
                $ref: '#/components/schemas/is_billable'
              project_id:
                $ref: '#/components/schemas/project_id'
              customer_id:
                $ref: '#/components/schemas/customer_id'
              item_custom_fields:
                $ref: '#/components/schemas/item_custom_fields'
              serial_numbers:
                $ref: '#/components/schemas/serial_numbers'
        is_tds_applied:
          $ref: '#/components/schemas/is_tds_applied'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        payment_terms:
          $ref: '#/components/schemas/payment_terms'
        payment_terms_label:
          $ref: '#/components/schemas/payment_terms_label'
        custom_fields:
          type: array
          items:
            type: object
            properties:
              index:
                $ref: '#/components/schemas/index'
              value:
                $ref: '#/components/schemas/value'
        discount:
          $ref: '#/components/schemas/discount'
        discount_account_id:
          $ref: '#/components/schemas/discount_account_id'
        is_discount_before_tax:
          $ref: '#/components/schemas/is_discount_before_tax'
        repeat_every:
          description: Description for repeat_every
          type: string
          example: ''
        recurrence_frequency:
          description: Description for recurrence_frequency
          type: string
          example: ''
    create-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        recurring_bill:
          $ref: '#/components/schemas/recurring_bill'
    list-recurring-bills-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        recurringbills:
          type: array
          items:
            $ref: '#/components/schemas/recurring_bill'
    update-a-recurring-bill-request:
      required:
        - vendor_id
        - recurrence_name
        - start_date
        - repeat_every
        - recurrence_frequency
      type: object
      properties:
        recurring_bill_id:
          $ref: '#/components/schemas/recurring_bill_id'
        vendor_id:
          $ref: '#/components/schemas/vendor_id'
        currency_id:
          $ref: '#/components/schemas/currency_id'
        status:
          $ref: '#/components/schemas/status'
        recurrence_name:
          $ref: '#/components/schemas/recurrence_name'
        start_date:
          $ref: '#/components/schemas/start_date'
        end_date:
          $ref: '#/components/schemas/end_date'
        source_of_supply:
          $ref: '#/components/schemas/source_of_supply'
        place_of_supply:
          $ref: '#/components/schemas/place_of_supply'
        destination_of_supply:
          $ref: '#/components/schemas/destination_of_supply'
        gst_treatment:
          $ref: '#/components/schemas/gst_treatment'
        gst_no:
          $ref: '#/components/schemas/gst_no'
        tax_treatment:
          $ref: '#/components/schemas/tax_treatment'
        vat_treatment:
          $ref: '#/components/schemas/vat_treatment'
        vat_reg_no:
          $ref: '#/components/schemas/vat_reg_no'
        is_abn_quoted:
          $ref: '#/components/schemas/is_abn_quoted'
        abn:
          $ref: '#/components/schemas/abn'
        is_reverse_charge_applied:
          $ref: '#/components/schemas/is_reverse_charge_applied'
        pricebook_id:
          $ref: '#/components/schemas/pricebook_id'
        pricebook_name:
          $ref: '#/components/schemas/pricebook_name'
        is_inclusive_tax:
          $ref: '#/components/schemas/is_inclusive_tax'
        location_id:
          $ref: '#/components/schemas/location_id'
        line_items:
          description: Line items of a recurrence bill.
          type: array
          items:
            type: object
            properties:
              line_item_id:
                $ref: '#/components/schemas/line_item_id'
              item_id:
                $ref: '#/components/schemas/item_id'
              name:
                $ref: '#/components/schemas/name'
              account_id:
                $ref: '#/components/schemas/account_id'
              description:
                $ref: '#/components/schemas/description'
              rate:
                $ref: '#/components/schemas/rate'
              hsn_or_sac:
                $ref: '#/components/schemas/hsn_or_sac'
              reverse_charge_tax_id:
                $ref: '#/components/schemas/reverse_charge_tax_id'
              location_id:
                $ref: '#/components/schemas/location_id'
              quantity:
                $ref: '#/components/schemas/quantity'
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tds_tax_id:
                $ref: '#/components/schemas/tds_tax_id'
              tax_treatment_code:
                $ref: '#/components/schemas/tax_treatment_code'
              tax_exemption_id:
                $ref: '#/components/schemas/tax_exemption_id'
              tax_exemption_code:
                $ref: '#/components/schemas/tax_exemption_code'
              item_order:
                $ref: '#/components/schemas/item_order'
              product_type:
                $ref: '#/components/schemas/product_type'
              acquisition_vat_id:
                $ref: '#/components/schemas/acquisition_vat_id'
              reverse_charge_vat_id:
                $ref: '#/components/schemas/reverse_charge_vat_id'
              unit:
                $ref: '#/components/schemas/unit'
              tags:
                $ref: '#/components/schemas/tags'
              is_billable:
                $ref: '#/components/schemas/is_billable'
              project_id:
                $ref: '#/components/schemas/project_id'
              customer_id:
                $ref: '#/components/schemas/customer_id'
              item_custom_fields:
                $ref: '#/components/schemas/item_custom_fields'
              serial_numbers:
                $ref: '#/components/schemas/serial_numbers'
        is_tds_applied:
          $ref: '#/components/schemas/is_tds_applied'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        payment_terms:
          $ref: '#/components/schemas/payment_terms'
        payment_terms_label:
          $ref: '#/components/schemas/payment_terms_label'
        custom_fields:
          type: array
          items:
            type: object
            properties:
              index:
                $ref: '#/components/schemas/index'
              value:
                $ref: '#/components/schemas/value'
        discount:
          $ref: '#/components/schemas/discount'
        discount_account_id:
          $ref: '#/components/schemas/discount_account_id'
        is_discount_before_tax:
          $ref: '#/components/schemas/is_discount_before_tax'
        repeat_every:
          description: Description for repeat_every
          type: string
          example: ''
        recurrence_frequency:
          description: Description for recurrence_frequency
          type: string
          example: ''
    update-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Recurring Bill information has been updated.
          readOnly: true
    get-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        recurring_bill:
          $ref: '#/components/schemas/recurring_bill'
    delete-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The recurring bill has been deleted.
          readOnly: true
    stop-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The recurring bill has been stopped.
          readOnly: true
    resume-a-recurring-bill-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The recurring bill has been activated.
          readOnly: true
    list-recurring-bill-history-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
  securitySchemes:
    Zoho_Auth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
          scopes:
            ZohoBooks.bills.CREATE: Create Bills
            ZohoBooks.bills.UPDATE: Update Bills
            ZohoBooks.bills.READ: Read Bills
            ZohoBooks.bills.DELETE: Delete Bills
