# QuickBooks

### Snapshot

| Features                        | Details                                            |
| ------------------------------- | -------------------------------------------------- |
| Release Status                  | Released                                           |
| Source API Version              | v2                                                 |
| Table Selection                 | Yes                                                |
| Column Selection                | Yes                                                |
| Edit Integration                | Yes                                                |
| Replication Type Selection      | No                                                 |
| Authentication Parameters       | <p>Quickbooks email<br>Quickbooks password</p>     |
| Replication Type                | <p>Full Replication <br> Key based Replication</p> |
| Replication Key                 | <p>NA <br> DATE</p>                                |
| Suggested Replication Frequency | 24 hrs                                             |

| Tables/APIs Supported |           |
| --------------------- | --------- |
| Bills                 | Accounts  |
| Companyinfo           | Invoice   |
| Preferences           | Purchase  |
| Vendor                | TaxAgency |
| Payment               | Item      |
| Employee              | Customer  |

### Integrate Quickbooks with Daton

1. Signin to Daton&#x20;
2. Select quickbooks from Integrations page
3. Provide Integration Name Replication Frequency and History. Integration name would be used in creating tables for the integration and cannot be changed later&#x20;
4. Provide your quickbooks account email and Password.
5. After providing the email and password it prompts for the company, select the company to authorize Daton to periodically extract data from quickbooks.
6. Post successful authentication you will be prompted to choose from the list of available tables
7. Then select all required fields for each table
8. Submit the integration.

### Workflow

1. Integrations would be in Pending state initially and will be moved to Active state as soon as the first job loads data successfully on to the configured warehouse
2. Users would be able to edit/pause/re-activate/delete integration anytime
3. Users can view job status and process logs from the integration details page by clicking on the integration name from the active list

### QUICKBOOKS Data

**Bills**

Purpose: Returns all the results of bills.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/bill#query-a-bill>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                 | Target Datatype |
| -------------------- | --------------- |
| DueDate              | DATE            |
| Balance              | NUMERIC         |
| domain               | STRING          |
| sparse               | BOOLEAN         |
| Id                   | INTEGER         |
| SyncToken            | STRING          |
| MetaData             | RECORD          |
| TxnDate              | DATE            |
| CurrencyRef          | RECORD          |
| Line                 | RECORD          |
| TxnTaxDetail         | RECORD          |
| VendorRef            | RECORD          |
| APAccountRef         | RECORD          |
| TotalAmt             | NUMERIC         |
| GlobalTaxCalculation | STRING          |

**Accounts**

Purpose: Returns a list of all the accounts.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account#query-an-account>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                          | Target Datatype |
| ----------------------------- | --------------- |
| Name                          | STRING          |
| SubAccount                    | BOOLEAN         |
| FullyQualifiedName            | STRING          |
| Active                        | BOOLEAN         |
| Classification                | STRING          |
| AccountType                   | STRING          |
| AccountSubType                | STRING          |
| CurrentBalance                | NUMERIC         |
| CurrentBalanceWithSubAccounts | NUMERIC         |
| CurrencyRef                   | RECORD          |
| domain                        | STRING          |
| sparse                        | BOOLEAN         |
| Id                            | INTEGER         |
| SyncToken                     | STRING          |
| MetaData                      | RECORD          |

**Companyinfo**

Purpose:Returns the results of all the companies and their info.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/companyinfo#query-companyinfo>

Replication: Full Replication

Replication Key: NA

**Fields**

| Name                      | Target Datatype |
| ------------------------- | --------------- |
| CompanyName               | STRING          |
| LegalName                 | STRING          |
| CompanyAddr               | RECORD          |
| CustomerCommunicationAddr | RECORD          |
| LegalAddr                 | RECORD          |
| CompanyStartDate          | DATE            |
| FiscalYearStartMonth      | STRING          |
| Country                   | STRING          |
| Email                     | RECORD          |
| SupportedLanguages        | STRING          |
| NameValue                 | RECORD          |
| domain                    | STRING          |
| sparse                    | BOOLEAN         |
| Id                        | INTEGER         |
| SyncToken                 | STRING          |
| MetaData                  | RECORD          |

