# Build quotes on your Bigin deals and invoice them in QuickBooks

> Open a deal, build a line-item quote from your product list, and turn it into a QuickBooks invoice without retyping a thing.

- Workflow type: app
- Services: Bigin by Zoho CRM, QuickBooks Online
- Categories: Finance, Sales
- Published: 2026-08-14

## What it does

- Turns any deal in your Bigin pipeline into a proper line-item quote, with quantity, unit price, and an optional per-line discount pulled from your product catalog.
- Keeps a running subtotal, tax, and total as you build, and saves the quote as a draft against the deal so a rep can stop halfway and pick it up later.
- Creates the invoice in QuickBooks Online with one button, matching the customer against your existing books first and adding them if they are new.
- Writes the quote total and invoice number back onto the deal as a note, and can move the deal to the stage you choose.

## What you'll need

- A Bigin by Zoho CRM account with your deals in Pipelines and your catalog in the Products module.
- A QuickBooks Online company where you raise your invoices.
- Permission to connect both accounts, so the app can read deals and products and create invoices on your behalf.
- A decision on which pipeline stage should unlock billing, so early-stage deals cannot be invoiced.

## Prompt

I want an internal quoting app for my sales team that sits on top of Bigin by Zoho CRM and pushes finished quotes into QuickBooks Online as invoices. Today my reps build quotes in a spreadsheet and then retype the same lines into accounting, and the total never makes it back to the CRM. This app should replace that ritual end to end.

The landing view is a searchable list of deals read from the Bigin Pipelines module. Show deal name, company, stage, amount, and closing date, with a search box that filters by deal or company name. Bigin requires the fields query parameter on every list read, taking comma separated field API names with a maximum of 50, so build that field list explicitly rather than expecting all fields to come back. The base URL is ${apiDomain}/bigin/v2 and every request needs the header Authorization: Zoho-oauthtoken ${accessToken}.

Opening a deal goes to the quote builder. The rep adds line items by picking products from the Bigin Products module through a searchable picker that prefills the unit price from the product record. Each line has a quantity, a unit price the rep can override, and an optional per line discount as either a percentage or a fixed amount. Show a live running subtotal, a tax line, and a grand total that recalculate as the rep edits. Let the rep add a free text line for anything not in the Products module, and let them reorder and delete lines.

Quote drafts are app side state, because Bigin has no quotes module to write them to. Save the draft against the deal id automatically as the rep edits, so someone can leave halfway through and finish later and so a teammate opening the same deal sees the work already in progress. Each deal holds its current draft plus a history of quotes that have already been invoiced, each with its invoice number attached.

The button that creates the invoice in QuickBooks is the payoff, and it must be gated. In a settings view let me pick the pipeline stage that unlocks billing, and only show the invoice button on deals at or past that stage, so nobody bills a deal that is still in discovery. Deals before the gate still get the full quote builder, just without the invoice button, plus a short line explaining why it is not available yet.

Customer matching happens before the invoice is created, and it should be visible to the rep rather than hidden. Take the company name from the Bigin Accounts record linked to the deal, plus the primary contact name and email from Contacts, and look for an existing QuickBooks customer. Important: the QuickBooks query language does not support OR conditions, so run the lookups sequentially instead of combining them, first matching on display name and then on the primary email address if the name lookup misses. Note also that LIKE only supports a percent sign as a suffix wildcard. Pin requests to minorversion 75. Show the rep which customer matched before the invoice goes out, and when nothing matches, use the Create Customer operation with the Bigin company name, contact name, email, and billing address, then carry on with the new customer id.

Then call the Create Invoice operation with the quote line items, quantities, unit prices, discounts, and a due date derived from the payment terms I configure, defaulting to net 30. Monetary amounts go over as decimal numbers rather than cents.

After the invoice comes back, write the result back into Bigin, and treat this as a first class part of the flow rather than an afterthought. Create a record in the Notes module on the deal recording the quote total, the invoice number, and the date it was raised. Then, if I have configured a post invoice stage, move the deal to that stage by updating the Pipelines record. Bigin wraps request bodies in a data array capped at 100 records, and responses return per record code and status values such as SUCCESS, DUPLICATE_DATA, and MANDATORY_NOT_FOUND, so a 200 response can still contain a per record failure. Check every per record result and surface failures in the UI instead of assuming the write succeeded.

Handle the QuickBooks side errors just as visibly, since a validation fault comes back with a message and a code. If the invoice was created but the Bigin write back failed, say so explicitly and offer a retry for the write back alone, so the rep is never left guessing whether they just double billed a customer.

The settings the app needs: the stage that unlocks billing, the optional stage to move deals to after invoicing, a default tax rate, and default payment terms.

## How to customize

- Choose the pipeline stage that unlocks the invoice button, so deals still in discovery cannot be billed by mistake.
- Set your default tax rate and payment terms, so due dates land where your finance team expects them.
- Pick the stage a deal should move to once its invoice is raised, or leave the deal where it is.

## FAQ

### Do I need a quoting add-on for Bigin?

No. Bigin has a product catalog but no quoting screen, so the app keeps your quote drafts itself and stores them against each deal. You only need your normal Bigin account.

### What happens if the customer is not in QuickBooks yet?

The app looks for a match using the company name on the deal, then the primary contact's email. If neither finds anything, it creates the customer from the details already on the Bigin record and carries straight on to the invoice.

### Can a rep start a quote and finish it the next day?

Yes. Quotes save as drafts against the deal as they are edited, so anyone can leave mid-quote and come back to it, and the team can see work already in progress on a deal.

### Will it stop someone invoicing a deal that is not ready?

Yes. You pick the stage that unlocks billing, and the invoice button only appears on deals at or past that stage. Earlier deals still get the quote builder, just without the ability to bill.

### How do I know the invoice actually reached the books?

After the invoice is created, the app writes the quote total and the invoice number back onto the deal as a note. If the invoice went through but that write-back failed, the app tells you and offers to retry just the write-back.

Use this prompt in General Input: https://www.generalinput.com/prompts/build-quotes-on-your-bigin-deals-and-invoice-them-in-quickbooks