Skip to content

Soumiya-mohan/App-Integration-QBO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 

Repository files navigation

App-Integration-QBO

Proof of concept for Project Management tool integration with Quickbooks Online

The problem

Small business owners face significant challenges when managing projects and finances manually. Using separate systems - Asana for project management and QuickBooks for accounting often leads to inefficiencies, data discrepancies, and time-consuming manual entries. This fragmented approach increases the risk of errors, delays in invoicing, and difficulty in tracking payments. The lack of integration between these tools hinders seamless workflow automation, making it hard for small businesses to scale effectively and focus on growth.

The solution

Small business owners can automate transactions between project management tools and QuickBooks, creating a seamless and efficient workflow. This proof of concept aims to highlight that this automation can be achieved through Webhooks triggers & API actions. Webhooks can trigger real-time updates, such as creating/closing tasks in Asana for order management, while API calls can automatically log and update items & invoices in QuickBooks. User security is ensured through OAuth authentication. This integration reduces manual data entry, minimizes errors, and ensures data consistency across platforms. Automating these processes saves time, improves accuracy, and allows small businesses to focus on growth and customer satisfaction.

This README page focuses on automating the user data flow between Asana and Quickbooks Online:

  • Login into Asana
  • Create task for new order tracking in Asana. Assign a service/item to task
  • Track/update the ordered item or service details in Quickbooks.
  • Create invoices of the service/item in QuickBooks.
  • Track if payments were made in Asana.

The technical app integration for the above user flow is as follows:

  • User Authentication: OAuth tokens are exchanged with middleware app to authenticate users securely for both Asana and QuickBooks.
  • Webhook Listener: A webhook listener is set up to receive and process events from Asana.
  • Data Processing: Received data is mapped and validated to ensure it meets the requirements of the QuickBooks API.
  • QBO API Calls: API calls are made to QuickBooks to perform actions such as creating or updating items and invoices.
  • Feedback Loop: QBO API responses mapped and sent back to Asana and posted as task

Requirements

Installation

  • Clone the GitHub repo to your computer
  • Fill in your config.py file values by copying over from the keys section for your app
  • Install ngrok for Flask. Set ngrok auth token

Running the app

cd to the project directory

pip install -r requirements.txt

Run the command python3 app.py for MacOS/Linux

Run ngrok http 5000

open a browser and enter http://localhost:5000

Next, setup the webhook by running command python3 webhook.py

Authentication

QuickBooks Authorization: Click the button 'Connect to QuickBooks'. Authenticate and authorize the application. You will be redirected back to the application, and receive the access token .

Asana Authorization: Click the button 'Connect to Asana'. Authenticate and authorize the application. You will be redirected back to the application, and receive the access token

About

Proof of concept for Asana PM tool integration with Quickbooks Online

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published