QuickBooks Desktop API
Core Resources
- Auth Sessions
- End Users
Utilities
Transactions
- All Transactions
- Bill Check Payments
- Bill Credit Card Payments
- Bills
- Checks
- Credit Card Charges
- Credit Card Credits
- Credit Memos
- Estimates
- Inventory Adjustments
- Invoices
- Item Receipts
- Journal Entries
- Purchase Orders
- Receive-Payments
- Sales Orders
- Sales Receipts
- Time Tracking Activities
- Transfers
- Vendor Credits
General
- Account Tax Lines
- Accounts
- Classes
- Company
- Customers / Jobs
- Date-Driven Terms
- Employees
- Inventory Sites
- Payroll Wage Items
- Preferences
- Price Levels
- Sales Representatives
- Sales-Tax Codes
- Standard Terms
- Vendors
Items
- Discount Items
- Inventory Assembly Items
- Inventory Items
- Non-Inventory Items
- Sales-Tax Items
- Service Items
- Subtotal Items
Retrieve company file 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.
import Conductor from 'conductor-node';
const client = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
async function main() {
const preferences = await client.qbd.preferences.retrieve({ conductorEndUserId: 'end_usr_1234567abcdefg' });
console.log(preferences.accounting);
}
main();
{
"accounting": {
"isUsingAccountNumbers": true,
"isRequiringAccounts": true,
"isUsingClassTracking": true,
"defaultTransactionClass": "accounts",
"isUsingAuditTrail": true,
"isAssigningJournalEntryNumbers": true,
"closingDate": "2024-12-31"
},
"financeCharges": {
"annualInterestRate": 0.05,
"minimumFinanceCharge": 100,
"gracePeriod": 30,
"financeChargeAccount": {
"id": "80000001-1234567890",
"fullName": "Interest Income"
},
"isAssessingForOverdueCharges": false,
"calculateChargesFrom": "due_date",
"isMarkedToBePrinted": false
},
"jobsAndEstimates": {
"isUsingEstimates": true,
"isUsingProgressInvoicing": true,
"isPrintingItemsWithZeroAmounts": true
},
"multiCurrency": {
"isMultiCurrencyEnabled": true,
"homeCurrency": {
"id": "80000001-1234567890",
"fullName": "USD"
}
},
"multiLocationInventory": {
"isMultiLocationInventoryAvailable": true,
"isMultiLocationInventoryEnabled": true
},
"purchasesAndVendors": {
"isUsingInventory": true,
"daysBillsAreDue": 30,
"isAutomaticallyUsingDiscounts": true,
"defaultDiscountAccount": {
"id": "80000001-1234567890",
"fullName": "Discount Account"
}
},
"reports": {
"agingReportBasis": "age_from_due_date",
"summaryReportBasis": "accrual"
},
"salesAndCustomers": {
"defaultShippingMethod": {
"id": "80000001-1234567890",
"fullName": "FedEx Ground"
},
"defaultShipmentOrigin": "San Francisco, CA",
"defaultMarkupPercentage": "25",
"isTrackingReimbursedExpensesAsIncome": true,
"isAutoApplyingPayments": true,
"priceLevels": {
"isUsingPriceLevels": true,
"isRoundingSalesPriceUp": false
}
},
"salesTax": {
"defaultItemSalesTax": {
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
},
"salesTaxReportingFrequency": "quarterly",
"defaultTaxableSalesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Tax"
},
"defaultNonTaxableSalesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Non"
},
"isUsingVendorTaxCode": true,
"isUsingCustomerTaxCode": true,
"isUsingTaxInclusivePrices": false
},
"timeTracking": {
"firstDayOfWeek": "monday"
},
"appAccessRights": {
"isAutomaticLoginAllowed": true,
"automaticLoginUserName": "admin",
"isPersonalDataAccessAllowed": true
},
"itemsAndInventory": {
"isEnhancedInventoryReceivingEnabled": true,
"inventoryTrackingMethod": "serial_number",
"isInventoryExpirationDateEnabled": true,
"isTrackingOnSalesTransactionsEnabled": true,
"isTrackingOnPurchaseTransactionsEnabled": true,
"isTrackingOnInventoryAdjustmentEnabled": true,
"isTrackingOnBuildAssemblyEnabled": true,
"isFifoEnabled": true,
"fifoEffectiveDate": "2023-01-01",
"isBinTrackingEnabled": true,
"isBarcodeEnabled": true
}
}
Authorizations
Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}"
).
Headers
The ID of the EndUser to receive this request (e.g., "Conductor-End-User-Id: {{END_USER_ID}}"
).
"end_usr_1234567abcdefg"
Response
The accounting preferences for this company file.
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.
true
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.)
true
Indicates whether this company file is configured to use the class
field on all transactions.
true
The default class assigned to transactions for this company file.
accounts
, items
, names
, none
"accounts"
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.
true
Indicates whether this company file is configured to automatically assign a number to each journal entry.
true
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.)
"2024-12-31"
The finance charge preferences for this company file. These settings determine how late payment charges are calculated and applied to customer accounts.
The interest rate that QuickBooks will use to calculate finance charges for this company file. Default is 0
.
0.05
The minimum finance charge that will be applied regardless of the amount overdue for this company file. Default is 0
.
100
The number of days before finance charges apply to customers' overdue invoices for this company file. Default is 0
.
30
The account used to track finance charges that customers pay for this company file. This is usually an income account.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "Interest Income"
}
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.)
false
The date from which finance charges are calculated for this company file. Default is due_date
.
due_date
, invoice_or_billed_date
"due_date"
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.
false
The jobs and estimates preferences for this company file.
Indicates whether this company file is configured to create estimates for jobs.
true
Indicates whether this company file permits creating invoices for only a portion of an estimate.
true
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
.
true
The multi-currency preferences for this company file.
Indicates whether the multicurrency feature is enabled for this company file. Once multicurrency is enabled for a company file, it cannot be disabled.
true
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.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "USD"
}
The multi-location inventory preferences for this company file.
Indicates whether the multilocation inventory feature is available for this company file. When true
, the feature can potentially be enabled.
true
Indicates whether the multilocation inventory feature is enabled for this company file. When true
, inventory can be tracked across multiple locations.
true
The purchases and vendors preferences for this company file.
Indicates whether this company file has inventory-related features enabled.
true
The default number of days after receipt when bills are due for this company file.
30
Indicates whether this company file is configured to automatically apply available vendor discounts or credits when paying bills.
true
The account used to track vendor discounts for this company file.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "Discount Account"
}
The reporting preferences for this company file.
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.
age_from_due_date
, age_from_transaction_date
"age_from_due_date"
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.
accrual
, cash
"accrual"
The sales and customers preferences for this company file.
The default shipping method used in all "Ship Via" fields for this company file.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "FedEx Ground"
}
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.
"San Francisco, CA"
The default percentage that an inventory item will be marked up from its cost for this company file.
"25"
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.
true
Indicates whether this company file is configured to automatically apply a customer's payment to their outstanding invoices, beginning with the oldest invoice.
true
The custom pricing settings for this company file that can be assigned to specific customers. When a price level is set for a customer, QuickBooks automatically applies these custom prices to new invoices, sales receipts, sales orders, and credit memos. These settings can be overridden when creating individual transactions, and price levels can also be specified on individual line items in supported sales transactions.
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.
true
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.
false
The sales-tax preferences for this company file. If sales tax is turned off in the user interface (that is, if "No" is selected for "Do You Charge Sales Tax?" in the sales tax preferences), then this field will be null
.
The default tax code for sales for this company file.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
}
The frequency at which sales tax reports are generated for this company file.
monthly
, quarterly
, annually
"quarterly"
The default tax code for taxable sales for this company file.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "Tax"
}
The default tax code for non-taxable sales for this company file.
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.
"80000001-1234567890"
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.
"Parent:Child:Grandchild"
{
"id": "80000001-1234567890",
"fullName": "Non"
}
Indicates whether this company file is configured to use tax codes for vendors.
true
Indicates whether this company file is configured to use tax codes for customers.
true
Indicates whether this company file is configured to allow tax-inclusive prices.
false
The time-tracking preferences for this company file. If time tracking is turned off in the user interface (that is, if "No" is selected for "Do You Track Time?" in the time tracking preferences), then this field will be null
.
The first day of a weekly timesheet period for this company file.
monday
, tuesday
, wednesday
, thursday
, friday
, saturday
, sunday
"monday"
The current application access rights for this company file.
Indicates whether applications can use auto-login to access this company file.
true
If auto-login is allowed for this company file, specifies the user name that is allowed to use auto-login.
"admin"
Indicates whether access is allowed to personal (sensitive) data in this company file.
true
The item inventory preferences for this company file.
Indicates whether enhanced inventory receiving is enabled for this company file.
true
Specifies the type of inventory tracking that this company file uses.
none
, serial_number
, lot_number
"serial_number"
Indicates whether expiration dates for inventory serial/lot numbers are enabled for this company file. This feature is supported from QuickBooks Desktop 2023.
true
Indicates whether serial/lot number tracking is enabled for sales transactions in this company file.
true
Indicates whether serial/lot number tracking is enabled for purchase transactions in this company file.
true
Indicates whether serial/lot number tracking is enabled for inventory adjustments in this company file.
true
Indicates whether serial/lot number tracking is enabled for build assemblies in this company file.
true
Indicates whether this company file is configured to use FIFO (First In, First Out) to calculate the value of inventory sold and on-hand.
true
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).
"2023-01-01"
Indicates whether bin tracking is enabled for this company file. When true
, inventory can be tracked by bin locations within sites.
true
Indicates whether barcode functionality is enabled for this company file.
true
import Conductor from 'conductor-node';
const client = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
async function main() {
const preferences = await client.qbd.preferences.retrieve({ conductorEndUserId: 'end_usr_1234567abcdefg' });
console.log(preferences.accounting);
}
main();
{
"accounting": {
"isUsingAccountNumbers": true,
"isRequiringAccounts": true,
"isUsingClassTracking": true,
"defaultTransactionClass": "accounts",
"isUsingAuditTrail": true,
"isAssigningJournalEntryNumbers": true,
"closingDate": "2024-12-31"
},
"financeCharges": {
"annualInterestRate": 0.05,
"minimumFinanceCharge": 100,
"gracePeriod": 30,
"financeChargeAccount": {
"id": "80000001-1234567890",
"fullName": "Interest Income"
},
"isAssessingForOverdueCharges": false,
"calculateChargesFrom": "due_date",
"isMarkedToBePrinted": false
},
"jobsAndEstimates": {
"isUsingEstimates": true,
"isUsingProgressInvoicing": true,
"isPrintingItemsWithZeroAmounts": true
},
"multiCurrency": {
"isMultiCurrencyEnabled": true,
"homeCurrency": {
"id": "80000001-1234567890",
"fullName": "USD"
}
},
"multiLocationInventory": {
"isMultiLocationInventoryAvailable": true,
"isMultiLocationInventoryEnabled": true
},
"purchasesAndVendors": {
"isUsingInventory": true,
"daysBillsAreDue": 30,
"isAutomaticallyUsingDiscounts": true,
"defaultDiscountAccount": {
"id": "80000001-1234567890",
"fullName": "Discount Account"
}
},
"reports": {
"agingReportBasis": "age_from_due_date",
"summaryReportBasis": "accrual"
},
"salesAndCustomers": {
"defaultShippingMethod": {
"id": "80000001-1234567890",
"fullName": "FedEx Ground"
},
"defaultShipmentOrigin": "San Francisco, CA",
"defaultMarkupPercentage": "25",
"isTrackingReimbursedExpensesAsIncome": true,
"isAutoApplyingPayments": true,
"priceLevels": {
"isUsingPriceLevels": true,
"isRoundingSalesPriceUp": false
}
},
"salesTax": {
"defaultItemSalesTax": {
"id": "80000001-1234567890",
"fullName": "State Sales Tax"
},
"salesTaxReportingFrequency": "quarterly",
"defaultTaxableSalesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Tax"
},
"defaultNonTaxableSalesTaxCode": {
"id": "80000001-1234567890",
"fullName": "Non"
},
"isUsingVendorTaxCode": true,
"isUsingCustomerTaxCode": true,
"isUsingTaxInclusivePrices": false
},
"timeTracking": {
"firstDayOfWeek": "monday"
},
"appAccessRights": {
"isAutomaticLoginAllowed": true,
"automaticLoginUserName": "admin",
"isPersonalDataAccessAllowed": true
},
"itemsAndInventory": {
"isEnhancedInventoryReceivingEnabled": true,
"inventoryTrackingMethod": "serial_number",
"isInventoryExpirationDateEnabled": true,
"isTrackingOnSalesTransactionsEnabled": true,
"isTrackingOnPurchaseTransactionsEnabled": true,
"isTrackingOnInventoryAdjustmentEnabled": true,
"isTrackingOnBuildAssemblyEnabled": true,
"isFifoEnabled": true,
"fifoEffectiveDate": "2023-01-01",
"isBinTrackingEnabled": true,
"isBarcodeEnabled": true
}
}