---
title: "Retrieve company file preferences"
method: GET
path: "/quickbooks-desktop/preferences"
---

# Retrieve company file preferences

`GET /quickbooks-desktop/preferences`

Returns the preferences that the QuickBooks administrator has set for all users of the connected company file. Note that preferences cannot be modified through the API, only through the QuickBooks Desktop user interface.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Response `200`

Returns an object with the company file's preferences.

- QbdPreferences
  - `accounting` QbdAccountingPreferences, required
    - `isUsingAccountNumbers` boolean, required — Indicates whether this company file is configured to record an account number for new accounts. If you include an account number when creating a new account while this preference is `false`, the account number will still be set, but will not be visible in the QuickBooks user interface.
    - `isRequiringAccounts` boolean, required — Indicates whether this company file is configured to require an account for new transactions. If `true`, a transaction cannot be recorded in the QuickBooks user interface unless it is assigned to an account. (However, transactions affected by this preference always require an account to be specified when added through the API.)
    - `isUsingClassTracking` boolean, required — Indicates whether this company file is configured to use the `class` field on all transactions.
    - `defaultTransactionClass` 'accounts' | 'items' | 'names' | 'none', nullable, required — The default class assigned to transactions for this company file.
    - `isUsingAuditTrail` boolean, required — Indicates whether this company file is configured to log all transaction changes in the audit trail report. If `false`, QuickBooks logs only the most recent version of each transaction.
    - `isAssigningJournalEntryNumbers` boolean, required — Indicates whether this company file is configured to automatically assign a number to each journal entry.
    - `closingDate` string, date, nullable, required — The company closing date set within this company file. (The QuickBooks Admin can assign a password restricting access to transactions that occurred before this date.)
  - `financeCharges` QbdFinanceChargePreferences, required
    - `annualInterestRate` number, nullable, required — The interest rate that QuickBooks will use to calculate finance charges for this company file. Default is `0`.
    - `minimumFinanceCharge` number, nullable, required — The minimum finance charge that will be applied regardless of the amount overdue for this company file. Default is `0`.
    - `gracePeriod` number, required — The number of days before finance charges apply to customers' overdue invoices for this company file. Default is `0`.
    - `financeChargeAccount` object, nullable, required — The account used to track finance charges that customers pay for this company file. This is usually an income account.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `isAssessingForOverdueCharges` boolean, required — Indicates whether this company file is configured to assess finance charges for overdue invoices. Default is `false`. (Note that laws vary about whether a company can charge interest on overdue interest payments.)
    - `calculateChargesFrom` 'due_date' | 'invoice_or_billed_date', required — The date from which finance charges are calculated for this company file. Default is `due_date`.
    - `isMarkedToBePrinted` boolean, required — Indicates whether this company file is configured to mark all newly created finance-charge invoices as "to be printed". Default is `false`. The user can still change this preference for each individual invoice.
  - `jobsAndEstimates` QbdJobsAndEstimatesPreferences, required
    - `isUsingEstimates` boolean, required — Indicates whether this company file is configured to create estimates for jobs.
    - `isUsingProgressInvoicing` boolean, required — Indicates whether this company file permits creating invoices for only a portion of an estimate.
    - `isPrintingItemsWithZeroAmounts` boolean, required — Indicates whether this company file is configured to print line items with zero amounts on progress invoices. This preference is only relevant if `isUsingProgressInvoicing` is `true`.
  - `multiCurrency` QbdMultiCurrencyPreferences, required
    - `isMultiCurrencyEnabled` boolean, nullable, required — Indicates whether the multicurrency feature is enabled for this company file. Once multicurrency is enabled for a company file, it cannot be disabled.
    - `homeCurrency` object, nullable, required — The currency that is set as the home currency for this company file. The home currency is normally the currency of the country where the business is physically located. Although a home currency other than US Dollars can be chosen, certain QuickBooks convenience features are available only with a home currency of US Dollars, such as the ability to download current exchange rates. Also, Intuit services such as payroll and online banking are only available in US Dollars. Once the home currency has been set and used in any transaction, it cannot be changed.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
  - `multiLocationInventory` QbdMultiLocationInventoryPreferences, required
    - `isMultiLocationInventoryAvailable` boolean, nullable, required — Indicates whether the multilocation inventory feature is available for this company file. When `true`, the feature can potentially be enabled.
    - `isMultiLocationInventoryEnabled` boolean, nullable, required — Indicates whether the multilocation inventory feature is enabled for this company file. When `true`, inventory can be tracked across multiple locations.
  - `purchasesAndVendors` QbdPurchasesAndVendorsPreferences, required
    - `isUsingInventory` boolean, required — Indicates whether this company file has inventory-related features enabled.
    - `daysBillsAreDue` number, required — The default number of days after receipt when bills are due for this company file.
    - `isAutomaticallyUsingDiscounts` boolean, required — Indicates whether this company file is configured to automatically apply available vendor discounts or credits when paying bills.
    - `defaultDiscountAccount` object, nullable, required — The account used to track vendor discounts for this company file.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
  - `reports` QbdReportsPreferences, required
    - `agingReportBasis` 'age_from_due_date' | 'age_from_transaction_date', required — Determines how the aging periods are calculated in accounts receivable and accounts payable reports for this company file. When set to `age_from_due_date`, the overdue days shown in these reports begin with the due date on the invoice. When set to `age_from_transaction_date`, the overdue days begin with the date the transaction was created.
    - `summaryReportBasis` 'accrual' | 'cash', required — Indicates whether summary reports for this company file use cash-basis or accrual-basis bookkeeping. With `accrual` basis, transactions are recorded when they occur regardless of when payment is received or made. With `cash` basis, transactions are recorded only when payment is received or made.
  - `salesAndCustomers` QbdSalesAndCustomersPreferences, required
    - `defaultShippingMethod` object, nullable, required — The default shipping method used in all "Ship Via" fields for this company file.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `defaultShipmentOrigin` string, nullable, required — The default shipment-origin location (i.e., FOB - freight on board) from which invoiced products are shipped for this company file. This indicates the point at which ownership and liability for goods transfer from seller to buyer.
    - `defaultMarkupPercentage` string, nullable, required — The default percentage that an inventory item will be marked up from its cost for this company file.
    - `isTrackingReimbursedExpensesAsIncome` boolean, required — Indicates whether this company file is configured to track an expense and the customer's reimbursement for that expense in separate accounts. When `true`, reimbursements can be tracked as income rather than as a reduction of the original expense.
    - `isAutoApplyingPayments` boolean, required — Indicates whether this company file is configured to automatically apply a customer's payment to their outstanding invoices, beginning with the oldest invoice.
    - `priceLevels` QbdPriceLevels, required
      - `isUsingPriceLevels` boolean, required — Indicates whether this company file has price levels enabled. When `true`, price levels can be created and used to automatically calculate custom pricing for different customers.
      - `isRoundingSalesPriceUp` boolean, nullable, required — Indicates whether this company file is configured to round amounts up to the nearest whole dollar for fixed percentage price levels. This setting does not affect per-item price levels.
  - `salesTax` QbdSalesTaxPreferences, required
    - `defaultItemSalesTax` object, nullable, required — The default tax code for sales for this company file.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `salesTaxReportingFrequency` 'monthly' | 'quarterly' | 'annually', required — The frequency at which sales tax reports are generated for this company file.
    - `defaultTaxableSalesTaxCode` object, required — The default tax code for taxable sales for this company file.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `defaultNonTaxableSalesTaxCode` object, required — The default tax code for non-taxable sales for this company file.
      - `id` string, nullable, required — 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.
      - `fullName` string, nullable, required — 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.
    - `isUsingVendorTaxCode` boolean, nullable, required — Indicates whether this company file is configured to use tax codes for vendors.
    - `isUsingCustomerTaxCode` boolean, nullable, required — Indicates whether this company file is configured to use tax codes for customers.
    - `isUsingTaxInclusivePrices` boolean, nullable, required — Indicates whether this company file is configured to allow tax-inclusive prices.
  - `timeTracking` QbdTimeTrackingPreferences, required
    - `firstDayOfWeek` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday', required — The first day of a weekly timesheet period for this company file.
  - `appAccessRights` QbdCurrentAppAccessRights, required
    - `isAutomaticLoginAllowed` boolean, required — Indicates whether applications can use auto-login to access this company file.
    - `automaticLoginUserName` string, nullable, required — If auto-login is allowed for this company file, specifies the user name that is allowed to use auto-login.
    - `isPersonalDataAccessAllowed` boolean, required — Indicates whether access is allowed to personal (sensitive) data in this company file.
  - `itemsAndInventory` QbdItemsAndInventoryPreferences, required
    - `isEnhancedInventoryReceivingEnabled` boolean, nullable, required — Indicates whether enhanced inventory receiving is enabled for this company file.
    - `inventoryTrackingMethod` 'none' | 'serial_number' | 'lot_number', nullable, required — Specifies the type of inventory tracking that this company file uses.
    - `isInventoryExpirationDateEnabled` boolean, nullable, required — Indicates whether expiration dates for inventory serial/lot numbers are enabled for this company file. This feature is supported from QuickBooks Desktop 2023.
    - `isTrackingOnSalesTransactionsEnabled` boolean, nullable, required — Indicates whether serial/lot number tracking is enabled for sales transactions in this company file.
    - `isTrackingOnPurchaseTransactionsEnabled` boolean, nullable, required — Indicates whether serial/lot number tracking is enabled for purchase transactions in this company file.
    - `isTrackingOnInventoryAdjustmentEnabled` boolean, nullable, required — Indicates whether serial/lot number tracking is enabled for inventory adjustments in this company file.
    - `isTrackingOnBuildAssemblyEnabled` boolean, nullable, required — Indicates whether serial/lot number tracking is enabled for build assemblies in this company file.
    - `isFifoEnabled` boolean, nullable, required — Indicates whether this company file is configured to use FIFO (First In, First Out) to calculate the value of inventory sold and on-hand.
    - `fifoEffectiveDate` string, date, nullable, required — The date from which FIFO (First In, First Out) is used to calculate the value of inventory sold and on-hand for this company file, in ISO 8601 format (YYYY-MM-DD).
    - `isBinTrackingEnabled` boolean, nullable, required — Indicates whether bin tracking is enabled for this company file. When `true`, inventory can be tracked by bin locations within sites.
    - `isBarcodeEnabled` boolean, nullable, required — Indicates whether barcode functionality is enabled for this company file.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
