Skip to content

14. Integrations (Pro)

Connect Stone Project with your existing business tools.

Note: Integrations require an active Pro subscription.


14.1 QuickBooks

Sync your Stone Project data with QuickBooks Online for streamlined accounting.

Connecting QuickBooks

  1. Go to Settings > Integrations.
  2. Find QuickBooks and tap Connect with QuickBooks.
  3. Sign in to your QuickBooks Online account.
  4. Authorize Stone Project to access your QuickBooks data.
  5. Configure sync preferences (see below).

Sync Configuration

Open Sync Settings on the QuickBooks screen:

Setting Description
Enable Auto Sync Sync with QuickBooks on its own
Sync Interval How often: 15 min, 30 min, 1, 2, 6, 12 or 24 hours
Auto Export Orders Orders go to QuickBooks as invoices
Auto Export Payments Payments recorded here (check, cash, ACH) mark the invoice paid in QuickBooks. Turn off if you record payments directly in QuickBooks
Sync Customers on Connect Import your QuickBooks customers on the first connection
Sync Products on Connect Import your QuickBooks products on the first connection
Auto Retry Failed Exports Retry an export that failed, up to Max Retry Attempts

Tap Save Settings. For one-off runs, the QuickBooks screen has Quick Actions: Export Invoices, Import Updates, Sync Customers, Sync Products and Sync All. Tax codes are mapped in Tax Code Mapping (below).

What Gets Synced

Data Stone Project → QuickBooks QuickBooks → Stone Project
Clients Yes Yes*
Invoices Yes --
Estimates/Quotes Yes --
Payments Yes Yes
Products/Services Yes Yes
Suppliers/Vendors Yes Yes

* A linked client's name, email, phone, cell, and address are not overwritten by Sync Clients / auto-sync if you edited them in Stone Project after the last successful sync. If QuickBooks also changed those fields after that sync, the later write wins. Approving a pending QuickBooks customer change still applies the QuickBooks values.

Quote → Estimate → Invoice Flow

When you send a quote from Stone Project:

  1. The quote is exported to QuickBooks as an Estimate.
  2. When the client accepts the quote, the Estimate is automatically converted to a QuickBooks Invoice.
  3. Payment recording syncs between both systems.

Tax Mapping

Map your Stone Project tax rates to QuickBooks tax codes:

  1. Go to Settings > Integrations > QuickBooks > Tax Mapping.
  2. Match each Stone Project tax rate to the corresponding QuickBooks tax code.
  3. Tap Save.

Sync History

View the history of all sync operations:

  1. Go to Settings > Integrations > QuickBooks > Sync History.
  2. Review successful syncs, pending items, and any failed exports.
  3. Retry failed exports by tapping Retry.

Unlinking an invoice from QuickBooks

If an invoice is linked to the wrong QuickBooks invoice, or its QuickBooks invoice was deleted in QuickBooks (every Sync of it then fails), drop the link:

  1. Open the invoice and find the QuickBooks row.
  2. Tap ⋯ > Unlink from QuickBooks and confirm.

Only the link in Stone Project is removed; nothing changes in QuickBooks. The next Sync links the invoice to a QuickBooks invoice with the same number, or creates a new one if there is none. Unlinking is not allowed while a payment on the invoice is already in QuickBooks, because that payment is applied to the linked QuickBooks invoice.

QuickBooks Payments

Pro Feature

QuickBooks Payments integration requires a Pro subscription and an active QuickBooks Payments account.

Accept credit card and ACH/bank debit payments directly through QuickBooks Payments:

  1. Go to Settings > Integrations > QuickBooks > Payments.
  2. Enable QuickBooks Payments.
  3. When sending an invoice, clients receive a payment link.
  4. Payments are automatically recorded in both Stone Project and QuickBooks.

Disconnecting

  1. Go to Settings > Integrations > QuickBooks.
  2. Tap Disconnect.
  3. Existing synced data remains in both systems but stops updating.

14.2 Client Portal

Pro Feature

The Client Portal requires an active Pro subscription.

Give your clients a dedicated online portal to view projects, approve quotes, pay invoices, and communicate with your team — all under your company's brand and subdomain.

Enabling the Client Portal

  1. Go to Settings > Company > Portal Settings.
  2. Enable the Client Portal.
  3. Choose your portal subdomain (e.g., yourcompany.stoneproject.app).
  4. Customize the portal appearance (logo, colors).
  5. Tap Save.

