How it works

Follow these 8 simple 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.

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.

Frequently asked questions

What happens if a merchant's email changes?
The workflow searches by email, so if a merchant changes their email in Mantle, the workflow will create a new QuickBooks customer instead of updating the existing one. Consider adding logic to search by Shopify domain or Mantle customer ID instead if email changes are common for your merchants.
Can I customize which fields sync to QuickBooks?
Yes, edit the "Create Customer" and "Update Customer" steps to add or remove fields from the body. You can include additional Mantle customer fields or remove fields that aren't relevant to your accounting needs. Just ensure required QuickBooks fields (DisplayName, PrimaryEmailAddr) remain populated.
Will this sync historical customers or only new subscribers?
This workflow only triggers for new subscriptions after you activate it. To sync existing customers, you'll need to create a separate one-time workflow that retrieves all Mantle customers and processes them in batch, or manually export/import them to QuickBooks.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

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

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 8 min setup • Cancel anytime