For integrated accounting, Centerbase offers direct integration with QuickBooks Online through their API. Integration with QBO requires a few steps and some consideration to how the client will manage their data in QBO vs. Centerbase.
Connecting to QuickBooks Online
If the client has an existing account with QuickBooks Online, then they may connect it to Centerbase through the System Settings > QuickBooks page. Clicking icon opens an external QuickBooks login dialogue. There is only one connection login per Centerbase instance, so this account should have the necessary permissions to manage QuickBooks.
Once connected, users can check the Upon save always push to QuickBooks setting for payments which will push the payment to QBO upon creation. It is recommended that this setting is turned on to ensure the two systems are in sync.
The next step in setting up the integration will be to create a new Billing Code named Credit Memo (Class = None) which will be used for pushing credits to QBO. All other fee billing codes (including L and A codes) should have a Class = Time and Expense codes (including E codes) should have Class = Expense.
Before pushing anything to QBO, users should complete the settings configuration including the Fee Income, Expense Income and Expense accounts, plus the Credit Memo Item (which should be the Credit Memo billing code just created). Clicking the icon will sync all the billing codes in Centerbase with the Products and Services in QBO setting the associated fee income and expense income accounts as necessary.
Pushing Data to QuickBooks Online
Depending on the status of the client’s QuickBooks account (new to QuickBooks or current customers) you may need to adjust what we push in mass over to QuickBooks Online.
If the client does not have any A/R or payment data in QBO, then you may not need to push over anything as it will be pushed upon save of a new payment or updates to the invoice. On the other hand, the client may want all historical data pushed to QBO, in which case you will need to push everything.
Often, the client has been using QuickBooks already and already has data available in QBO. In this case, we only want to push over invoices that have an open balance not equal to the total invoice value (i.e. invoices that have received partial payments). We push these invoices over because there are payments that will come over with them, which may be duplicates if manually entered already into QBO. Before pushing anything, the client’s accountant should be involved to ensure everything is in balance upon completion of the sync. To ensure balance, the accountant will need to make adjusting entries to offset the duplicate payments created by the partially paid invoices.
Once everything is in balance, users should push any remaining open invoices (unpaid invoices) to balance A/R. Users may then begin creating new payments and pushing them to QBO using the checkbox in the upper right-hand corner of the payment dialogue. If the invoice that the payment is being applied to is not in QBO for whatever reason, this will also sync the invoice with QBO. There is a visual indicator on invoices, payments and clients to let the user know whether the record is fully synced with QBO.
- Red: Exists in Centerbase but does not exist in QBO
- Yellow: The record in Centerbase does not match the record in QBO
- Green: The record in Centerbase matches the record in QBO
Potential Sync Issues
There are many reasons a record may have issue syncing with QuickBooks. Centerbase offers some feedback from the QBO API to inform the user of why a certain sync failed.
From the Client level, QuickBooks does not allow a Customer (Client in Centerbase) and a Vendor to have the same name. Generally, the vendor is renamed to denote that it is a vendor instead of client.
If the client name already exists in QBO, then the user will be prompted to connect the two together with a QuickBooks ID. This field is available on the client, invoice and payment along with a QuickBooks LastSynced date field. Updating the QuickBooks Id field by editing the Centerbase record will connect the two (in this case the ID is 81).
One final common occurrence that causes issues with the sync of customers is QuickBooks Online’s character limit for customers, which is set to 50. The name of the record in Centerbase must be truncated to be less than or equal to 50 characters. If the client does not want to modify their Centerbase data, another field may be created specifically for syncing with QBO, and the setting for Display Name under Customer Information in the QuickBooks System Settings can be changed to the new field name.
Invoices may be pushed to QBO in mass from the invoices grid. Selecting multiple invoices, then right-clicking and selecting Push to QuickBooks will begin the sync process. Any invoice that can be synced will and those that could not be will be shown in an error (below). Opening the trouble invoices and manually syncing the record by pushing the QB Sync button in the upper right will give more details on why the invoice failed to update. Sometimes the client needs to be pushed manually in order to successfully push the invoice.
It is recommended that users do not sync invoices with QBO until they are ready to post the invoice. In fact, Centerbase offers the opportunity to push to QBO during the posting process. Only pushing posted invoices ensures that the invoices are final and ready to become part of the A/R.
There are certain limitations of the QBO integration, including:
- Centerbase cannot delete records pushed to QBO. If we create a payment and push it to QBO, then later decide to delete the payment, then the payment must be manually deleted from QBO.
- Centerbase does not currently integrate trust accounting with QBO, so no trust accounts or transactions will be pushed to QBO and will need to be created manually.
- Integration is Client based, so Matters do not push over.
Occasionally, QuickBooks Online may go down or have connection issues. To access outage information, visit: http://status.developer.intuit.com/.