Hi everyone,
I’m currently building an inventory system in AppSheet and would like to integrate it with QuickBooks so that transactions created in AppSheet (e.g., sales orders, invoices, or purchase orders) automatically create corresponding records in QuickBooks.
Specifically, I’m looking to:
• Create invoices or sales receipts in QuickBooks from AppSheet
• Possibly sync customers and items
• Push records automatically when a sale is completed
What is the best approach to achieve this?
1 Like
Hi @giddy_tech.
I solved this, not with QuickBooks but with another accounting package used in my home country.
These packages allow to import records from external sources xls, csv or gsheets and in my case i am also allowed access to the internal database tables.
So I use an intermediate gsheet. This is written by a bot in the App with the invoice’s data (or whatever doc) in the required format, and it passes in a specific field the RefId for that transaction in AppSheet. This way you can track it once imported.
Sometimes this invoice affects or kills another transaction (a PO, etc) which you can model in the intermediate file.
I use a python program that looks at this intermediate gsheet, pushes the import to the destination package, and marks it as done (you may check for errors here).
I grant access to a copy of the Products, Customers and Records tables of the package to my AppSheet app.
With this you can:
- “extend” these tables properties and columns to meet your specific app needs. One example, usually these packages allow unit conversion between similar units (kilos to pounds) but for some products you will need meters to kilos, etc. You can implement this in your app.
- see when your invoice “arrived” or is in your destination package and keep a two way table of your id to QuickBooks Id.
Caveats:
- criterion for rounding numbers. Dialog between the apps can be a pain in the back.
- Multi-users in AppSheet (this is independent of QuickBook, only relates to your app) can be a source of problems. I.e. The warehouse user has completed the order but his sync arrives after the sales guy has pushed the invoice. You need to forsee things like this.
2 Likes
Some things can be achieved through the QuickBooks REST API; however, there are certain limitations on the REST API.
Quickbooks also has various SDKs for development in different languages. You would need to build program that interfaces with both your quickbooks as well as your AppSheet App. You can then put that program on either a timed execution or you could potentially call your endpoint from your appsheet app (depending on how frequently you need to “sync” the two systems).
Our organization has done this on a couple of occasions. Custom Integrations are never fun, but with AI, these projects are much more approachable and affordable.
1 Like
Download the .csv from sheets
Spin up claude code ask for what you need. Even have it do googlesheets api stuff for automation.
Ive created massive automation actions in appsheet before for around 300k rows doing queue scheduling, took me days worth of work to set up. Ai coding database operations to export stuff broke me honestly. Took me a few hours the first time but it is solid and repeatable with variable changes etc
2 Likes