Search QuickBooks sync history

distru-search-quickbooks-activitiesRead

Shows each attempt to write a Distru change to QuickBooks, and why it failed.

Inputs

Every tool also takes the common inputs.

FieldTypeRequiredDescription
limitintegerNoDefault: 10
cursorstringNonextCursor of the previous call; keep the other arguments unchanged.
idsstring[]No
statusesenum[]
ERRORPENDINGSYNCED
No
searchstringNoCase-insensitive substring of the title (the record's number or name) or of the description, which holds the error on a failed one.
createdDateAfterstringNoInclusive. YYYY-MM-DD (start of day, company timezone) or ISO 8601 with a UTC offset.
createdDateBeforestringNoInclusive. YYYY-MM-DD (end of day, company timezone) or ISO 8601 with a UTC offset.
includeDismissedbooleanNoAlso return activities dismissed from the QuickBooks activity page (dismissedAt set). They still count toward the record's qbSyncStatus.
invoiceIdsstring[]NoAlso matches bulk syncs that synced these invoices. Resolve via distru-search-invoices.
paymentIdsstring[]NoInvoice or purchase payments. Also matches bulk syncs that synced these invoice payments. A bill payment synced through its purchase order's activity is found with purchaseOrderIds instead. Resolve via distru-search-invoice-payments or distru-search-purchase-payments.
creditIdsstring[]NoAlso matches bulk syncs that synced these credits. Resolve via distru-search-credits.
purchaseOrderIdsstring[]NoAlso matches the syncs of their bill payments. Resolve via distru-search-purchase-orders.
returnIdsstring[]NoResolve via distru-search-returns.
taxIdsstring[]NoResolve via distru-search-lookups (type TAX).
paymentMethodIdsstring[]NoResolve via distru-search-lookups (type PAYMENT_METHOD).
quickbooksItemIdsstring[]NoResolve via distru-search-quickbooks-items.
sortByobjectNoDefault UPDATED_AT DESC.
sortBy.directionenum
ASCDESC
Yes
sortBy.fieldenum
INSERTED_ATUPDATED_AT
YesUPDATED_AT: when the outcome was last written.

Output

Presence on a nested field assumes its parent exists.

FieldTypePresence
hasMorebooleanAlways
nextCursorstringCan be absent
totalCountintegerCan be absent
itemsobject[]Always
items[].idstringAlways
items[].typeenum
BULK_SYNCSYNC
Always
items[].actionenum
CREATEDELETEINACTIVATEUPDATEVOID
Can be null
items[].statusenum
ERRORPENDINGSYNCED
Always
items[].titlestringAlways
items[].errorstringCan be null
items[].failureReasonenum
DEPENDENCY_GRAPH_CHANGEDDEPRECATEDDUPLICATE_DOCUMENT_NUMBEROTHERQBO_CUSTOMER_EXISTS
Can be null
items[].dismissedAtstringCan be null
items[].insertedAtstringAlways
items[].updatedAtstringAlways
items[].creatorobjectCan be null
items[].creator.idstringAlways
items[].creator.profileobjectAlways
items[].creator.profile.fullNamestringAlways
items[].invoiceobjectCan be null
items[].invoice.idstringAlways
items[].invoice.invoiceNumberstringAlways
items[].invoicePaymentobjectCan be null
items[].invoicePayment.idstringAlways
items[].invoicePayment.paymentNumberstringAlways
items[].creditobjectCan be null
items[].credit.idstringAlways
items[].credit.creditNumberstringAlways
items[].purchaseOrderobjectCan be null
items[].purchaseOrder.idstringAlways
items[].purchaseOrder.purchaseNumberstringAlways
items[].purchasePaymentobjectCan be null
items[].purchasePayment.idstringAlways
items[].purchasePayment.paymentNumberstringAlways
items[].purchasePayment.purchaseOrderobjectCan be null
items[].purchasePayment.purchaseOrder.idstringAlways
items[].purchasePayment.purchaseOrder.purchaseNumberstringAlways
items[].returnobjectCan be null
items[].return.idstringAlways
items[].return.returnNumberstringAlways
items[].taxobjectCan be null
items[].tax.idstringAlways
items[].tax.namestringAlways
items[].paymentMethodobjectCan be null
items[].paymentMethod.idstringAlways
items[].paymentMethod.namestringAlways
items[].quickbooksItemobjectCan be null
items[].quickbooksItem.idstringAlways
items[].quickbooksItem.namestringAlways
items[].entitiesobject[]Always
items[].entities[].entityTypeenum
CREDITINVOICEINVOICE_PAYMENT
Always
items[].entities[].statusenum
ERRORPENDINGSKIPPEDSYNCED
Always
items[].entities[].invoiceobjectCan be null
items[].entities[].invoice.idstringAlways
items[].entities[].invoice.invoiceNumberstringAlways
items[].entities[].invoicePaymentobjectCan be null
items[].entities[].invoicePayment.idstringAlways
items[].entities[].invoicePayment.paymentNumberstringAlways
items[].entities[].creditobjectCan be null
items[].entities[].credit.idstringAlways
items[].entities[].credit.creditNumberstringAlways
What the AI reads

Searches QuickBooks activities — each is one attempt to write a Distru change to QuickBooks Online (an invoice, payment, credit, purchase order, bill payment, return, tax, payment method or QuickBooks item), as on the QuickBooks activity page. Use it to find why a record hasn't reached QuickBooks, or what is failing or still queued; to push a record again use distru-sync-to-quickbooks with the activity's record (a bulk sync's first entity is its root). It is the full history, not the current state: an old ERROR stays after a later activity for the same record succeeds, so the record's own qbSyncStatus says where it stands now. Activities sync independently; a failed one holds back no other. A BULK_SYNC syncs an invoice, payment or credit together with the records it depends on and lists them in entities, where one still PENDING under an ERROR activity did not sync; action is null on bulk syncs, purchase order and bill payment syncs, bill deletes and old activities. The record fields are null on a bulk sync, when the record was deleted, or when the caller's team can't see it. error is the error text, only while status is ERROR. failureReason: DUPLICATE_DOCUMENT_NUMBER = QuickBooks already has a document with that number (rename it in QuickBooks, then sync the record, or overwrite it from the QuickBooks activity page); QBO_CUSTOMER_EXISTS = map the customer from the QuickBooks activity page, then sync the record; DEPENDENCY_GRAPH_CHANGED and DEPRECATED = sync the record again.