Create a Customer Record in QuickBooks from a New Plan Subscription

8 min setup
No coding required
Runs automatically

Effortlessly manage customer records by automatically creating them in QuickBooks when users subscribe to a plan. This workflow uses Mantle to instantly capture subscription events and sync details, ensuring accurate records. Save time and eliminate manual data entry, keeping your accounting up-to-date and organized.

Mantle logo icon
Customer Subscribed
Retrieve Customer
Loop
Query Customer
Path - No Existing Customer
Create Customer (Path - No Existing)
Path - Has Existing Customer
quickbooks logo icon
Update Customer (Path - Has Existing)

You're in good company

"MESA has been a game changer for us. And, if you ever get stuck, their support team is always super helpful."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
PetFriendly

"It's like Zapier but exactly designed for Shopify. I have been able to complete all the workflows that I've needed."

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Zailys

"The MESA team has been amazing at helping us set up our automations. We would highly recommend this app!"

  • Ico star
  • Ico star
  • Ico star
  • Ico star
  • Ico star
Rothy's

How it works

8 steps to start creating QuickBooks customers from Mantle app subscriptions automatically

Mantle logo icon

Customer Subscribed

App connector: Mantle • Time to complete: 0 minutes (Auto-configured)
Why this matters: This trigger captures new paying subscribers the moment they commit to your app, enabling immediate accounting system setup that ensures proper invoicing and financial tracking from day one.

When a customer subscribes to a Mantle plan (billing plan for Shopify app installations), this trigger activates the workflow and captures the customer ID and subscription event details. Mantle sends a webhook to MESA when subscriptions occur.

Setup requirement: You must have Mantle configured as your billing platform for this trigger to receive subscription webhooks.

Mantle context: Mantle is a billing platform for Shopify app developers. When merchants install apps and choose billing plans, Mantle handles the subscription and sends this webhook.

Retrieve Customer

App connector: Mantle • Time to complete: 0 minutes (Auto-configured)
Why this matters: Fetches complete merchant profile data from Mantle including business details, billing address, contact information, and app installation history needed to create comprehensive QuickBooks customer records

This step retrieves the full Mantle customer record using the customer ID from the subscription webhook. It returns complete customer data including customer name, email address, billing address with all components, customer notes, Shopify domain, contact information (including phone), and app installations array. This comprehensive data enables creation of detailed QuickBooks records.

Loop

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes each app installation individually when merchants subscribe to multiple apps, ensuring proper customer record creation for each subscription relationship in your accounting system.

This loop iterates through the customer's app installations array. For each installation, the loop executes QuickBooks lookup, branching logic, and customer creation/update steps. This approach creates separate accounting treatment for each app installation, which is useful for SaaS businesses offering multiple products.

Multi-app scenario: If a merchant installs multiple apps from the same developer (all using Mantle), this loop creates or updates QuickBooks customer records for each app, enabling app-specific revenue tracking.

Query Customer

App connector: QuickBooks • Time to complete: 0 minutes (Auto-configured)
Why this matters: Checks if a QuickBooks customer already exists with the merchant's email address, preventing duplicate customer records and maintaining clean accounting data when merchants resubscribe or were entered manually.

This step queries QuickBooks using a SQL-like query "SELECT * FROM Customer WHERE PrimaryEmailAddr = '[customer email]'". It searches for customers matching the Mantle customer's email address and returns matching records. If a customer exists, the first result contains their QuickBooks customer ID. If no match is found, the array is empty.

Path - No Existing Customer

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: When no matching customer exists in QuickBooks, this path creates a new customer record from the Mantle subscription data, establishing proper accounting records for first-time subscribers.

This conditional path executes when {{quickbooks.0.Id}} is empty, meaning no matching customer was found in the QuickBooks query. The workflow evaluates this condition and proceeds to create a brand new customer record with the merchant's complete information. If this condition is true, the workflow creates rather than updates.

Create Customer (Path - No Existing)

App connector: QuickBooks • Time to complete: 0 minutes (Auto-configured)
Why this matters: Establishes a complete customer profile in QuickBooks with all merchant details, billing address, and app-specific notes, ensuring proper invoicing and financial tracking for new app subscribers.

This step creates a QuickBooks customer using Mantle customer data. It includes:

  1. DisplayName: Customer name from Mantle
  2. PrimaryEmailAddr: Customer email address
  3. PrimaryPhone: Phone number from first contact
  4. BillAddr: Complete billing address including Line1 (combined address1 and address2), City, Country, CountrySubDivisionCode (country code), and PostalCode
  5. Notes: Comprehensive notes including custom notes from Mantle, Shopify domain, and installation timestamp

Notes field value: The notes combine multiple data points in format: "[customer notes] \nShopify Domain: [domain]\nInstalled at: [timestamp]", providing context about the subscription for accounting reference.

The created customer is added to QuickBooks and ready for invoicing and payment tracking.

Path - Has Existing Customer

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: When a matching customer exists in QuickBooks, this path updates their record with current Mantle data, ensuring customer information stays synchronized even if merchants update their billing details or business information.

This path checks if the QuickBooks customer ID is not empty. If true (customer found), the workflow follows Path 2 which updates the existing customer. If false (no customer found), this path is skipped.

quickbooks logo icon

Update Customer (Path - Has Existing)

App connector: QuickBooks • Time to complete: 0 minutes (Auto-configured)
Why this matters: Refreshes the existing QuickBooks customer record with current merchant information from Mantle, maintaining data accuracy for customers who have changed their billing details or contact information.

This step updates an existing QuickBooks customer using the customer ID and SyncToken from the query. It updates the same fields as the create operation plus:

  1. Id: QuickBooks customer ID (required for updates)
  2. SyncToken: Version token (required for QuickBooks updates to prevent conflicts)
  3. sparse: Set to true (partial update mode, only updates provided fields)
  4. BillAddr.Id: Existing billing address ID (required to update rather than create new address)

All other fields (DisplayName, email, phone, billing address components, notes) update with current Mantle data. The sparse mode ensures only the provided fields update without affecting other customer properties in QuickBooks.

SyncToken importance: QuickBooks requires the SyncToken for updates to ensure you're updating the current version. This prevents conflicts if multiple systems update the same customer simultaneously.

Ready to set this up? It only takes 8 minutes.

Our support team will even help you personalize this workflow for free.

Get started →

Make it your own!

Customize this workflow even further:

Add subscription plan details to notes
Enhance the notes field to include the specific subscription plan tier, monthly cost, and billing cycle from Mantle, giving your accounting team complete visibility into the customer's subscription level.
Create different customer classes by plan tier
Add conditional logic that sets QuickBooks customer class or category based on the Mantle subscription plan (like "Basic," "Pro," "Enterprise"), enabling segmented financial reporting by customer tier.
Send notifications for high-value customers
Add a filter after customer creation that checks the subscription amount and sends Slack or email notifications to your finance team when enterprise-level customers subscribe.
Sync to multiple accounting systems
Duplicate the QuickBooks steps and replace them with Xero, FreshBooks, or other accounting platform steps to maintain customer records across multiple financial systems simultaneously.

Common questions

What happens if a merchant's email changes?

Can I customize which fields sync to QuickBooks?

Will this sync historical customers or only new subscribers?

Ready to start creating QuickBooks customers from Mantle app subscriptions automatically?

7-day free trial • 8 min setup • Cancel anytime

Need help? Our automation experts will help you personalize this workflow for free. Contact support