SeedCodeComplete2

QuickBooks

QuickBooks integration was introduced in version 3.0 of SeedCode Complete.

Overview

SeedCode Complete is pre-wired to push information to QuickBooks using the FMBooks Connector Plug-In by Productive Computing (available separately).

We've set up the basics if sending Contacts, Jobs, Bids, Invoices, and Payments to QuickBooks, and done so in such a way that an intermediate to advanced developer can extend this to add their own QuickBooks functionality. Of course, SeedCode is also available to help you make changes for you.

For example, out of the box SeedCode Complete will push new contacts to QuickBooks and/or link an existing FileMaker contact with an existing contact in QuickBooks, but we aren't pulling all QuickBooks contacts into FileMaker. Similarly, if you record payments in FileMaker we'll push those to QuickBooks but won't pull in payments created in QuickBooks. This can all be changed, however, so get in touch if you'd like a quote for modifying some of these default behaviors.

For more on how this works and what the integration looks like, check out this video demonstrating the integration between Complete and QuickBooks:

QB Integration on YouTube

Requirements

Integrating with SeedCode Complete with QuickBooks requires the FMBooks Connector Plug-In by Productive Computing.

The FMBooks Connector Plug-In takes advantage of the QuickBooks SDK, which can only be used on Windows clients, though it does work very well on Parallels. SeedCode Complete 3.0 requires FileMaker 11 or higher.

The Plug-In does require that both FileMaker and Quickbooks be running on the same Windows client in order to communicate.

Setting up QB Integration

SeedCode Complete 3.0 has QuickBooks integration built into it, and only requires that you configure a few settings to get up and running.

Staff Set Up