**Invoice**

Purpose:Returns a result of all the invoices generated.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/invoice#query-an-invoice>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                         | Target Datatype |
| ---------------------------- | --------------- |
| AllowIPNPayment              | BOOLEAN         |
| AllowOnlinePayment           | BOOLEAN         |
| AllowOnlineCreditCardPayment | BOOLEAN         |
| AllowOnlineACHPayment        | BOOLEAN         |
| domain                       | STRING          |
| sparse                       | BOOLEAN         |
| Id                           | INTEGER         |
| SyncToken                    | STRING          |
| MetaData                     | RECORD          |
| DocNumber                    | INTEGER         |
| TxnDate                      | DATE            |
| CurrencyRef                  | RECORD          |
| LinkedTxn                    | RECORD          |
| Line                         | RECORD          |
| TxnTaxDetail                 | RECORD          |
| CustomerRef                  | RECORD          |
| FreeFormAddress              | BOOLEAN         |
| SalesTermRef                 | RECORD          |
| DueDate                      | DATE            |
| GlobalTaxCalculation         | STRING          |
| TotalAmt                     | NUMERIC         |
| PrintStatus                  | STRING          |
| EmailStatus                  | STRING          |
| Balance                      | NUMERIC         |
| DiscountAmt                  | NUMERIC         |

**Preferences**

Purpose:Returns a result of all the preferences.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/preferences#query-preferences>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                    | Target Datatype |
| ----------------------- | --------------- |
| AccountingInfoPrefs     | RECORD          |
| ProductAndServicesPrefs | RECORD          |
| SalesFormsPrefs         | RECORD          |
| EmailMessagesPrefs      | RECORD          |
| VendorAndPurchasesPrefs | RECORD          |
| TimeTrackingPrefs       | RECORD          |
| TaxPrefs                | RECORD          |
| CurrencyPrefs           | RECORD          |
| ReportPrefs             | RECORD          |
| domain                  | STRING          |
| sparse                  | BOOLEAN         |
| Id                      | STRING          |
| SyncToken               | STRING          |
| MetaData                | RECORD          |

**Purchase**

Purpose: Returns a list of all the purchases made.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/purchase#query-a-purchase>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                 | Target Datatype |
| -------------------- | --------------- |
| AccountRef           | RECORD          |
| PaymentType          | STRING          |
| TotalAmt             | NUMERIC         |
| PrintStatus          | STRING          |
| GlobalTaxCalculation | STRING          |
| PurchaseEx           | RECORD          |
| domain               | STRING          |
| sparse               | BOOLEAN         |
| Id                   | INTEGER         |
| SyncToken            | STRING          |
| MetaData             | RECORD          |
| DocNumber            | STRING          |
| TxnDate              | DATE            |
| CurrencyRef          | RECORD          |
| Line                 | RECORD          |

**Vendor**

Purpose:Returns list of all the vendors.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/vendor#query-a-vendor>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                | Target Datatype |
| ------------------- | --------------- |
| Balance             | NUMERIC         |
| Vendor1099          | BOOLEAN         |
| CurrencyRef         | RECORD          |
| GSTIN               | STRING          |
| GSTRegistrationType | STRING          |
| domain              | STRING          |
| sparse              | BOOLEAN         |
| Id                  | INTEGER         |
| SyncToken           | STRING          |
| MetaData            | RECORD          |
| DisplayName         | STRING          |
| PrintOnCheckName    | STRING          |
| Active              | BOOLEAN         |

**TaxAgency**

