← Back to Systems
Aldermere Systems / Build Notes

PROPOSAL_TO_INVOICE_LOOP

# Proposal Acceptance to Invoice Loop: DIY Installation Manual

Welcome to your **Proposal Acceptance to Invoice Loop Business-in-a-Box**! This guide outlines step-by-step instructions to build a self-install B2B billing automation reference for moving accepted contracts toward invoice and payment.

The moment a client signs a digital proposal or contract (PandaDoc, DocuSign, or SignNow), this pipeline triggers in real-time. It updates the client record inside your CRM (HubSpot), automatically writes up the invoice and account inside your ledger (QuickBooks/Xero), creates a secure checkout payment link in payment processor, and emails the client a branded welcome pack with their direct invoice payment button.

You will build this pipeline using **Make.com**, a proposal platform (e.g. **PandaDoc** or **DocuSign**), **HubSpot CRM**, **QuickBooks** (or **Xero**), **payment processor**, and **Gmail**.

---

## 📋 Prerequisites & Accounts Needed
Ensure you have set up the following:
1. **Proposal Software:** PandaDoc or DocuSign account with webhook privileges.
2. **Make.com Account:** A free or low-cost automation workspace.
3. **HubSpot CRM:** To track deals.
4. **QuickBooks / Xero Account:** For tax-compliant ledgers and invoicing.
5. **payment processor Account:** For generating checkout and billing links.
6. **Gmail / G Suite:** For sending welcome packages.

---

## ⚡ Step 1: Import the Scenario Blueprint into Make.com
We have pre-configured a pipeline blueprint:
1. Log in to [Make.com](https://www.make.com/).
2. Click **Create a new scenario** (top right).
3. Click the **three dots (...)** at the bottom control bar and select **Import Blueprint**.
4. Upload the **`make_blueprint.json`** file included in this directory.
5. Save the scenario. You will see the visual pipeline:
   `[Webhook: Proposal Signed]` ➡️ `[HubSpot: Update Deal]` ➡️ `[QuickBooks: Create Customer]` ➡️ `[QuickBooks: Create Invoice]` ➡️ `[Payment Processor: Create Invoice Link]` ➡️ `[Gmail: Send Onboarding Pack]`

---

## ✍️ Step 2: Configure the Proposal Signed Trigger
1. Double-click the **Webhooks: Custom Webhook** trigger module.
2. Click **Add**, name it `Proposal Signed Trigger`, and save.
3. Copy the generated Webhook URL.
4. Paste this Webhook URL into your document signature platform:
   * **PandaDoc:** Go to Settings ➡️ Integrations ➡️ Developer Dashboard ➡️ Webhooks ➡️ Create Webhook (Events: `Document Completed / Signed`).
   * **DocuSign:** Go to Settings ➡️ Connect ➡️ Add Configuration ➡️ Custom (Trigger Event: `Envelope Signed / Completed`).
5. Run the module once, sign a test document containing:
   * *Client Name:* Bruce Wayne
   * *Email:* bruce@wayneenterprises.com
   * *Contract Value:* £5,000
   * *Project Title:* Corporate Security Retainer
6. Confirm variables are captured successfully.

---

## 📇 Step 3: Update HubSpot Deal & QuickBooks Accounts
1. Double-click the **HubSpot: Update a Deal** module:
   * Connect your CRM account.
   * Map the **Deal ID** parsed from the signed contract payload.
   * Set **Pipeline Stage** to **Closed Won**.
2. Double-click the **QuickBooks: Create a Customer** module:
   * Connect your accounting software.
   * Map **Given Name:** `{{1.clientFirstName}}`, **Family Name:** `{{1.clientLastName}}`, **Email:** `{{1.clientEmail}}`, **Company Name:** `{{1.companyName}}`.
3. Double-click the **QuickBooks: Create an Invoice** module:
   * Map the **Customer Ref ID** returned from the previous step.
   * Under **Line Items**, map:
     * *Description:* `{{1.projectTitle}} - Initial Retainer`
     * *Amount:* `{{1.contractValue}}`
   * Save the invoice to generate the transaction details.

---

## 💳 Step 4: Generate Payment URL & Send Gmail Welcome
Instead of waiting for manual wire transfers, generate a secure checkout link dynamically linked to the QuickBooks invoice:
1. Double-click the **Payment Processor: Create an Invoice Item & Payment Link** module:
   * Connect the payment provider.
   * Map the email and amount: `{{1.clientEmail}}` and `{{1.contractValue * 100}}` (payment processor counts in pence).
   * Map product metadata description: `{{1.projectTitle}}`.
   * The module outputs a dynamic `hosted_invoice_url` variable.
2. Double-click the **Gmail: Send Email** module:
   * Connect your Gmail account.
   * **To:** `{{1.clientEmail}}`
   * **Subject:** `Welcome to [Company Name]! Client Onboarding & Invoice`
   * **Body (HTML):** Paste the welcome email block, mapping the payment link:
     ```html
     <div style="font-family: Arial, sans-serif; max-width: 600px;">
       <h2>Welcome to the Team, {{1.clientFirstName}}!</h2>
       <p>We are thrilled to begin working on the <strong>{{1.projectTitle}}</strong>.</p>
       <p>To finalize onboarding and launch the project, please complete the initial payment using the payment processor's secure billing button below:</p>
       <p style="margin: 20px 0; text-align: center;">
         <a href="{{payment processor.hosted_invoice_url}}" style="background:#10b981;color:#fff;padding:12px 24px;text-decoration:none;border-radius:5px;font-weight:bold;">Pay Initial Invoice</a>
       </p>
       <p>Once paid, you will receive our calendar link to schedule the official kick-off meeting.</p>
     </div>
     ```

---

## 🔬 Step 5: Save & Test
1. Click **Save** in the Make.com controls.
2. Click **Run Once** to run a test.
3. Complete a contract signature.
4. **Confirm outcomes:**
   * HubSpot deal changes to "Closed Won".
   * QuickBooks registers the client and creates a draft invoice.
   * The payment processor constructs a checkout payment portal.
   * Client receives welcome email with payment invoice button.
5. Slide the schedule switch to **ON**.