In the staff section of the Settings layout there is now a check box for designating who is a QuickBooks user. When checking this box, you will be prompted to enter your license for the FMBooks Connector Plug-In. This will be stored in the staff record, and the plug-in will be registered for this user when logging in with the appropriate account. (Note that you'll also want to make sure the staff account name matches their account name in FileMaker so SeedCode knows who is logged in.)

Item Set Up

If you are going to be posting Invoices in QuickBooks from SeedCode Complete, then you need to specify how the items in SeedCode Complete correspond to the Items in QuickBooks. This is done on the Items tab in the Settings layout. You can either create a value list based on the QuickBooks items, and then assign the appropriate value to your SeedCode items, or you can just import all of your existing QuicKbooks items into the Items table in SeedCode Complete. Buttons for both options are on the Items Tab. The ability to push SeedCode's items into QuickBooks does not come with SeedCode Complete 3.0, but this could be added since this ability is supported by the QuickBooks SDK.

Value Lists based on QuickBooks Data

When creating records in QuickBooks it is often necessary to include a value that QuickBooks is expecting. In these situations SeedCode Complete will have buttons for creating Value Lists based on QuickBooks data. Using these Value Lists when specified will assure that your record is created properly in QuickBooks. The values are all returned to the table QB_Lists in SeedCodeData, and use simple calculations to specify the different Value Lists by type.

Integrated Tables

Customers

Creating Customers. Customers can be created in QuickBooks from either Companies or Contacts in SeedCode Complete. The customer name is the only required field for doing this, but we recommend pushing the Terms for the customer to make sure that value is populated right away. We've provided a button for creating a Terms Value List based on QuickBooks data on the QuickBooks tab for both Companies and Contacts. When a customer is created in QuickBooks then the QuickBooks List ID will be returned to the SeedCodeComplete record. This ID is required for creating any related entities to that customer from SeedCode Complete.
Linking Customers. Customers that already exist in QuickBooks can also be associated with Contacts or Companies in SeedCode Complete by looking up the QuickBooks customer and assigning their QuickBooks List ID back to the appropriate SeedCode Complete record.
Importing Customers. The ability to import Customers from QuickBooks is not built into SeedCode Complete 3.0. This kind of import is supported by the QuickBooks SDK, and could be added in as needed. Please contact us for assistance with this if this mod if required by your organization.

Jobs

Creating Jobs. Jobs can be created in QuickBooks from Projects in SeedCode Complete. Creating Jobs requires that the associated Customer exists in QuickBooks. In SeedCode Complete, Projects can be associated with both Companies and Contacts, so you will need to specify to which entity the Job is going to be posted, and that entity must have a QuickBooks List ID.
Linking Jobs. Jobs that already exist in QuickBooks can also be associated with Projects in SeedCode Complete by looking up the QuickBooks customer and assigning their QuickBooks List ID back to the Project Record.
Importing Jobs. The ability to import Jobs from QuickBooks is not built into SeedCode Complete 3.0. This kind of import is supported by the QuickBooks SDK, and could be added in as needed. Please contact us for assistance with this if required by your organization.

Invoices

Creating Invoices. Invoices can be created in QuickBooks from Invoices in SeedCode Complete. Invoices can be associated with Companies, Contacts and Projects, so you will need to specify to which entity the Invoice is to be posted. Invoice line items do need to be associated with QuickBooks Items. We've discussed how to set this up in the Item Set Up section above. We've also provided some more specific QuickBooks fields on the Invoice QuickBooks tab that are typical for Invoice creation. The ability to create Value Lists based on the QuickBooks data has been provided as a button below each one of these fields.
Tax. Tax rates must be specified by their "Item Name" in QuickBooks. We have provided the ability to create a Value List of these items that can be assigned on the QuickBooks Tab in Invoices. We've also created a value list of the corresponding rates for the tax rate field on the Invoice Line Items tab. We're using script triggers on both fields to keep them in sync, so the tax rate in SeedCode Complete and in QuickBooks will be sure to match.
Discounts and Shipping. In SeedCode Complete, these are fields that exist in the Invoice table itself. However, these fields do not exist at the Invoice level in QuickBooks and can only be added as line items. We are handling this is in our field mapping, but since they are line items in QuickBooks, they will need to be associated with specific QuickBooks items. This can be specified on the field mapping layout QB Invoices in SeedCode Complete on the Shipping & Discount Charges tab.
Syncing Invoices. Invoices that already exist in QuickBooks can also be synced with Invoices in SeedCode Complete by looking up the QuickBooks Invoice and assigning their QuickBooks Transaction ID back to the Invoice Record. This will allow you to create payments in SeedCode Complete, and be able to post them to the corresponding Invoice in QuickBooks.
Importing Invoices. The ability to import Invoices from QuickBooks is not built into SeedCode Complete 3.0. This kind of import is supported by the QuickBooks SDK, and could be added in as needed. You can contact us for assistance with this if required by your organization.

Payments

Creating Payments. Payments can be posted to Invoices in QuickBooks as long as the Invoice has a QuickBooks Transaction ID. The Invoice will have a QuickBooks Transaction ID if it was successfully created in QuickBooks from SeedCode Complete or by Syncing the Invoice.
Importing Payments. The ability to import Payments from QuickBooks is not built into SeedCode Complete 3.0. This kind of import is supported by the QuickBooks SDK, and could be added in as needed. You can contact us for assistance with this if required by your organization.

Estimates

Creating Estimates. Estimates can be created in QuickBooks from Bids in SeedCode Complete. Estimates can be associated with Companies, Contacts and Projects, so you will need to specify to which entity the Invoice is to be posted. Estimate line items do need to be associated with QuickBooks Items. We've discussed how to set this up in the Item Set Up section above. We've also provided some more specific QuickBooks fields on the Estimate QuickBooks tab that are typical for Estimates creation. The ability to create Value Lists based on the QuickBooks data has been provided as a button below each one of these fields.
Tax. Tax rates must be specified by their "Item Name" in QuickBooks. We have provided the ability to create a Value List of these items that can be assigned on the QuickBooks Tab in Invoices. We've also created a value list of the corresponding rates for the tax rate field on the Invoice Line Items tab. We're using script triggers on both fields to keep them in sync, so the tax rate in SeedCode Complete and in QuickBooks will be sure to match.
Discounts and Shipping. In SeedCode Complete, these are fields that exist in the Invoice table itself. However, these fields do not exist at the Invoice level in QuickBooks and can only be added as line items. We are handling this is in our field mapping, but since they are line items in QuickBooks, they will need to be associated with specific QuickBooks items. This can be specified on the field mapping layout QB Invoices in SeedCode Complete on the Shipping & Discount Charges tab.
Importing Estimates. The ability to import Estimates from QuickBooks is not built into SeedCode Complete 3.0. This kind of import is supported by the QuickBooks SDK, and could be added in as needed. You can contact us for assistance with this if required by your organization.

Field Mapping

The field mapping between SeedCode Complete and QuickBooks is determined by the "QB" layouts in the SeedCodeComplete file. The fields themselves have been given object names which correspond to the "tags" used by the QuickBooks SDK. You can change the field mapping by entering into layout mode and redirecting the object to the field you'd like to use.

Adding Additional Field Mapping

You can add additional field mapping to the layouts as needed. For example, if you wanted to add PO Number to your Invoice mapping. You would first create the field in your Invoice table, and then add it to the layout QB Invoice. Finally you'll need to give the field object the appropriate name from the QuickBooks SDK. In this case it would be PONumber.

Discounts and Shipping Charges

In most cases the default mapping that we've set up will work as is, and is based on multiple integrations between FileMaker and QuickBooks using the FMBooks Connector Plug-In. An exception to this will be if you're using Discounts and/or Shipping in SeedCode Complete. These are fields that exist in the Invoice table in SeedCode Complete, but don't have equivalent fields in QuickBooks. Instead we will post these as line items when creating the Invoice in QuickBooks. As all line items must reference a QuickBooks item, then these items need to specified on the Shipping and Discount charges tabs on the QB estimates and QB Invoices layouts. Unlike the other field mapping, these line items will be specified in the static text provided on the layout. The default values here are "None" which will prevent either line items from being created in QuickBooks.

Tips for Using QuickBooks and SeedCode Complete

Coming soon.

(855) SEEDCODE
[email protected]
Follow us: