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**.