Check the QuickBooks connection

distru-get-quickbooks-integrationRead

Shows whether QuickBooks is connected, when it last synced, and the sync settings.

Inputs

Every tool also takes the common inputs.

This tool takes no inputs of its own.

Output

Presence on a nested field assumes its parent exists.

FieldTypePresence
quickbooksIntegrationobjectAlways
quickbooksIntegration.connectedbooleanAlways
quickbooksIntegration.onboardedbooleanAlways
quickbooksIntegration.realmIdstringCan be null
quickbooksIntegration.reconnectReasonenum
AUTH_ERROREXPIREDEXPIRING
Can be null
quickbooksIntegration.refreshTokenHardExpiresAtstringCan be null
quickbooksIntegration.lastPullPerEntityobject[]Can be null
quickbooksIntegration.lastPullPerEntity[].entityenum
ACCOUNTBILLBILL_PAYMENTCLASSCREDIT_MEMOCUSTOMERINVOICEITEMPAYMENTPREFERENCESVENDOR
Always
quickbooksIntegration.lastPullPerEntity[].pulledAtstringCan be null
quickbooksIntegration.settingsobjectCan be null
quickbooksIntegration.settings.invoicePaymentSyncenum
OFFPUSH_AND_PULLPUSH_ONLY
Always
quickbooksIntegration.settings.creditSyncenum
OFFPUSH_AND_PULLPUSH_ONLY
Always
quickbooksIntegration.settings.pushReturnsbooleanAlways
quickbooksIntegration.settings.pushPurchasesbooleanAlways
quickbooksIntegration.settings.purchaseOrderPushStatusesenum[]
COMPLETEDDELIVERINGDRAFTPARTIALLY_RECEIVEDPENDINGPROCESSING
Always
quickbooksIntegration.settings.pushZeroDollarPurchasesbooleanAlways
quickbooksIntegration.settings.pushPurchasePaymentsbooleanAlways
quickbooksIntegration.settings.qbDefaultIncomeAccountobjectCan be null
quickbooksIntegration.settings.qbDefaultIncomeAccount.idstringAlways
quickbooksIntegration.settings.qbDefaultIncomeAccount.namestringAlways
quickbooksIntegration.settings.qbDefaultIncomeAccount.activebooleanAlways
quickbooksIntegration.settings.qbDefaultIncomeAccount.isDeletedbooleanAlways
quickbooksIntegration.settings.qbDefaultExpenseAccountobjectCan be null
quickbooksIntegration.settings.qbDefaultExpenseAccount.idstringAlways
quickbooksIntegration.settings.qbDefaultExpenseAccount.namestringAlways
quickbooksIntegration.settings.qbDefaultExpenseAccount.activebooleanAlways
quickbooksIntegration.settings.qbDefaultExpenseAccount.isDeletedbooleanAlways
quickbooksIntegration.settings.qbSalesDepositAccountobjectCan be null
quickbooksIntegration.settings.qbSalesDepositAccount.idstringAlways
quickbooksIntegration.settings.qbSalesDepositAccount.namestringAlways
quickbooksIntegration.settings.qbSalesDepositAccount.activebooleanAlways
quickbooksIntegration.settings.qbSalesDepositAccount.isDeletedbooleanAlways
quickbooksIntegration.settings.qbPurchaseDepositAccountobjectCan be null
quickbooksIntegration.settings.qbPurchaseDepositAccount.idstringAlways
quickbooksIntegration.settings.qbPurchaseDepositAccount.namestringAlways
quickbooksIntegration.settings.qbPurchaseDepositAccount.activebooleanAlways
quickbooksIntegration.settings.qbPurchaseDepositAccount.isDeletedbooleanAlways
quickbooksIntegration.settings.defaultSalesItemobjectCan be null
quickbooksIntegration.settings.defaultSalesItem.idstringAlways
quickbooksIntegration.settings.defaultSalesItem.namestringAlways
quickbooksIntegration.settings.defaultPurchaseItemobjectCan be null
quickbooksIntegration.settings.defaultPurchaseItem.idstringAlways
quickbooksIntegration.settings.defaultPurchaseItem.namestringAlways
What the AI reads

Gets the company's QuickBooks Online integration: connection and onboarding, whether someone must reconnect, the last pull of each QuickBooks entity type, and the sync settings. Use it first to check QuickBooks health. For queued and failed pushes of single records use distru-search-quickbooks-activities; for items and the chart of accounts use distru-search-quickbooks-items and distru-search-qb-accounts. connected false = onboarded false and every other field null. onboarded = the default sales and purchase items and the four default accounts are set; nothing syncs without it. realmId = the connected QuickBooks company, to match another QuickBooks tool's books. reconnectReason: AUTH_ERROR = QuickBooks refused Distru's last request as unauthorized, so syncs fail (reconnecting fixes it unless the QuickBooks subscription lapsed); EXPIRED = nothing syncs until someone reconnects; EXPIRING = the connection expires within 30 days, at refreshTokenHardExpiresAt; null = nothing to do. Someone who can configure QuickBooks reconnects it on its settings page. lastPullPerEntity is QuickBooks to Distru only, one row per entity type the settings pull; pulledAt = start of the last successful pull, null = never pulled. Pulls run every 15 minutes, only while someone at the company used Distru in the last 10: an old pulledAt is normal on an idle company and means a failing pull on an active one. invoicePaymentSync and creditSync: PUSH_ONLY = Distru pushes its payments or credits, and pulls QuickBooks' copies only to match them; PUSH_AND_PULL = also imports payments and credit memos created in QuickBooks; one setting turns it on for both, and CREDIT_MEMO and PAYMENT then share one pull. settings are what the sync applies: pushReturns is false while creditSync is on (the return's credit is pushed instead), pushPurchasePayments is false while pushPurchases is. An account's name is its full Parent:Child name; isDeleted = QuickBooks no longer has it; a null account = unset or not in Distru's copy of the chart.