QuickBooks
QuickBooks is an accounting software package developed by Intuit.
Bruin supports QuickBooks as a source for Ingestr assets, so you can ingest data from QuickBooks into your data warehouse.
To connect to QuickBooks you must add a configuration item to the .bruin.yml file and the asset file. You will need company_id, client_id, client_secret and refresh_token.
Follow the steps below to correctly set up QuickBooks as a data source and run ingestion.
Step 1: Add a connection to .bruin.yml file
Add the connection configuration to the connections section of .bruin.yml:
yaml
connections:
quickbooks:
- name: "quickbooks"
company_id: "123456"
client_id: "cid"
client_secret: "csecret"
refresh_token: "rtoken"
environment: productioncompany_id: The QuickBooks company (realm) id.client_id: OAuth client id from your Intuit application.client_secret: OAuth client secret.refresh_token: OAuth refresh token used to obtain access tokens.environment: Optional environment name, either production or sandbox. Defaults to production.
Step 2: Create an asset file for data ingestion
Create an asset configuration file to define the data flow:
yaml
name: public.quickbooks_customers
type: ingestr
parameters:
source_connection: quickbooks
source_table: 'customers'
destination: postgressource_connection: name of the QuickBooks connection defined in.bruin.yml.source_table: QuickBooks table to ingest. Available tables:
| Table | PK | Inc Key | Inc Strategy | Details |
|---|---|---|---|---|
| customers | id | lastupdatedtime | merge | Retrieves list of customers. |
| invoices | id | lastupdatedtime | merge | Retrieves sales invoices. |
| accounts | id | lastupdatedtime | merge | Retrieves details of accounts. |
| vendors | id | lastupdatedtime | merge | Retrieves vendor records. |
| payments | id | lastupdatedtime | merge | Retrieves payments recorded. |
destination: name of the destination connection.
Step 3: Run asset to ingest data
bruin run assets/quickbooks_asset.ymlExecuting this command ingests data from QuickBooks into your Postgres database.
