> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sonderplan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Invoice Templates

> An invoice (or quote) template is a customizable layout used to generate invoices and quotes with a consistent format and design.

It defines how details such as client information, items, taxes, and totals are displayed. Invoice templates can include your branding elements, like logos and company information, as well as custom fields or notes specific to your business needs.

Both **Quote** and **Invoice** templates can be created, edited and deleted using this endpoint so be sure to use the correct `type_id`.

<Note>`READ` access to the `ADMIN` module is required to access this endpoint</Note>



## OpenAPI

````yaml /api-reference/openapi-mintlify.yaml get /v2/invoice-template
openapi: 3.0.0
info:
  title: Sonderplan API
  description: >
    ## Overview

    You can use our REST API to securely access and modify the data within your
    Sonderplan account. This includes all the information within your bookings,
    projects and invoices that you can use to import / export data or create
    integrations with other systems and software that you use


    ### General Notes


    #### Specifying Fields

    The Sonderplan REST API allows you to specify a comma delimited string of
    exactly which fields are returned, using the `fields` parameter. Using this
    parameter has several advantages including:


    1. In future API versions we may change which fields are presented by
    default, so explicitly specifying the fields required overrides the defaults
    and ensure the fields are served

    2. Limiting fields reduces the processing we need to do and allows us to
    send you the data faster

    3. Some search filters only work if the field you are searching is added to
    the `fields` parameter.


    Example:


    ```

    fields=id,name,start,duration_min

    ```


    ### Applying Filters


    The Query Parameters section in each endpoint shows you special options that
    can be added to your request to customise the response we send you.


    Most endpoints offer the following query params:


    | Query Parameter |
    Description                                                    |

    |-----------------|----------------------------------------------------------------|

    | `fields`        | Only send the specified
    fields                                 |

    | `id`            | Specify one or more ids (comma seperated) of records to
    return |

    | `limit`         | The maximum number of records to
    return                        |

    | `page`          | The page number of records to
    return                           |

    | `order_asc` | Specify which field should be used to sort records
    `ascending` |

    | `order_desc` | Specify which field should be used to sort records
    `descending` |


    In addition to the standard `id` param, you can also specify most other
    fields as a query parameter, useful for performing searching and filtering
    of records.


    For example, you can specify `repeat_master_id=<repeat_booking_id>` to
    return all repeat children of that booking.


    #### Other Query Params


    Refer to the specific API endpoint documentation to see which other query
    params can be used.


    For example, some endpoints allow specifying `updated_after=<UNIX
    TIMESTAMP>` which will only send added, edited and even deleted records that
    were modified after the unix timestamp.


    #### Applying multiple filters


    By default, multiple filters are chained together using **OR** (either
    filter can be true and it will be included). You can change this behaviour
    by specifying `filter_operator=AND`, so each filter must be true to be
    included.


    #### Filtering by Custom Field Values


    For modules that include custom fields, you can search by the value of a
    custom field by adding the `custom_field_<field id>` to the URL query
    parameters. You **must** also specify the custom field in the `fields`
    parameter.


    ```

    GET
    https://api.sonderplan.com/v2/booking?fields=id,name,custom_field_238938&custom_field_238938=Offline

    ```


    This will return custom fields that contain the word 'Offline'.
  contact:
    email: info@sonderplan.com
  version: '2.0'
servers:
  - url: https://api.sonderplan.com
    description: Production Server
security: []
tags:
  - name: Booking
    description: Booking related operations
  - name: Project
    description: Project related operations
  - name: Resource
    description: Resource related operations
  - name: Contact
    description: Contact related operations
  - name: Quote
    description: Quote related operations
  - name: Invoice
    description: Invoice related operations
  - name: Invoice Template
    description: Invoice template related operations
  - name: Billable Item
    description: Billable item related operations
  - name: Rate Scheme
    description: Rate scheme related operations
  - name: Tax
    description: Tax related operations
  - name: Workspace
    description: Workspace (formerly Schedule) related operations
  - name: User
    description: User related operations
  - name: Group
    description: Group related operations
  - name: Status
    description: Status related operations
  - name: Custom Field
    description: Custom field related operations
  - name: Calendar Subscription
    description: Calendar Subscription Import related operations
  - name: Time Entry
    description: Time Entry related operations
  - name: Time Activity
    description: Time Activity related operations
paths:
  /v2/invoice-template:
    get:
      tags:
        - Invoice Template
      summary: Get Invoice Templates
      description: >-
        An invoice (or quote) template is a customizable layout used to generate
        invoices and quotes with a consistent format and design.


        It defines how details such as client information, items, taxes, and
        totals are displayed. Invoice templates can include your branding
        elements, like logos and company information, as well as custom fields
        or notes specific to your business needs.


        Both **Quote** and **Invoice** templates can be created, edited and
        deleted using this endpoint so be sure to use the correct `type_id`.


        <Note>`READ` access to the `ADMIN` module is required to access this
        endpoint</Note>
      operationId: 46a6fb68cd208b7c57c90a3833e3b1bc
      parameters:
        - name: id
          in: query
          description: One or more (comma seperated) IDs of invoice templates to retrieve
          schema:
            type: string
        - name: name
          in: query
          description: Perform a full text search for the invoice template name
          schema:
            type: string
        - $ref: '#/components/parameters/fields'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/order_asc'
        - $ref: '#/components/parameters/order_desc'
        - $ref: '#/components/parameters/filter_operator'
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/InvoiceTemplate'
                  meta:
                    $ref: '#/components/schemas/pagination'
                type: object
        '401':
          description: Authorization information is missing or invalid
      security:
        - bearer: []
