Return to site

QuickBooks Online – BizMerlin Integration

May 10, 2019 · Integrating BizMerlinHR with 3rd Party Applications,

I. Linking QuickBooks and BizMerlin

  1. Setup QuickBooks in Third Party Integrations
    1. Linking QuickBooks in your BizMerlin account:
      1. Go to the top right “Setup” menu and scroll down and click on “Third Party Integrations”: Setup-> Third Party Integrations
      2. On the Third Party Integrations page, click on the button “New Integrations” and choose “Financial” from combo-box.
      3. Choose ‘Quick Books Online’ from grid.
      4. Save the Integration.
    2. Creating pull/push functions:
      1. Select the QuickBooks integration on the Third Party Integrations page.
      2. On the integration view page, there is a section for creating pull/push functions.
      3. Click on add function button and select object and function name, then click the save button.
      4. (If you create a pull function for an account object only then Pull from QuickBooks button will be displayed on the Account home page.)
  2. Create a “Contact”  for Accounts:
    1. Go to the top “Allocations” menu and click on “Accounts”
    2. On accounts home page, click on “Contacts” link and then on “New Contact” to create a contact. This contact’s email will be required to create the customer in QuickBooks.

Note: If the contact does not have an email linked to it, then the account will not get created in QuickBooks.

II. Automatic Client Creation from BizMerlin Account

Note: QuickBooks “Customers” are treated as “Accounts” in BizMerlin

This BizMerlin- QuickBooks integration allows to sync the creation of “Clients/Accounts”: 

  1. Option 1: Pull “Customers” from QuickBooks

    1. In BizMerlin, go to the top menu “Account”.
    2. Click connect to QuickBooks button and fill all details for login to QuickBooks account for connectivity.
    3. After the authorization step, click pull from QuickBooks button. Your all QuickBooks Customers will be saved in BizMerlin.
    4. The Customer ID and Customer Balance of QuickBooks are saved in custom fields for Accounts respectively.
  2. Option 2: Creating New “Accounts” in BizMerlin and syncing with “Clients” in QuickBooks

    1. In BizMerlin go to the top menu “Account” and click “New Account”
    2. Fill in all the required fields except for “qb.account.Id”. When your new account is saved in BizMerlin, the system will automatically create a new client in QuickBooks
    3. The Client ID generated by QuickBooks will automatically be pulled to BizMerlin’s Account field
  3. Option 3: Creating BizMerlin new accounts with existing clients in QuickBooks

    1. If the client already exists in QuickBooks (and therefore already has a client ID) go to  the top menu “Account” and click “New Account”
    2. To link the existing client in QuickBooks with the Account in BizMerlin, fill in the “qb.account.Id” with the corresponding QuickBooks client ID  and save the Account. 
    3. If for whatever reason, you don’t want to create a client in QuickBooks for a particular Account in BizMerlin, then simply fill in the “qb.account.Id” field with “0”.  BM will not create a new client in QuickBooks.  BM will leave the value of 0 in that field.

Failure Conditions

  • If you do not supply a contact email, client creation will fail in QuickBooks.
  • If the QuickBooks client email is not unique, client creation will fail in QuickBooks.

Success Outcome

  • If client successfully gets created in QuickBooks, then BizMerlin will store the value received from QuickBooks in qb.account.Id.

III. Automatic Invoice Creation from BizMerlin Project Invoice

The main purpose of this flow is to create an invoice in QuickBooks from the invoice function in BizMerlin.

    1. Create a project invoice in BizMerlin just like you would manually, or through the recurring schedule.
    2. When an invoice is created in BizMerlin, BizMerlin will automatically create that invoice in QuickBooks.
    3. BizMerlin stores the QuickBooks invoice id on the invoice as field.

IV. Automatic Account Balance and Past Due Update

BizMerlin retrieves the account balances every 24 hours and updates the optional custom fields with that information.

V. Update expense/invoice

This is not currently supported.  If you want to modify an invoice, you need to modify it directly in QuickBooks

VI. Other Items

 In case we want to adjust the amount of invoice we can do this through invoice.update call.

  • Invoice list for the customer on site administration page through invoice.list call
  • We will use the client_Id generated by QuickBooks at the time of customer creation to fetch the list of invoices for that customer with the status of those invoices. We will give the link to payment along with the above-calculated amount from where the user will be redirected to QuickBooks gateway where he can use his credit card for payments.
  • Redirecting user back to the application after payment. [This option is provided on the invoice.create API call]

 VII. Synchronize Time Cards

This feature provides ability to push Time Cards to your QuickBooks account.To push Time Cards to QuickBooks account follow these steps:

  • Go To Time Cards Approval page, there you see a button ‘Synchronize with QB’.
  • Clicking this button will open up a new page where a list of Time Cards will be shown which have not been pushed to QuickBooks account yet.
  • You can select multiple Time Cards from list and push them to your QuickBooks account by clicking ‘Synchronize Time Cards’ button.

Note: Maximum 10 Time Cards can be pushed in a single request.