The gap between sending a quote and collecting payment is where revenue leaks. Sales reps forget to follow up. Approved quotes sit in email inboxes for days before someone manually creates an invoice. Pricing errors creep in during the copy-paste from quote to invoice. A fully automated quote-to-invoice pipeline eliminates every one of these failure points and compresses your cash conversion cycle dramatically.
This tutorial covers the complete automation from quote generation through approval routing, invoice creation, and payment tracking. We will use Make.com as the orchestration platform with integrations into your CRM, accounting system, and e-signature tool.
Mapping the Quote-to-Invoice Pipeline
Before building, understand the six stages of a mature quote-to-invoice workflow and where automation replaces manual steps.
Fig. 1 — Six stages of the automated quote-to-invoice pipeline
Step 1: Trigger Quote Generation from Your CRM
The automation starts when a deal reaches a specific stage in your CRM (HubSpot, Salesforce, Pipedrive). In Make.com, set up a webhook or native CRM module that watches for deals moving to "Proposal" or "Quote Requested" stage. The trigger payload should include the deal amount, line items, client contact details, and any custom pricing terms.
Immediately after the trigger, pull the latest pricing from your product catalog. If you maintain pricing in a Google Sheet, Airtable, or database, query it in real time rather than relying on the CRM deal amount. This ensures the quote reflects current pricing even if the deal was created weeks ago.
Step 2: Generate the Quote Document
Use a document generation tool like Google Docs API, PandaDoc, or a custom HTML-to-PDF converter to create a professional quote. Map the CRM data to template fields: company name, contact name, line items with descriptions and pricing, subtotal, tax, discount (if applicable), and total.
Key configuration details for the document generation module:
- Set a quote expiration date (typically 30 days from generation).
- Include a unique quote number following your naming convention:
Q-[YYYY]-[sequential]. - Add terms and conditions as a footer or appendix.
- If the quote exceeds your discount authority threshold (e.g., 15% off list), route it to a manager for internal approval before sending to the client.
Step 3: Send for Client Approval or E-Signature
Once the quote PDF is generated, send it to the client for approval. You have two approaches depending on complexity. For simple quotes, email the PDF with an approval link (a webhook URL that records the client's acceptance). For contracts requiring signatures, push the document to DocuSign, HelloSign, or PandaDoc for e-signature.
In either case, set up automated follow-up. If the quote has not been opened within 48 hours, send a reminder. If it is not signed within 5 days, send a second reminder and notify the sales rep. After 14 days of no response, auto-update the CRM deal stage to "Stalled" and trigger a re-engagement sequence.
Step 4: Convert the Approved Quote to an Invoice
This is the critical handoff that most businesses still do manually. When the e-signature webhook fires (or the approval link is clicked), the Make.com scenario should immediately create an invoice in your accounting system. For QuickBooks Online, use the "Create Invoice" module and map every line item from the original quote. For Xero, the process is nearly identical using Xero's invoice API.
Critical mapping details:
- Match the customer in your accounting system by email or company name. If no match exists, create a new customer record first.
- Set the invoice due date based on your payment terms (Net 15, Net 30).
- Apply the same line items, quantities, and pricing from the quote. Never re-enter these manually.
- Attach the signed quote PDF to the invoice record for audit purposes.
Step 5: Automate Payment Follow-Up
After the invoice is created, set up payment reminders. Most accounting platforms have built-in reminder schedules, but you can build more sophisticated logic in Make.com. Send a friendly reminder 3 days before the due date, a firm reminder on the due date, and an escalation email 7 days past due that CC's your accounts receivable manager.
When payment is received (detected by a QuickBooks "Payment Created" webhook), the scenario closes the loop. It updates the CRM deal stage to "Closed Won," logs the payment date, and sends an internal notification to the sales rep and finance team.
Step 6: Handle Edge Cases
Production-ready automations must handle the messy cases:
- Quote revisions: If the client requests changes, update the CRM line items, re-trigger the quote generation, and void the previous version. Maintain a revision counter in the quote number:
Q-2026-0042-R2. - Partial invoicing: For project-based work, split the approved quote into milestone invoices. Use a phase field on each line item to control which items appear on which invoice.
- Multi-currency: If you serve international clients, pull the exchange rate at quote generation time and lock it. The invoice should use the same rate to avoid discrepancies.
"Our average time from quote approval to invoice sent dropped from 3 days to 4 minutes. We collected $120K in faster payments in the first quarter alone." — B2B services company, 50 quotes/month
This automation integrates naturally with your broader order-to-cash workflow. For businesses that also need recurring billing after the initial invoice, see our tutorial on automating recurring invoice generation.
Need Help Setting This Up?
Our automation engineers can build this workflow for you in days, not weeks. Get a free process audit to see exactly how it would work for your business.
Book Your Free Process Audit