Picture this scene. A designer wraps the year, looks at the income statement, and sees $480,000 in revenue. The cash in the operating account, meanwhile, is barely enough to cover next month's payroll. The bookkeeper calls every line "income," every product order an "expense," and at tax time the firm pays on phantom profits that the bank balance never actually saw.
This is not an exotic case. It is the default outcome when an interior designer runs a project-based, procurement-heavy business through a chart of accounts built for a coffee shop. The fix is not more software. It is understanding three things the trade really hinges on: client money is a liability until earned, product sales flow through revenue and COGS together, and the markup is not its own income line. Get those right and your numbers tell the truth.
Why Interior Design Books Break
A typical small business sells a service for a fee, books revenue when the invoice ships, and moves on. Interior designers do four jobs at once: they sell design services, they procure goods on behalf of clients, they take large deposits before any work is performed, and they collect a markup that lives somewhere between commission and resale margin. Plug those four streams into one generic "Sales" account and the income statement becomes nonsense.
The result is a list of complaints any specialist bookkeeper hears every week. The firm "looks profitable" but cannot make payroll. Quarterly estimated taxes assume revenue that was actually unearned client deposits. Furniture purchases sit in "Office Supplies" or "Operating Expense" instead of cost of goods sold. Markup gets recorded twice, once when the product is invoiced and again when the fee is calculated, inflating both revenue and tax liability. None of these is exotic. All of them come from the same root: the books were not designed for procurement plus retainers plus markup.
Client Retainers Belong on the Balance Sheet, Not the Income Statement
Treat every advance payment as a liability until you have earned it. A $20,000 retainer for a kitchen project that has not started is not your money. It is the client's money sitting in your account, with a contractual obligation attached. Booking it as revenue distorts profit, inflates self-employment tax, and quietly hands the IRS more than you owe in any year where retainers grow faster than projects ship.
The mechanics
Create a current liability account called Client Deposits or Unearned Revenue. When a retainer lands, the entry is:
Dr Cash 20,000
Cr Client Deposits 20,000When the client signs off on a phase, an installation completes, or the contract says a portion of the retainer is earned, you reduce the liability and recognize the revenue:
Dr Client Deposits 5,000
Cr Design Fee Revenue 5,000If you take a 50% deposit on a $12,000 furniture order, the deposit is also unearned. It is not yours until the product is delivered and accepted, even though cash sits in your operating account. Some firms create a separate Product Deposits sub-account so retainers for services and deposits for goods are tracked apart. That distinction will save you later when reconciling open POs against client liabilities.
Cash flow follows from the structure
Once retainers are a liability, the picture changes. The balance sheet shows what you actually owe the client in undelivered work. The income statement shows only what has been earned. Cash flow becomes legible. You stop spending tomorrow's retainer to fund today's overhead, because the books make it visible that the cash is not yours yet. Designers who switch to this structure routinely discover the firm was solvent but cash-poor for years, masked by a P&L that flattered itself with deposits.
Product Sales Are Revenue and COGS, Not One or the Other
When you procure a $10,000 sofa for a client and bill them $13,000, two things happen on the income statement, not one. The full $13,000 is Product Sales Revenue. The $10,000 you paid the vendor is Cost of Goods Sold. The difference, $3,000, falls out naturally as gross profit on goods. You do not need a separate "Markup Income" account. You do not need to journal the markup. The math takes care of itself.
This is the place where the most expensive mistakes happen. The two common errors are mirror images of each other.
Error 1: Booking only the markup as revenue. The designer treats the client like a credit card processor, runs the $10,000 through a clearing account, and recognizes only $3,000 as income. Revenue is understated. Gross margin looks fine in percentage terms but absolute revenue numbers are too small to support staffing decisions, lender conversations, or accurate sales tax filings.
Error 2: Double-counting. The designer books the $13,000 client invoice as revenue, then also books a separate "Procurement Fee" or "Markup" entry of $3,000 as additional revenue. Now reported revenue is $16,000 on a transaction where the client paid $13,000. Every tax form that follows is overstated. So is gross margin until the bookkeeper notices the books no longer agree with the bank.
Both errors disappear when product purchases are routed through COGS and client invoices are recorded at the full billed amount.
A clean revenue and COGS structure
Set up your chart of accounts with at least these income and cost categories:
- Design Fee Revenue — hourly, flat fee, retainer earnings
- Product Sales Revenue — full billed amount for furniture, fixtures, finishes
- Freight & Delivery Revenue — what you charge clients for shipping
- Installation & White-Glove Revenue — what you charge for placement
- COGS – Products — vendor cost of goods you resell
- COGS – Freight In — what vendors charge you to ship
- COGS – Installation Labor — subcontractor invoices for placement
- COGS – Workroom & Custom Fabrication — drapery, upholstery, millwork
The gross margin line tells you per-project profitability without any markup gymnastics. If the books say a project had $80,000 in product revenue and $61,000 in product COGS, the gross profit is $19,000 and the markup percentage works out cleanly. If the markup looks too thin, the freight or installation line will tell you why.
Trade Discounts: Disclose, Keep, or Share — Then Book Consistently
A trade discount is a price reduction from a manufacturer or showroom that only the trade can access. If list is $3,200 and you receive a trade price of $2,240, you have three honest choices. You can pass the full discount to the client and bill at $2,240. You can keep the discount as your margin and bill at list. Or you can share it explicitly, billing at list and crediting back a defined portion.
Whichever you choose, document it in the agreement and book it consistently. The vendor invoice you record is always your actual cost. The client invoice is whatever you bill. Do not record list price as COGS just because it appears on the spec sheet. Do not back out a "phantom discount" as revenue. Reality only. The IRS, your state, and any future buyer of the firm will all expect to see vendor-invoice cost in the COGS account, not list price minus a contrived adjustment.
Purchase Orders, Sales Tax, and the Resale Certificate Habit
Every product purchase should run through a numbered purchase order. The PO ties the vendor invoice, the client invoice, the deposit drawdown, and the freight charges together as a single auditable record. When delivery is confirmed, the PO is closed and the corresponding client deposit is moved from liability to revenue. Open POs sitting unreconciled at year end are the single most common source of revenue and COGS mismatches in design firms.
Sales tax deserves its own discipline. If you buy with a resale certificate, you do not pay sales tax to the vendor; you collect it from the client and remit it to your state. If you forget the resale certificate and pay sales tax on the way in, you cannot also charge the client sales tax, or you have collected a tax that you did not need to collect and have not remitted in a way the state can match.
The clean workflow:
- File a resale certificate with every vendor before the first order
- Track each state where you ship goods and register where you owe
- Set up a Sales Tax Payable liability account, not an expense
- Charge tax on the marked-up client price, not the wholesale cost, because that is what most states require
- File and remit monthly or quarterly per your state's calendar
Skipping any one of these steps converts a routine accounting task into a multi-year cleanup project.
Reimbursables Are a Wash, Not a Revenue Stream
Travel to a vendor showroom, sample shipping, a permit fee paid on behalf of a client — these are reimbursables. Run them through a balance sheet clearing account or through matched revenue and COGS lines so they net to zero. They are not profit. If you bill $400 in travel and have $400 in receipts, your P&L impact is $0. If you tried to book that $400 as revenue without the corresponding cost, you would be paying income tax on a wash.
The cleanest method is a pair of accounts: Reimbursable Revenue and Reimbursable Expense, both flowing through the income statement. They should always be roughly equal at year end. A meaningful gap means you are either eating costs the contract entitled you to bill, or you are billing for things that never happened.
The Five Bookkeeping Habits That Separate Profitable Studios from Stressed Ones
After all the structure, the day-to-day work is unremarkable. The studios that stay profitable do these five things every month, every project, every time.
-
Reconcile bank, credit card, and merchant accounts monthly. Not quarterly, not "when things calm down." Monthly. The longer reconciliation slips, the more likely a missed transaction is hiding a posting error that has now compounded across project margins.
-
Close every purchase order. When the truck unloads, the PO closes, the deposit moves from liability to revenue, the COGS hits, and the freight reconciles. A PO left open is a project that the books cannot tell you was profitable.
-
Keep personal and business accounts separate. Run business expenses through a business card, full stop. The shortcut of "I'll just expense the personal card later" creates a backlog of small errors that grows into a tax-time nightmare.
-
Run a project profitability report at every milestone. Not at year end. By the time the year closes, the unprofitable project is over and you cannot raise the fee. Mid-project reports let you renegotiate scope, adjust markup on the next phase, or politely fire a client who is bleeding the firm.
-
Review the balance sheet, not just the P&L. Most designers look at the income statement. The balance sheet is where the trouble actually lives — open client deposits, undeposited funds, unreconciled credit cards, sales tax due. If the balance sheet looks clean, the P&L is usually telling the truth.
Pricing Math: What 40% Markup Actually Earns You
A common source of margin confusion is the difference between markup and margin. They are not the same number. A 40% markup on a $100 product gives a sales price of $140, and the gross margin on that sale is $40 ÷ $140, which is 28.6%. If you target a 40% gross margin instead, you need to mark up at roughly 66.7%, selling that $100 product at $166.67.
Designers who quote "40%" without specifying which one they mean routinely underprice. If your contract language is ambiguous and you collect "40% markup," do not be surprised when your actual gross margin is well under 30%. Pick one definition, write it in the contract, and stop converting between the two in your head every time a client pushes back. Your books will follow whatever the math actually is.
Keep Your Finances Organized from Day One
Interior design is a procurement business wearing a creative outfit. The studios that grow are the ones that respect the procurement math: retainers on the balance sheet, products through revenue and COGS, sales tax flowing cleanly, purchase orders closed on delivery. The studios that struggle treat every dollar that hits the bank as income and find out at tax time that the IRS disagreed.
Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — every client deposit, every PO, every COGS entry is a readable line in a file you own, with no black boxes and no vendor lock-in. Pair it with a dashboard built for project-based work and you can audit any number on the P&L back to the journal entry that produced it. Get started for free and see why developers, finance professionals, and design studio owners are switching to plain-text accounting they can actually trust.