Run every project. Know every margin. See live project profitability →
Platform · QuickBooks Sync

A client deposit is a liability.
Your integration should know that.

Most design tools say they sync with QuickBooks and mean they push invoices. Workroom has a separate account setting for retainers, cost of goods, freight, landed costs, chargebacks and sales tax. Your bookkeeper picks each one once, and every entry after that lands where they expect it.

QuickBooks Integration SettingsConfigure how Workroom connects to QuickBooks Online
Save all settings
Connected to Ashwood Design Co.Last synced 7:42 AM · today
WorkroomPosts to QuickBooks
Client retainers & deposits requiredClient Deposits · Liability
Product income (FF&E sales) requiredProduct Revenue · Income
Cost of goods sold requiredPurchases · COGS
Client sales tax payable requiredSales Tax Payable · Liability
Landed costs (duty, brokerage)Freight & Duty · COGS

Trusted by the studios doing the work

23
accounts you map once, before your own product and service categories
1
thing that comes back from QuickBooks: payments on your invoices. Everything else starts in Workroom.
$0
stranded in Undeposited Funds, because the deposit account is a required field
1 log
every synced document with its QuickBooks transaction ID, exportable
Mapping

This is where the other integrations stop

A generic connector gives you one revenue account and wishes you luck. Interior design has retainers held as liabilities, product sold at markup, freight that belongs in COGS, reimbursables that are income, and tax collected on someone else's behalf. Each of those needs its own home.

Nine accounts that decide how invoices, retainers, tax and COGS post. The ones marked required block sync until they're set, deliberately.

Deposit account requiredWhere client deposits and retainers post when received
Payment deposit account requiredStops payments landing in Undeposited Funds
Client retainers & deposits requiredHolds unearned funds as a liability until invoiced
Product income (FF&E) requiredRevenue for all product and furnishings sales
Client credits & overpayments requiredWhere issued credits and overpayments land
Cost of goods sold requiredCost basis for product sold (must be a COGS account)
Client sales tax payable requiredTax collected, held before remittance
Service incomeDesign fees, management fees, and labor
Shipping & delivery incomeFreight billed on to the client

Eight more for the buying side, the part that quietly wrecks margin when it posts to the wrong place.

Contractor laborTrades billed to the project
Vendor discountsOffset to COGS, not phantom income
Vendor sales taxTax you paid, separated from tax you collected
Accounts payable required for billsWhere vendor bills sit until paid
Freight COGSInbound freight as cost of the goods, not overhead
Landed costsImport, duty, and brokerage on the piece itself
Reimbursable expenses incomeCosts billed on, recognized as revenue
Uncategorized expenseA named fallback, so nothing vanishes silently

Every FF&E parent category maps to its own QuickBooks item, so your P&L can tell lighting from millwork. Unmapped categories use the fallback item rather than failing.

Building ElementsDecor & AccessoriesArtFinish FixtureFurnitureHardwareLighting MaterialPlumbingSpecialty+ your own

The same for the services you actually bill. Whatever your studio calls them, each maps to a QuickBooks service item.

DesignDetailingDraftingReporting Follow-up+ your own

The awkward six. Processing fees, refunds and chargebacks are where most studio books drift out of true.

Payment processing feesThe percentage the processor kept
Processing fee incomeIf you pass the fee on to the client
Discount incomeDiscounts given, tracked rather than absorbed
Refunds & returnsContra income, not a negative sale
ChargebacksRecorded as the expense they are
Uncategorized incomeThe catch-all you hope stays empty
Direction

Everything starts in Workroom. Payments come back.

Customers, vendors, invoices, purchase orders, bills and expenses start in Workroom and go to QuickBooks, so every project has one version. The one thing that comes back is a payment your bookkeeper records in QuickBooks against an invoice Workroom sent. An estimate you're still negotiating stays out of the books unless you switch it on.

Record typeTo QuickBooksFrom QuickBooks
Customer datan/a
Vendor datan/a
Payments
Vendor billsn/a
Expensesn/a
Invoicesn/a
Purchase ordersn/a
Invoice & expense attachmentsn/a
Estimates & proposalsn/a

Estimates ship switched off. A proposal is a sales document, not an accounting one, and most studios would rather it stayed that way until the client signs.

Sync Center

When something doesn't post, you find out here

Not next February. Every document carries its own sync state and its QuickBooks transaction ID, so a reconciliation question takes a search rather than an afternoon.

Synced today184
Failed (30d)2
Pending6
Skipped11
RecordDirectionStatusQBO txn
INV-0071 · AshwoodTo QB →Synced1042
BL-0005 · Contractors EdgeTo QB →Synced1043
Payment · INV-0068← From QBSynced1039
PO-118 · KesslerTo QB →Failed—
Vendor missing an Accounts Payable mapping (set it and retry)
Filter by date, direction, status, or record type Export audit log
Guardrails

The parts that stop you making an expensive mistake

Sync won't run half-configured

Required mappings and the fallback item must be set before anything posts. An integration that runs on a partial setup is how a year of entries ends up in the wrong account.

Tax is calculated once

Choose whether Workroom sends tax amounts or QuickBooks applies its own rules. Running both is the classic way to double-tax an invoice, so you pick one.

Duplicate detection

Records that look like something already in QuickBooks get flagged rather than posted twice, the failure mode that turns a clean ledger into a weekend.

PO-to-bill is opt-in

Auto-creating a Bill when a PO is received changes your payables and COGS. It's off by default, with a plain warning to talk to your accountant first.

Per-project overrides

A commercial job that posts to a separate revenue account doesn't force you to redo the studio default. Override the one project and leave the rest alone.

A fallback that's named

Anything without a specific mapping goes to an item you chose, not somewhere arbitrary. When the fallback fills up, that's information rather than a mystery.

"You guys have built a wonderful tool here. It's very impressive."
Joe JohnstonJoe Johnston Consulting CFO, Integra CFO
Questions we hear

QuickBooks sync, specifically answered

Does this work with QuickBooks Desktop?

Workroom connects to QuickBooks Online. The mapping, sync direction, and audit log described here all apply to a QBO company file.

Are client retainers handled as income or as a liability?

As a liability, which is what they are until the work is done. Unearned retainer funds sit in the client deposits account you map, and move to income as they're applied to invoices.

What happens to a product category we invented ourselves?

Map it to its own QuickBooks item like any other, or leave it to the fallback item. Nothing fails to post because a category is unmapped. It just lands in the fallback, where you can see it.

Can my bookkeeper add a vendor in QuickBooks and have it appear here?

No. Vendors, customers, bills and expenses start in Workroom and go to QuickBooks, so Workroom stays the one record of every project. The one thing that comes back is a payment: when your bookkeeper records a payment in QuickBooks against an invoice Workroom sent, it shows up on that invoice here.

Will it double up my sales tax?

Not unless you configure it to. You choose whether Workroom sends calculated tax or QuickBooks applies its own rules. The setting exists precisely because running both is the common way to end up with duplicate tax.

How do I prove a specific invoice made it across?

Every synced document records its QuickBooks transaction ID alongside a timestamp, direction, and status. The whole log filters by date, record type, direction, or status, and exports.

What if a sync fails?

It's counted, listed, and given a reason: a missing accounts payable mapping, for instance. Fix the cause and retry that record rather than re-running everything.

See the connected workflow

Run the project. See the real margin.

Bring your bookkeeper and we’ll walk the mapping with you: how it works in Workroom and what we suggest, including the awkward ones. Your bookkeeper makes the accounting calls.