Purpose:Returns a list of all the taxes generated.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/taxagency#query-a-taxagency>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                  | Target Datatype |
| --------------------- | --------------- |
| TaxTrackedOnPurchases | BOOLEAN         |
| TaxTrackedOnSales     | BOOLEAN         |
| domain                | STRING          |
| sparse                | BOOLEAN         |
| Id                    | INTEGER         |
| SyncToken             | STRING          |
| MetaData              | RECORD          |
| DisplayName           | STRING          |

**Payment**

Purpose:Returns a list of all the payments.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/payment#query-a-payment>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                | Target Datatype |
| ------------------- | --------------- |
| CustomerRef         | RECORD          |
| DepositToAccountRef | RECORD          |
| PaymentMethodRef    | RECORD          |
| PaymentRefNum       | INTEGER         |
| TotalAmt            | NUMERIC         |
| UnappliedAmt        | NUMERIC         |
| ProcessPayment      | BOOLEAN         |
| domain              | STRING          |
| sparse              | BOOLEAN         |
| Id                  | INTEGER         |
| SyncToken           | STRING          |
| MetaData            | RECORD          |
| TxnDate             | DATE            |
| CurrencyRef         | RECORD          |
| Line                | RECORD          |

**Item**

Purpose:Returns the list of all the items boughtsold by the company.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/item#query-an-item>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                | Target Datatype |
| ------------------- | --------------- |
| Name                | STRING          |
| Active              | BOOLEAN         |
| FullyQualifiedName  | STRING          |
| Taxable             | BOOLEAN         |
| SalesTaxIncluded    | BOOLEAN         |
| UnitPrice           | NUMERIC         |
| Type                | STRING          |
| IncomeAccountRef    | RECORD          |
| PurchaseTaxIncluded | BOOLEAN         |
| PurchaseCost        | NUMERIC         |
| TrackQtyOnHand      | BOOLEAN         |
| AbatementRate       | NUMERIC         |
| ReverseChargeRate   | NUMERIC         |
| domain              | STRING          |
| sparse              | BOOLEAN         |
| Id                  | INTEGER         |
| SyncToken           | STRING          |
| MetaData            | RECORD          |

**Employee**

Purpose: Returns the list of all the employees in the company.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/employee#query-an-employee>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name             | Target Datatype |
| ---------------- | --------------- |
| EmployeeNumber   | STRING          |
| SSN              | STRING          |
| PrimaryAddr      | RECORD          |
| BillableTime     | BOOLEAN         |
| BillRate         | NUMERIC         |
| BirthDate        | DATE            |
| Gender           | STRING          |
| HiredDate        | DATE            |
| ReleasedDate     | DATE            |
| V4IDPseudonym    | STRING          |
| domain           | STRING          |
| sparse           | BOOLEAN         |
| Id               | INTEGER         |
| SyncToken        | STRING          |
| MetaData         | RECORD          |
| Title            | STRING          |
| GivenName        | STRING          |
| FamilyName       | STRING          |
| DisplayName      | STRING          |
| PrintOnCheckName | STRING          |
| Active           | BOOLEAN         |

**Customer**

Purpose: Returns the list of all the customers.

Source API Documentation  <https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/customer#query-a-customer>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                    | Target Datatype |
| ----------------------- | --------------- |
| Taxable                 | BOOLEAN         |
| Job                     | BOOLEAN         |
| BillWithParent          | BOOLEAN         |
| Balance                 | NUMERIC         |
| BalanceWithJobs         | INTEGER         |
| CurrencyRef             | RECORD          |
| PreferredDeliveryMethod | STRING          |
| IsProject               | BOOLEAN         |
| GSTRegistrationType     | STRING          |
| domain                  | STRING          |
| sparse                  | BOOLEAN         |
| Id                      | INTEGER         |
| SyncToken               | STRING          |
| MetaData                | RECORD          |
| GivenName               | STRING          |
| FullyQualifiedName      | STRING          |
| DisplayName             | STRING          |
| PrintOnCheckName        | STRING          |
| Active                  | BOOLEAN         |