What Clients Can Do

Once the portal is enabled, your clients can:

Feature Description
Dashboard Overview of their projects, quotes, and invoices
View Projects See project status, upcoming visits (template, install, delivery) and the current drawing
Approve/Reject Quotes Review and respond to quotes you have sent
View Invoices Access invoice details and payment history
Make Payments Pay invoices online (if payment methods are configured)
Send Messages Chat with your team about projects
Download Files Access shared project files and documents

What a client can see

The Upcoming card on a project page lists the client's next template, install, delivery, appointment and inspection visits, with date and time. Turn it off in Settings → Client Portal → Upcoming visits. Internal job history (stage changes, assignments, automation notes) never reaches the portal.

A signed-in client sees every project on their client record. That includes the live drawing on the project page (whatever is currently saved, not a snapshot), chat, invoices, and quotes that have been sent. Draft quotes stay internal.

Visibility is not limited to documents you clicked Send on. Any portal login (from a quote email, an invoice, an activity reminder, or a Job Workflow "Notify client" email) opens the same portal, and from there they can open any of their jobs.

Access is per client record, not per project and not per account. A contact who can see one job does not automatically see another contact's jobs at the same builder.

There is no per-stage switch that hides a drawing. If you do not want a client to see work in progress, keep the project in a stage that does not email them, and check Settings → Job Workflow: "When Quote Created" and the Notify client action on Quoted both send a login link as soon as they fire.

To cut a client off, open their profile and turn Portal access off.

Client Authentication

Clients can access the portal through:

  • Magic Link — A secure, passwordless login link sent via email
  • Google Sign-In — Sign in with their Google account
  • Apple Sign-In — Sign in with their Apple ID
  • Password — Set a password for traditional login

What grants access

All of these must be true:

  1. Your company portal is on (Settings → Company → Portal Settings).
  2. That client has portal access on (on by default; toggle it on the client profile).
  3. They signed in with a magic link, Google, Apple, or a password.

Magic links are included in quote emails, invoice emails, activity reminders, Job Workflow Notify client emails (for example when a project moves to Quoted), and Send Portal Access on the client profile.

You can also invite a client manually:

  1. Open a client's profile.
  2. Tap Send Portal Access.
  3. The client receives an email with a magic link to access the portal.

Portal Branding

The portal uses your company's logo, name, and brand colors for a professional, white-labeled experience.

"Made with Stone Project" line. In Settings → Client Portal, the switch Show "Made with Stone Project" on documents adds one small gray line at the bottom of the quote and invoice PDFs your client receives, in the client's language. Shops created from October 3, 2026 start with it on; older shops start with it off. Turn it off and the next PDF goes out without it.


14.3 Embeddable Inventory Widget

Display your available stone pieces on your own website using an embeddable widget:

Setting Up the Widget

  1. Go to Settings > Integrations > Website Widget.
  2. Copy the embed code provided.
  3. Paste the code into your website's HTML.

Widget Features

  • Displays your available pieces with photos, dimensions, and pricing.
  • Visitors can browse, filter, and view piece details.
  • View and click tracking — See how many visitors view and interact with your listed pieces.
  • Automatically updates when you add, edit, or sell pieces.

Analytics

Track widget performance in Analytics > Piece Performance to see:

  • Views from your website vs. the marketplace
  • Click-through rates
  • Which pieces generate the most interest from your website traffic

14.4 Claude and ChatGPT (Pro)

AI Connections let Claude and ChatGPT work with the Stone Project data and actions your user is already allowed to access.

Add Stone Project to Claude · Add Stone Project to ChatGPT

Connect an AI client

  1. Open the listing: Stone Project in the Claude directory or Stone Project in ChatGPT apps. In the app, Settings > Integrations > AI Connections has the same Connect Claude and Connect ChatGPT buttons.
  2. Click Connect, sign in with your Stone Project email and password, choose the Pro company and approve. No API key, client ID or client secret is needed.
  3. In a chat, ask things like "Which quotes are still waiting on the client?" or "What is holding up my open jobs?". The second lists each stuck job with what is missing (for example "Quote not created yet"), the client's phone and a link to the job in the app. Opening that job does not move its stage. When the assistant asks to use a Stone Project tool, allow it.

