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

# Create an account

> Creates a new financial account. QuickBooks requires you to pick a supported account type for the chart of accounts, and non-posting types can’t be created through the API.



## OpenAPI

````yaml POST /quickbooks-desktop/accounts
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/accounts:
    post:
      summary: Create an account
      description: >-
        Creates a new financial account. QuickBooks requires you to pick a
        supported account type for the chart of accounts, and non-posting types
        can’t be created through the API.
      parameters:
        - in: header
          name: Conductor-End-User-Id
          description: The ID of the End-User to receive this request.
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 31
                  description: >-
                    The case-insensitive name of this account. Not guaranteed to
                    be unique because it does not include the names of its
                    hierarchical parent objects like `fullName` does. For
                    example, two accounts could both have the `name`
                    "Accounts-Payable", but they could have unique `fullName`
                    values, such as "Corporate:Accounts-Payable" and
                    "Finance:Accounts-Payable".


                    Maximum length: 31 characters.
                  example: Accounts-Payable
                isActive:
                  type: boolean
                  description: >-
                    Indicates whether this account is active. Inactive objects
                    are typically hidden from views and reports in QuickBooks.
                    Defaults to `true`.
                  example: true
                  default: true
                parentId:
                  type: string
                  description: >-
                    The parent account one level above this one in the
                    hierarchy. For example, if this account has a `fullName` of
                    "Corporate:Accounts-Payable", its parent has a `fullName` of
                    "Corporate". If this account is at the top level, this field
                    will be `null`.
                  example: 80000001-1234567890
                accountType:
                  type: string
                  enum:
                    - accounts_payable
                    - accounts_receivable
                    - bank
                    - cost_of_goods_sold
                    - credit_card
                    - equity
                    - expense
                    - fixed_asset
                    - income
                    - long_term_liability
                    - non_posting
                    - other_asset
                    - other_current_asset
                    - other_current_liability
                    - other_expense
                    - other_income
                  description: >-
                    The classification of this account, indicating its purpose
                    within the chart of accounts.


                    **NOTE**: You cannot create an account of type `non_posting`
                    through the API because QuickBooks creates these accounts
                    behind the scenes.
                  example: bank
                accountNumber:
                  type: string
                  description: >-
                    The account's account number, which appears in the
                    QuickBooks chart of accounts, reports, and graphs.


                    Note that if the "Use Account Numbers" preference is turned
                    off in QuickBooks, the account number may not be visible in
                    the user interface, but it can still be set and retrieved
                    through the API.
                  example: '1010'
                bankAccountNumber:
                  type: string
                  description: >-
                    The bank account number or identifying note for this
                    account. Access to this field may be restricted based on
                    permissions.
                  example: '123456789'
                description:
                  type: string
                  description: A description of this account.
                  example: >-
                    Accounts-payable are the amounts owed to suppliers for goods
                    and services purchased on credit.
                openingBalance:
                  type: string
                  description: >-
                    The amount of money in, or the value of, this account as of
                    `openingBalanceDate`. On a bank statement, this would be the
                    amount of money in the account at the beginning of the
                    statement period.
                  example: '1000.00'
                openingBalanceDate:
                  type: string
                  format: date
                  description: >-
                    The date of the opening balance of this account, in ISO 8601
                    format (YYYY-MM-DD).
                  example: '2023-01-01'
                salesTaxCodeId:
                  type: string
                  description: >-
                    The default sales-tax code for transactions with this
                    account, determining whether the transactions are taxable or
                    non-taxable. This can be overridden at the transaction or
                    transaction-line level.


                    Default codes include "Non" (non-taxable) and "Tax"
                    (taxable), but custom codes can also be created in
                    QuickBooks. If QuickBooks is not set up to charge sales tax
                    (via the "Do You Charge Sales Tax?" preference), it will
                    assign the default non-taxable code to all sales.
                  example: 80000001-1234567890
                taxLineId:
                  type: number
                  description: >-
                    The identifier of the tax line associated with this account.
                    You can see a list of all available values for this field by
                    calling the endpoint for account tax lines.
                  example: 123
                currencyId:
                  type: string
                  description: >-
                    The account's currency. For built-in currencies, the name
                    and code are standard ISO 4217 international values. For
                    user-defined currencies, all values are editable.
                  example: 80000001-1234567890
              required:
                - name
                - accountType
              additionalProperties: false
      responses:
        '200':
          description: Returns the newly created account.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_account'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Conductor from 'conductor-node';

            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });

            const account = await conductor.qbd.accounts.create({
              accountType: 'bank',
              name: 'Accounts-Payable',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(account.id);
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            account = conductor.qbd.accounts.create(
                account_type="bank",
                name="Accounts-Payable",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(account.id)
components:
  schemas:
    qbd_account:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this account. This
            ID is unique across all accounts but not across different QuickBooks
            object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_account
          description: The type of object. This value is always `"qbd_account"`.
          example: qbd_account
        createdAt:
          type: string
          description: >-
            The date and time when this account was created, in ISO 8601 format
            (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in
            the local timezone of the end-user's computer.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this account was last updated, in ISO 8601
            format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop
            interprets in the local timezone of the end-user's computer.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this account
            object, which changes each time the object is modified. When
            updating this object, you must provide the most recent
            `revisionNumber` to ensure you're working with the latest data;
            otherwise, the update will return an error.
          example: '1721172183'
        name:
          type: string
          description: >-
            The case-insensitive name of this account. Not guaranteed to be
            unique because it does not include the names of its hierarchical
            parent objects like `fullName` does. For example, two accounts could
            both have the `name` "Accounts-Payable", but they could have unique
            `fullName` values, such as "Corporate:Accounts-Payable" and
            "Finance:Accounts-Payable".
          example: Accounts-Payable
        fullName:
          type: string
          description: >-
            The case-insensitive fully-qualified unique name of this account,
            formed by combining the names of its hierarchical parent objects
            with its own `name`, separated by colons. For example, if an account
            is under "Corporate" and has the `name` "Accounts-Payable", its
            `fullName` would be "Corporate:Accounts-Payable".


            **NOTE**: Unlike `name`, `fullName` is guaranteed to be unique
            across all account objects. However, `fullName` can still be
            arbitrarily changed by the QuickBooks user when they modify the
            underlying `name` field.
          example: Corporate:Accounts-Payable
        isActive:
          type: boolean
          description: >-
            Indicates whether this account is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        parent:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The parent account one level above this one in the hierarchy. For
            example, if this account has a `fullName` of
            "Corporate:Accounts-Payable", its parent has a `fullName` of
            "Corporate". If this account is at the top level, this field will be
            `null`.
          example:
            id: 80000001-1234567890
            fullName: Corporate
        sublevel:
          type: number
          description: >-
            The depth level of this account in the hierarchy. A top-level
            account has a `sublevel` of 0; each subsequent sublevel increases
            this number by 1. For example, an account with a `fullName` of
            "Corporate:Accounts-Payable" would have a `sublevel` of 1.
          example: 1
        accountType:
          type: string
          enum:
            - accounts_payable
            - accounts_receivable
            - bank
            - cost_of_goods_sold
            - credit_card
            - equity
            - expense
            - fixed_asset
            - income
            - long_term_liability
            - non_posting
            - other_asset
            - other_current_asset
            - other_current_liability
            - other_expense
            - other_income
          description: >-
            The classification of this account, indicating its purpose within
            the chart of accounts.


            **NOTE**: You cannot create an account of type `non_posting` through
            the API because QuickBooks creates these accounts behind the scenes.
          example: bank
        specialAccountType:
          type:
            - string
            - 'null'
          enum:
            - accounts_payable
            - accounts_receivable
            - condense_item_adjustment_expenses
            - cost_of_goods_sold
            - direct_deposit_liabilities
            - estimates
            - exchange_gain_loss
            - inventory_assets
            - item_receipt_account
            - opening_balance_equity
            - payroll_expenses
            - payroll_liabilities
            - petty_cash
            - purchase_orders
            - reconciliation_differences
            - retained_earnings
            - sales_orders
            - sales_tax_payable
            - uncategorized_expenses
            - uncategorized_income
            - undeposited_funds
            - null
          description: >-
            Indicates if this account is a special account automatically created
            by QuickBooks for specific purposes.
          example: undeposited_funds
        isTaxAccount:
          type:
            - boolean
            - 'null'
          description: Indicates whether this account is used for tracking taxes.
          example: true
        accountNumber:
          type:
            - string
            - 'null'
          description: >-
            The account's account number, which appears in the QuickBooks chart
            of accounts, reports, and graphs.


            Note that if the "Use Account Numbers" preference is turned off in
            QuickBooks, the account number may not be visible in the user
            interface, but it can still be set and retrieved through the API.
          example: '1010'
        bankAccountNumber:
          type:
            - string
            - 'null'
          description: >-
            The bank account number or identifying note for this account. Access
            to this field may be restricted based on permissions.
          example: '123456789'
        description:
          type:
            - string
            - 'null'
          description: A description of this account.
          example: >-
            Accounts-payable are the amounts owed to suppliers for goods and
            services purchased on credit.
        balance:
          type:
            - string
            - 'null'
          description: >-
            The current balance of this account only, excluding balances from
            any subordinate accounts, represented as a decimal string. Compare
            with `totalBalance`. Note that income accounts and balance sheet
            accounts may not have balances.
          example: '1000.00'
        totalBalance:
          type:
            - string
            - 'null'
          description: >-
            The combined balance of this account and all its sub-accounts,
            represented as a decimal string. For example, the `totalBalance` for
            XYZ Bank would be the total of the balances of all its sub-accounts
            (checking, savings, and so on). If XYZ Bank did not have any
            sub-accounts, `totalBalance` and `balance` would be the same.
          example: '5000.00'
        salesTaxCode:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The default sales-tax code for transactions with this account,
            determining whether the transactions are taxable or non-taxable.
            This can be overridden at the transaction or transaction-line level.


            Default codes include "Non" (non-taxable) and "Tax" (taxable), but
            custom codes can also be created in QuickBooks. If QuickBooks is not
            set up to charge sales tax (via the "Do You Charge Sales Tax?"
            preference), it will assign the default non-taxable code to all
            sales.
          example:
            id: 80000001-1234567890
            fullName: Non
        taxLineDetails:
          oneOf:
            - $ref: '#/components/schemas/qbd_tax_line_info'
            - type: 'null'
          description: The account's tax line details, used for tax reporting purposes.
        cashFlowClassification:
          type:
            - string
            - 'null'
          enum:
            - financing
            - investing
            - none
            - not_applicable
            - operating
            - null
          description: >-
            Indicates how this account is classified for cash flow reporting. If
            `none`, the account has not been classified. If `not_applicable`,
            the account does not qualify to be classified (e.g., a bank account
            tracking cash transactions is not part of a cash flow report).
          example: operating
        currency:
          type:
            - object
            - 'null'
          properties:
            id:
              type:
                - string
                - 'null'
              description: >-
                The unique identifier assigned by QuickBooks to this object.
                This ID is unique across all objects of the same type, but not
                across different QuickBooks object types.
              example: 80000001-1234567890
            fullName:
              type:
                - string
                - 'null'
              description: >-
                The fully-qualified unique name for this object, formed by
                combining the names of its parent objects with its own `name`,
                separated by colons. Not case-sensitive.
              example: Parent:Child:Grandchild
          required:
            - id
            - fullName
          additionalProperties: false
          description: >-
            The account's currency. For built-in currencies, the name and code
            are standard ISO 4217 international values. For user-defined
            currencies, all values are editable.
          example:
            id: 80000001-1234567890
            fullName: USD
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the account object, added as user-defined data
            extensions, not included in the standard QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - fullName
        - isActive
        - parent
        - sublevel
        - accountType
        - specialAccountType
        - isTaxAccount
        - accountNumber
        - bankAccountNumber
        - description
        - balance
        - totalBalance
        - salesTaxCode
        - taxLineDetails
        - cashFlowClassification
        - currency
        - customFields
      additionalProperties: false
      title: The Account object
      x-conductor-object-type: other
      summary: >-
        An account in QuickBooks Desktop represents a financial account used to
        track money and transactions. It can be customized with features like
        hierarchical sub-accounts, account numbers, and opening balances.
        Accounts form the foundation of the chart of accounts and can represent
        various types like bank accounts, credit cards, income, expense, and
        other financial categories.
    qbd_tax_line_info:
      type: object
      properties:
        taxLineId:
          type: number
          description: >-
            The identifier of the tax line associated with this account. You can
            see a list of all available values for this field by calling the
            endpoint for account tax lines.
          example: 123
        taxLineName:
          type:
            - string
            - 'null'
          description: >-
            The name of the tax line associated with this account, as it appears
            on the tax form.
          example: State Sales Tax
      required:
        - taxLineId
        - taxLineName
      additionalProperties: false
      title: The Tax Line Info object
      x-conductor-object-type: nested
    qbd_custom_field:
      type: object
      properties:
        ownerId:
          type: string
          description: >-
            The identifier of the owner of the custom field, which QuickBooks
            internally calls a "data extension". For public custom fields
            visible in the UI, such as those added by the QuickBooks user, this
            is always "0". For private custom fields that are only visible to
            the application that created them, this is a valid GUID identifying
            the owning application. Internally, Conductor always fetches all
            public custom fields (those with an `ownerId` of "0") for all
            objects.
          example: '0'
        name:
          type: string
          description: >-
            The name of the custom field, unique for the specified `ownerId`.
            For public custom fields, this name is visible as a label in the
            QuickBooks UI.
          example: Customer Rating
        type:
          type: string
          enum:
            - amount_type
            - date_time_type
            - integer_type
            - percent_type
            - price_type
            - quantity_type
            - string_1024_type
            - string_255_type
          description: The data type of this custom field.
          example: string_1024_type
        value:
          type: string
          description: >-
            The value of this custom field. The maximum length depends on the
            field's data type.
          example: Premium
      required:
        - ownerId
        - name
        - type
        - value
      additionalProperties: false
      title: The Custom Field object
      x-conductor-object-type: nested
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

Built with [Mintlify](https://mintlify.com).