Skip to main content

I was able to create a Zap that creates an invoice in QuickBooks when an Opportunity of a certain record type is created in Salesforce. It finds the related customer account and creates the pledge invoice, no problem.

Now I need to update the QuickBooks invoice to Received when the Salesforce Opportunity is updated to Received and vice versa. I can’t figure out how to match the QuickBooks invoice to the Salesforce Opportunity to do the update. Has anyone done this before? Can I do this with a Zap or do I need to use Transfer?

Hi @TheCRMFirm 

Good question.

FYI: Zaps are meant for 2-way data syncs: https://zapier.com/help/create/basics/does-zapier-support-two-way-syncing

One options is to add another step to your initial Zap that will store the QBO invoice ID in a custom field on the Salesforce Opportunity record for reference in the new Zap.

Otherwise, try these Zap steps.


Thank you @Troy Tessalone! This is super helpful. To mark the invoice as Received in QuickBooks, what field should I update? Or do I need to create a payment against the invoice?


@TheCRMFirm 

Not sure if there is a field in the QBO Update Invoice to adjust the Invoice Status.


Hiya @TheCRMFirm!

I wanted to swing by and mention @Troy Tessalone was right. This doesn’t appear to be possible at the moment, primarily due to limitations in the QBO API. Full transparency I’m going off this thread in their community.

Could be something worth bringing up to them that you’d also be interested in this though!

Sorry to not have better news but appreciate you joining and asking in the Zapier community. 🧡


It turns out that the client wants only to update in one direction. So when a QBO invoice is marked paid, then we use Zapier to update the Stage to Received in Salesforce. In a previous zap, we had stamped the QBO invoice number on the Salesforce opportunity so we could find it when the QBO invoice is paid.


Hi @TheCRMFirm👋

In that case you’d need an “Updated Invoice” type of trigger that could run when the invoice’s status is marked as paid. There’s an existing feature request open for that type of trigger so I’ve added your vote to that. We’ll email you as soon as that trigger gets added to the QuickBooks Online app.

There’s already a related topic in Community that’s associated with that feature request so we’ll be posting any news we have to share over there: 

In the meantime, there’s a workaround you can try that’s mentioned on that related thread. Essentially you’d set up a webhook in Quickbooks to run when an invoice’s status is changed to “paid”. So you’d have the webhook trigger the Zap and update Salesforce using the following trigger and actions:


Hope that helps. Please do let us know whether you’re able to get that working using the suggested workaround! 🙂