QBSDK_ProGuide Pro Guide
sdk-guide
User Manual:
Open the PDF directly: View PDF
Page Count: 598 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Intuit QuickBooks® SDK
- Programmer’s Guide
- Version 13 .0
- About This Manual
- Introduction to QBSDK Programming
- What is the SDK?
- What Kinds of Integrations are Possible with the SDK?
- Which QuickBooks Editions/Versions Support My Application?
- What’s Included in the QuickBooks SDK Package?
- What is the Onscreen Reference OSR? Why Must I Use It?
- How Does QuickBooks Toggling Affect My Application?
- Do I Have to Use XML? Or are Convenience Libraries Available?
- Which Programming Languages Can I Use?
- What Do I Need to Know Before I Start Programming?
- What Kind of Technical Support is Available?
- Jumpstart
- The Communication Model and Ways of Implementing It
- Specifying Authorization Preferences
- Accessing Desktop QuickBooks Editions
- Using Java with QB SDK
- A Note About the Request Processor
- How to Access QuickBooks
- Multiple Sessions versus a Single Session
- Using AuthFlags to Specify Support for QuickBooks Editions
- More Information about Login Modes
- Limitations on Accessing Company Files
- Allowing Application Access to Personal Data
- Single-User vs. Multi-User Mode
- Microsoft Windows Vista & Windows 7 and UAC
- Building Requests In QBFC and in qbXML
- Handling Responses Using QBFC or qbXML
- Creating Queries
- Generating Reports
- Modifying and Deleting Transactions and List Objects
- Modifying Objects in General
- How to Modify Transactions
- Parts of a Transaction
- Modifying the Body of a Transaction
- Modifying Transaction Body Without Modifying Line Items
- Shortcut Way to Retaining a Line Item Exactly As Is
- Modifying a Line Item
- Inserting a New Line Item In a Mod Operation
- Deleting a Line Item
- Example: Modifying Transaction Lines
- Example: Modifying Groups within the Line Item Table
- Example: Modifying Item Lines in an Item Group
- About Modifying Rate, Quantity, and Amount Line Item Fields
- Deleting an Object
- Data Ext: Using Custom Fields and Private Data
- Core Differences Between Custom Fields and Private Data
- How Do I Create Data Extensions?
- What Makes a Data Ext Definition a Custom Field vs Private?
- A Cool Feature: Transactions Inherit From Customer, Item
- How Do I Get DataExt Data Back Using Queries?
- Writing Data to a Data Extension
- Clearing a Value from a Data Extension
- Deleting a Data Extension Definition: Limitations
- Making Custom Fields Show Up In QuickBooks and in Print
- I Want to Use Private Data: How Do I Use GUIDs?
- Using Other, Other1, Other2 in Transactions
- Writing Custom Field Data to Transaction Lines
- Modifying Custom Field Data in Transaction Item Lines
- Using Macros In Requests
- Objects, ObjectRefs, Fullnames, and Attributes
- Event Notification
- Integrating with the QuickBooks UI
- Handling Receive Payment, Bill Payment, and Deposit Transactions
- Linking ItemReceipt/Bill to PurchaseOrder, Invoice to Sales Order
- Important Note about Querying for Linked Transactions
- Linking Bill or ItemReceipt to PurchaseOrder
- Rules For Linking a Bill or ItemReceipt to a PurchaseOrder
- Why Does the OSR List LinkToTxn for Unsupported Transactions?
- Converting ItemReceipts to Bills
- Limitations and Pitfalls of Modifying a Bill or ItemReceipt
- ItemReceipt and Bill Split Option for QuickBooks Enterprise
- Re: “Is Manually Closed” in Purchase Orders and Sales Orders
- Linking Invoices to SalesOrders
- Using SalesReceipt Functionality
- Using Credit Card Refund Functionality
- Using Price Levels in Transactions
- Using Billing Rates To Bill For Time
- Using the Multicurrency Feature in the SDK
- Impact of Multicurrency on Existing Applications
- Company Preferences and Multicurrency
- QuickBooks Currencies/Exchange Rates and the SDK
- Multicurrency Effect on Transaction Amounts and Balances
- Multicurrency Effect on List Objects Amounts and Balances
- Multicurrency Effects on Reports
- ARAccountRef/APAccountRef Guidelines
- Using the Multi-Location Inventory Feature in the SDK
- Impact of Multi-Location Inventory on Existing Applications
- Company Preferences and Multi-Location Inventory
- InventorySite features for Multi-Location Inventory
- Transfer Inventory Transactions Feature
- Site Attributes for Transaction with Multi-Location Inventory
- Multi-Location Inventory Support for Group Items
- Using the Quickbooks Vehicle Mileage Feature
- Key Limitations of QB SDK Support for Vehicle Mileage
- How the Vehicle Mileage Feature Works
- Setting Up an Item to be Used In Billable Mileage Transactions
- What Happens to Mileage Charges When I Create Invoices?
- Adding a Vehicle Mileage Transaction
- Querying and Deleting Vehicle Mileage Transactions
- Modifying Vehicle Mileage Transactions
- Adding, Modifying, Querying Vehicles in the Vehicle List
- Adding, Modifying, Querying Worker Comp Codes
- Using the Unit of Measure Feature Via the SDK
- How Can I Tell If the UOM Feature is Available?
- Which SDK Requests Support UOM?
- How Does the UOM Feature Work?
- Creating a UOM Set in the UI
- How Do I Create a UOM Set in the SDK?
- Why Do I Need to Follow the UOM Set Naming Convention?
- Can I Modify a UOM Set in the SDK?
- Can I Set UOM Set Defaults for Purchase, Sales, and Shipping?
- How Do I Specify Which Units the UOM Set Contains?
- What Does the Abbreviation Field Do? Why’s it Required?
- Creating a UOM Set in QBFC
- Creating a UOM Set in qbXML
- Specifying a UOM Set for an Item
- Using UOM in Transactions
- Merging Accounts, Customers, Vendors, Classes
- Using Assembly Item and BuildAssembly Functionality
- Overview of QuickBooks Assembly Items and Build Assembly
- You Must Have Sufficient Components for the BuildAssembly
- QB Activities that Change BuildAssembly Transactions into Pending
- Consequences of Modifying an Existing Inventory Assembly Item
- Impact of SalesReceipts and Invoices on Assemblies in Inventory
- Disassembling Inventory Assemblies
- Getting BuildAssembly and Assembly Item Reports
- Adding an Inventory Assembly Item
- Modifying an Existing Inventory Assembly Item
- Querying for Inventory Assembly Items
- Adding a BuildAssembly Transaction
- Modifying an Existing BuildAssembly Transaction
- Querying for BuildAssembly Transactions
- Overview of QuickBooks Assembly Items and Build Assembly
- Taxes and Discounts (US Versions)
- Remote Data Sharing and Your Application
- Error Recovery
- The General Error Recovery Mechanism
- Automated Error Recovery in QBFC
- Using Error Recovery in qbXML-based Applications
- Error Recovery Using Old and New Message IDs
- How to Clear All Error Recovery Information
- Steps for Using Error Recovery in qbXML-based Applications
- Example
- Message Set Status Code
- Request ID
- Comparing Requests (Performing a Checksum)
- Status for Individual Requests within a Message Set
- Clearing State (oldMessageSetID)
- Maintaining State within Your Application
- Clearing Error Recovery Records Maintained by QuickBooks
- How to Use the QBFC Convenience Library
- QBFC Language Reference
- QBSessionManager Object and Methods
- QBSessionManager.BeginSession
- QBSessionManager.ClearErrorRecovery
- QBSessionManager.CloseConnection
- QBSessionManager.CommunicateOutOfProcess
- QBSessionManager.ConnectionType
- QBSessionManager.CreateMsgSetRequest
- QBSessionManager.CreateSubscriptionMsgSetRequest
- QBSessionManager.DoRequests
- QBSessionManager.DoRequestsFromXMLString
- QBSessionManager.DoSubscriptionRequests
- QBSessionManager.DoSubscriptionRequestsFromXMLString
- QBSessionManager.EnableErrorRecovery
- QBSessionManager.EndSession
- QBSessionManager.ErrorRecoveryID
- QBSessionManager.GetCurrentCompanyFileName
- QBSessionManager.GetErrorRecoveryStatus
- QBSessionManager.GetSavedMsgSetRequest
- QBSessionManager.GetVersion
- QBSessionManager.IsErrorRecoveryInfo
- QBSessionManager.OpenConnection2
- QBSessionManager.QBAuthPreferences
- QBSessionManager.QBXMLVersionsForSession
- QBSessionManager.QBXMLVersionsForSubscription
- QBSessionManager.SaveAllMsgSetRequestInfo
- QBSessionManager.ToEventsMsgSet
- QBSessionManager.ToMsgSetRequest
- QBSessionManager.ToMsgSetResponse
- QQBSessionManager.ToSubscriptionMsgSetResponse
- IQBAuthPreferences Object and Properties
- IQBAuthPreferences.GetIsReadOnly
- IQBAuthPreferences.GetPersonalDataPref
- IQBAuthPreferences.GetUnattendedModePref
- IQBAuthPreferences.PutAuthFlags
- IQBAuthPreferences.PutIsReadOnly
- IQBAuthPreferences.PutPersonalDataPref
- IQBAuthPreferences.PutUnattendedModePref
- IQBAuthPreferences.WasAuthPreferencesObeyed
- IMsgSetRequest Object and Methods
- IMsgSetRequest.Append*
- IMsgSetRequest.Attributes
- IMsgSetResponse Object and Methods
- IRequest Object and Methods
- IResponse Object and Methods
- Digitally Signing Your Code
- Tips and Techniques
- Supporting Your User
- Making Your Application Robust
- Redistributing SDK Components With Your Application
- Status Codes for qbXML Responses
- QuickBooks Data Accessible Via SDK Objects/Operations
- qbXML Specification for the Canadian and UK Editions
- qbXML RequestProcessor Method Reference
- AuthPreferences
- BeginSession
- CloseConnection
- EndSession
- GetCurrentCompanyFileName
- GetIsReadOnly
- GetPersonalDataPref
- GetUnattendedModePref
- WasAuthPreferencesObeyed
- PutAuthFlags
- PutIsReadOnly
- PutPersonalDataPref
- PutUnattendedModePref
- MajorVersion
- MinorVersion
- OpenConnection2
- ProcessRequest
- ProcessSubscription
- QBXMLVersionsForSession
- QBXMLVersionsForSubscription
- ReleaseLevel
- ReleaseNumber
- Enterprise Edition and Single/Multi-User Issues
- Overpayments and Refunds