On Claude Team or Enterprise and ChatGPT Business or Enterprise, a workspace admin may need to allow Stone Project first.

Other way: paste the address. If the listing does not open for you, add a custom connector in Claude or ChatGPT, paste https://mcp.stoneproject.app/mcp and leave the OAuth client ID and secret empty.

The connection belongs to your user, not to the whole company. It uses your current permissions on every request. If your role changes, you leave the company, the company leaves Pro, or you revoke the connection, access stops immediately.

Available actions

The assistant can do what your user can do in the app, with the same permissions. Ask it in plain words; it picks the right action:

  • Jobs, clients and quotes: find a job and read it whole (areas, drawing, materials, files, messages), move it to another stage, add a note, flag it for attention, send a quote or invoice to the client, turn an accepted quote into an order and an invoice, stop quote follow-ups.
  • Calendar and crew in the field: schedule, reschedule, assign or cancel an activity; mark on the way, check in, start, pause and check out (which completes it); fill the checklist and sign-off; see the day's capacity and workload.
  • Time clock and routes: clock the connected member in and out, take a break, see who is on the clock and the hours; start the day's route, arrive at, complete or skip a stop.
  • Reports: dashboard summary, sales funnel, pipeline, sq ft sold, margins, sales tax and payment stats, for any period ("last month", "this quarter").
  • Inventory and purchasing: slab availability and history, hold, extend or release a slab, purchase orders, requisitions (approve or decline), receiving.
  • Inbox and team chat: read and organize the shop's email and WhatsApp (mark read, star, archive, link to a client or job), message the team in the internal chat.
  • Pricing: material colors and prices, fabrication, installation, edge and cutout prices, supplier price sheets (example below).

Money stays in the app: the assistant can read payments, commissions and bills, but it never records a payment, requests a deposit, charges a card or refunds. Moving a job to a stage never asks the client for a deposit from the assistant. It also never touches sign-in and tokens, the shop's subscription, connecting or disconnecting integrations, or deleting the company. A team chat started by the assistant is always internal to your shop.

Example: a supplier price sheet with your markup. Attach the supplier's PDF in the chat and ask: "Add every color from this sheet to Quartz with its cost, and apply a 35% markup." The assistant updates the colors you already have (no duplicates), creates the missing ones with their cost, and sets each selling price from the cost and the markup. It is the same as Apply markup to cost on the material (see Pricing). Only users allowed to edit pricing can do this.

Deleting a supplier or inventory piece always requires two calls: the first shows what would be deleted, and the second uses a short-lived confirmation. Deletes remain soft deletes, just like the app.

Revoke access

Open Settings > Integrations > AI Connections, find the client, and tap Revoke connection. The OAuth and refresh tokens are revoked at the same time.

14.5 Lead sources (Pro)

A lead source connects a form you built somewhere else — a landing page in WordPress with Elementor, a Gravity Forms page, a hand-rolled HTML form — to your board. When somebody submits it, a lead lands in your pipeline with the campaign that brought them.

This is the tile in Settings > Client Experience > Lead sources. It is the only one there that does not need the Edit company permission: the person wiring a landing page is often your marketing agency, so grant them Connect website forms and landing pages instead of handing over the company.

Creating a source

  1. Open Settings > Client Experience > Lead sources and tap New lead source.
  2. Give it the name you will recognise on the board — the landing page it belongs to, for example "Kitchen remodel LP".
  3. Choose where its leads arrive. Leaving Default column sends them to the same place every other lead goes. Picking a column of your own is how paid traffic stays apart from jobs your team is actually working on.
  4. Copy the Endpoint URL.

Create one source per landing page. That is what lets you tell later which page produced which lead.

Connecting the form

In Elementor, edit the form, open Actions After Submit and add Webhook. Paste the endpoint URL into Webhook URL and save. Other builders call the same thing a webhook, a POST URL, or an HTTP request action.

Then submit the form once, for real. That first submission does two things: it proves the connection works, and it teaches the screen what your fields are called.

Mapping the fields

Every form names its fields differently. Common names — name, email, phone, message, and the usual variations — are recognised with no setup at all, so a normal contact form works immediately.

When your form uses its own names, open the source, tap Field mapping and fill in what your form calls each field. The names from your last real submission are listed right there, so you can copy them instead of guessing. Anything you do not map is still kept and written into the job description, so no answer is lost.