components:
  parameters:
    fields:
      name: fields
      in: query
      description: Comma seperated list of fields you wish to return
      schema:
        type: string
      example: id,name
    page:
      name: page
      in: query
      description: Specify the page of results you wish to return
      schema:
        type: integer
    limit:
      name: limit
      in: query
      description: The number of results returned per page. Default if not specified is 10
      schema:
        type: integer
    order_asc:
      name: order_asc
      in: query
      description: >-
        Specify the field (with type of string or integer) you wish to order
        (ascending) the response with
      schema:
        type: string
    order_desc:
      name: order_desc
      in: query
      description: >-
        Specify the field (with type of string or integer) you wish to order
        (descending) the response with
      schema:
        type: string
    filter_operator:
      name: filter_operator
      in: query
      description: Specify if multiple filters should be combined with OR or AND logic
      schema:
        type: string
        default: OR
        enum:
          - OR
          - AND
  schemas:
    InvoiceTemplate:
      title: Invoice Template Model
      description: ''
      type: object
      allOf:
        - properties:
            id:
              description: Automatically generated, unique invoice template id
              type: integer
              readOnly: true
              example: 5693
            name:
              description: Name of the Invoice Template
              type: string
              example: Long Form Jobs
            type_id:
              description: 1 = Invoice, 2 = Quote
              type: integer
              example: 1
            default:
              description: Sets the default template used when creating an invoice
              type: boolean
              example: false
            title:
              description: Text shown in the top left hand corner of the template
              type: string
              example: Invoice
            logo:
              type: array
              items:
                $ref: '#/components/schemas/FileSummary'
            top_left_container:
              description: Top left grid container content
              type: string
            top_center_container:
              description: Top center grid container content
              type: string
            top_right_container:
              description: Top right grid container content
              type: string
            middle_left_container:
              description: Middle left grid container content
              type: string
            middle_center_container:
              description: Middle center grid container content
              type: string
            middle_right_container:
              description: Middle right grid container content
              type: string
            bottom_left_container:
              description: Bottom left grid container content
              type: string
            bottom_center_container:
              description: Bottom center grid container content
              type: string
            bottom_right_container:
              description: Bottom right grid container content
              type: string
            email_subject_template:
              description: Template used to populate the email subject line
              type: string
            email_body_template:
              description: Template used to populate the email body
              type: string
            options:
              description: >-
                Additional options and settings that apply to this invoice
                template
              properties:
                items_column_visibility:
                  description: Lists item columns visibility status
                  properties:
                    item:
                      description: Item column visibility
                      type: boolean
                    description:
                      description: Item description column visibility
                      type: boolean
                    quantity:
                      description: Item quantity column visibility
                      type: boolean
                    price:
                      description: Item price column visibility
                      type: boolean
                    discount:
                      description: Item discount column visibility
                      type: boolean
                    tax:
                      description: Item tax column visibility
                      type: boolean
                    total:
                      description: Item total column visibility
                      type: boolean
                  type: object
                totals_visibility:
                  description: Lists total rows visibility status
                  properties:
                    sub_total:
                      description: Sub total row visibility
                      type: boolean
                    discount_total:
                      description: Total discount row visibility
                      type: boolean
                    net_total:
                      description: Net total row visibility
                      type: boolean
                    tax_total:
                      description: Total tax row visibility
                      type: boolean
                    total:
                      description: Total row visibility
                      type: boolean
                  type: object
              type: object
          type: object
        - $ref: '#/components/schemas/commonModelMeta'
    pagination:
      title: Pagination Meta Model
      properties:
        pagination:
          $ref: '#/components/schemas/meta'
      type: object
    FileSummary:
      title: File Summary Model
      description: Simplified file model containing only a subset of fields
      properties:
        id:
          description: Automatically generated File ID
          type: integer
          readOnly: true
          example: 2342354
        name:
          description: Original file name
          type: string
          example: Avid_Icon
        size:
          description: File size (in bytes)
          type: integer
          example: 174285
        alias:
          description: Automatically generated file alias
          type: string
          example: 7e73ab25155974c230d09494548201b9f5056ef
        extension:
          description: File extension
          type: string
          example: png
        mime_type:
          description: File mime type
          type: string
          example: image/png
      type: object
    commonModelMeta:
      title: Common Meta Model
      properties:
        created_id:
          description: The unique ID of the person (user) who created this record
          type: integer
          readOnly: true
          example: 3
        created:
          description: The UNIX time value of the creation time
          type: integer
          readOnly: true
          example: 1388552400
        updated_id:
          description: The unique ID of the person (user) who last updated this record
          type: integer
          readOnly: true
          example: 3
        updated:
          description: The UNIX time value of the last update
          type: integer
          readOnly: true
          example: 1388552400
      type: object
    meta:
      title: Page Meta Model
      properties:
        total:
          type: integer
          example: 1
        count:
          type: integer
          example: 1
        per_page:
          type: integer
          example: 1
        current_page:
          type: integer
          example: 1
      type: object
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````