QuickBooks Connector

Custom Metadata Reference Guide

This page provides the information about the custom metadata records needed during Quickbooks setup.

Steps to open custom metadata-

  1. Navigate to Setup.

  2. Search Custom Metadata in Quick Find box.

  3. Look for CM QB Connector Settings in the list.

  4. Make sure to check for the below values in CM QB Connector Settings:

This custom metadata type stores connector configuration settings for the QuickBooks–Salesforce integration. All records use a single Value__c field to hold either a SOQL WHERE clause string or a JSON configuration object.

Name

Description

Default Value

AdminConsoleHelpTextConfig

JSON map of admin console screen keys to their corresponding Confluence help article URLs. Used to render contextual help links throughout the Admin Console UI.

JSON object with URLs for connectionScreen, configureClientScreen, syncDataScreen, mapDataScreen, assignPermissionScreen, and contactSupportScreen

AutoMatch_QBCustomerJson

JSON configuration that drives the auto-match logic between Salesforce Account records and QuickBooks Customer records. Defines the SF object, QB object, the flag field that marks a record as auto-matched, and the list of fields to compare (Website, Phone, Company Name, Email).

JSON config targeting cm_finance__Quickbooks_Customer__c with four match fields: Website, Phone, Company Name, Email

BatchAllQBSFAccountsSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Accounts full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFClassSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Classes full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFCustomerSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Customers full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFInvoiceSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Invoices full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFPaymentSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Payments full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFProductSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Products full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFTaxRateSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Tax Rates full batch sync. Leave blank to sync all records.

(empty)

BatchAllQBSFVendorSync_WhereClause

Optional SOQL WHERE clause appended to the query when running the QB → SF Vendors full batch sync. Leave blank to sync all records.

(empty)

BatchSFQBCustomerSync_WhereClause

SOQL WHERE clause used by the SF → QB Customer batch job to filter which customer sync records to process. Protected — modify with caution.

WHERE Process_via_Batch__c = true AND Status__c != 'Failed'

BatchSFQBInvoiceSync_WhereClause

SOQL WHERE clause used by the SF → QB Invoice batch job to filter which invoice sync records to process. Protected — modify with caution.

WHERE Process_via_Batch__c = true AND Status__c != 'Failed'

BatchSFQBProductSync_WhereClause

SOQL WHERE clause used by the SF → QB Product batch job to filter which product sync records to process. Protected — modify with caution.

WHERE Process_via_Batch__c = true AND Status__c != 'Failed'

BatchSFQBVendorSync_WhereClause

SOQL WHERE clause used by the SF → QB Vendor batch job to filter which vendor sync records to process. Protected — modify with caution.

WHERE Process_via_Batch__c = true AND Status__c != 'Failed'

BulkInvoiceFieldConfig

JSON array defining the columns shown in the Bulk Invoice creation UI. Each entry specifies fieldName, dataType, isRequired, and lookupType for lookup fields.

JSON with 7 fields: QuickbooksCompanyId, CustomerId, ProductId, InvoiceDate, Terms (Days), Quantity, UnitPrice

SalesTermMapping

JSON map that translates QuickBooks sales term names to their equivalent number of days. Used to convert QB payment terms during sync.

{"Net30": 30, "Net60": 60, "Net90": 90}


Notes

  • BatchAllQBSF* records are empty by default — the batch jobs will process every record. Populate Value__c with a valid SOQL WHERE clause (including the WHERE keyword) to filter for large orgs.

  • BatchSFQB* records are marked protected. Their default clause ensures only records queued for batch processing and not already failed are picked up. Changing these can affect core sync reliability.

  • JSON config records (AdminConsoleHelpTextConfig, AutoMatch_QBCustomerJson, BulkInvoiceFieldConfig, SalesTermMapping) store structured JSON — ensure the JSON remains valid after any edits.