Seeing where a lead came from

Send the campaign tags with the form and they arrive with the lead. Add utm_source, utm_medium, utm_campaign and the click ids (gclid, fbclid) as hidden fields on the landing page, and include the page address itself.

The lead then shows a Source line at the end of the job description — google / cpc / spring-sale, Google Ads, Referral: houzz.com or Direct.

Phone calls as leads

If your market calls instead of filling forms, point the call button at the same form: send the submission when the visitor taps to call, with the campaign tags attached. The lead is recorded with its source, and your ad platform counts the tap as a conversion. A lead with only a phone number and no e-mail is accepted.

Turning one off

Switch Active off and the endpoint stops accepting submissions, without touching the leads it already produced. Generate new URL replaces the address if it leaked — the old one stops working immediately, so update your form right after. Removing a source keeps every lead it brought on the board.

Moving from another system

Coming from Moraware, SlabSmith, QuickBooks, a spreadsheet or a program of your own? You don't have to rebuild the data by hand. Open Settings → Migrate from your current system (also linked from Import CRM data), say what you use today, whether you want it brought over once, kept in sync, or both, and where the data lives. Attach an export if you have one (CSV, Excel, a database backup, up to 50 MB). We reach you by e-mail, and the same screen shows each request as Received, In progress or Done.

If the data lives on a computer in your shop (a SlabSmith or other local database), the ongoing sync runs through the Stone Project Drive companion on that computer; a one-off move from an online system or a file is done by us.


14.6 Zapier & Make (Pro)

Connect Stone Project to the apps you already use: a new job in your spreadsheet, a Slack message when a quote is accepted, a lead from a Facebook form landing on your board. Open Settings → Integrations → Zapier & Make.

Connecting Zapier

  1. Tap API Settings on that screen and create a token with the webhooks.manage scope, plus the write scopes your automation needs: projects.write, clients.write, tasks.write, leads.write.
  2. Tap Open in Zapier, accept the invite to the Stone Project app and paste the token when Zapier asks for it.
  3. Pick a trigger or an action and build your Zap.

Triggers: new project, project stage changed, new client, client updated, new quote, quote sent, quote accepted, quote rejected, deposit paid, invoice paid, payment received, sale closed (order created), order status changed, crew member clocked in, crew member clocked out.

Actions: create client, create project (without a stage it starts as a lead), create task, create lead (creates the client and a lead-stage job, like your website form; the same lead within 10 minutes is not duplicated).

Make

Make does not list Stone Project as an app yet. Use Make's HTTP module with the same token (Authorization: Bearer <token>) against the public API.

API reference

Every endpoint, field and webhook event is documented at api.stoneproject.app/docs. Deleting the token, or removing its scope, stops the automation at once.


14.7 Xero (Pro)

Send your books to Xero without typing anything twice. Open Settings → Integrations → Xero and tap Connect; Xero asks which organisation to link (one per company).

What goes to Xero, every hour and on Sync now:

Stone Project Xero
Clients and suppliers Contacts (a contact with the same name is reused, not duplicated; contacts you create in Xero come back as clients/suppliers)
Active products Items
Invoices (not drafts) Sales invoices, approved; a cancelled invoice is voided
Completed payments Payments into the bank account you choose
Vendor bills Bills (pending ones as drafts)
  • Totals match to the cent. Tax goes as a "Sales tax" line on the tax account you pick, discounts as a negative line.
  • Never twice. An invoice already in Xero with the same number is linked, not created again, and a paid invoice in Xero is never edited.
  • Documents dated before the sync from date (default: January 1st of the year you connected) are not sent. A document Xero refuses shows Xero's own message on the screen; fix it here and it goes on the next run.
  • Disconnecting keeps what is already in Xero. Reconnecting the same organisation does not resend anything.

Who can use it: the same permission that manages QuickBooks.


14.8 QuickBooks Desktop / Enterprise (Pro)

QuickBooks Pro, Premier and Enterprise (desktop) have no cloud connection, so they talk to Stone Project through Intuit's free QuickBooks Web Connector, running on the Windows computer that holds your company file.

  1. Open Settings → Integrations → QuickBooks Desktop and tap Set up QuickBooks Desktop.
  2. Download the stone-project.qwc file and copy the password. The password is shown only once; tap Create a new password if you lose it.
  3. In QuickBooks, open File → App Management → Update Web Services and choose Add an application.
  4. Pick the file, allow access, type the password and turn on Auto-Run.

To QuickBooks: customers, vendors, estimates (sent or accepted), invoices (cancelled ones are voided), payments, purchase orders and bills. From QuickBooks: customers, vendors and payments received against Stone Project invoices (never more than the open balance).

The total in QuickBooks is always the Stone Project total, including tax.


14.9 Export to accounting system (Pro)

For construction ERPs, Stone Project creates the import file each system publishes: Sage 100 Contractor, Sage 300 CRE, Sage Intacct, NetSuite, Trimble Spectrum, Trimble Vista, Foundation, ComputerEase and Acumatica.

Open Settings → Integrations → Export to accounting system (or the upload icon on the Accounting screen), pick the system, what to export (invoices, payments, bills or journal entries) and the period (up to one year), and tap Download file.

  • Documents or journal, never both for the same period: your accounting system would count the same sale twice.
  • Account map: your chart of accounts there is not ours. Write one line per account, our code = their code (e.g. 4010=40100); the screen remembers it per system on that device.
  • Clients and jobs go out by their code. Set the client's External ID and the project code to the numbers your accounting system already uses; an unknown number is rejected by the import.
  • Spectrum and Vista ask for a Company code (Vista's default is 1).

14.10 Omie and Conta Azul (Brazil) (Pro)

Companies in Brazil see Omie and Conta Azul under Settings → Integrations. They send clients, sales and receivables from Stone Project to the ERP.

  • Omie: paste the app_key and app_secret of your Omie app. The connection is saved only after Omie answers.
  • Conta Azul: tap Connect and sign in to Conta Azul.
  • Choose the revenue category, the financial account and an existing item in the ERP. Each invoice goes as one line with its exact total, in BRL.
  • Sending is manual by default; you can turn on the hourly send. The same invoice is never created twice.
  • Fiscal documents (NF-e) stay with the fiscal integration: this export never issues one, and it does not mark payments in the ERP.

14.11 Payroll export (Pro)

Turn approved time clock hours into the import file of Gusto, ADP, Paychex, Paylocity or QuickBooks. Open Settings → Integrations → Payroll export (also on the Payroll screen), pick the provider and the pay period, and tap Download CSV.

  • Only approved shifts with a clock-out are exported; breaks are already taken out. California daily overtime is included.
  • ADP and Paychex ask for your company code (ADP Co Code, Paychex client ID). Earning codes for regular and overtime hours are optional.
  • Employees are identified by email until you set the payroll provider's employee number on each person.

14.12 Calendars: feed and Outlook (Pro)

Calendar feed (Apple, Google, Outlook, read-only): open Settings → Integrations → Calendar feed and copy your private link.

  • Apple Calendar: File → New Calendar Subscription and paste it. On iPhone: Settings → Calendar → Accounts → Add Account → Other → Add Subscribed Calendar.
  • Google Calendar (on a computer): Other calendars → + → From URL.
  • Outlook: Add calendar → Subscribe from web.

Calendar apps refresh it every few hours and show the activities assigned to you. Anyone with the link sees your schedule: Reset link if it leaks (every subscribed calendar must subscribe again).

Outlook calendar (Outlook and Microsoft 365, both ways): open Settings → Integrations → Outlook calendar and tap Connect Microsoft account. Your Outlook events appear next to your schedule and your activities go to Outlook. Each person connects their own account. When you disconnect, you choose whether to remove the events it added to Outlook.


14.13 Cloud files and Microsoft Project

  • Attach from cloud: in a project's Files, the cloud button imports a file from Google Drive, OneDrive, Dropbox or Box straight into the job.
  • Microsoft Project: in the project's activities, the import/export menu (tooltip Microsoft Project) exports the job's activities as an MS Project file. After you move dates in MS Project, Import dates from MS Project brings the new dates back. Tasks created in MS Project are skipped and completed activities never move. Requires permission to edit projects.

14.14 WhatsApp support

Need help fast? Settings → Support → WhatsApp support opens a chat with our team on WhatsApp (+1 617 275 3254). It is available to the same people who can open support tickets.


← Analytics & Reports | Next: FAQ & Troubleshooting →