October 19, 2026 · 11 min read
Bookkeeping for Window and Glass Companies: Custom Orders and Deposits
By 909 Bookkeeping
How to track custom orders and deposits for a window and glass company. Tie each pane and each labor hour to the job, hold the deposit apart from income, and match every payment to the bank so your profit per order is real. Plain English from 909 Bookkeeping.
What a glass shop needs to track
A glass job is not one number. It is a custom order, a deposit, the glass you cut, the frame you bought, the labor on the bench, the install at the site, and the final payment. Each one needs its own line so the profit per order is real.
When you track all of it by job, you can see which orders paid and which ones cost more than they brought in. When you do not, you get one big pile of glass, one big pile of labor, and no way to tell which window was the good job.
Most glass shops run a mix of work. Some days a crew installs a storefront. Some days the bench cuts a custom shower door. Some days a tech fixes a broken pane. Each order has its own costs. Each order has its own pay. When the books tie the two sides together, the shop makes sense. You can read more about how we keep these lines tied on our bookkeeping page.
Here is what a clean order looks like.
| Line | What it means |
|---|---|
| Deposit, order one | The payment that started the order |
| Glass and frame, order one | The materials that went into that job |
| Labor, order one | The bench time and the install time |
| Final payment, order one | The balance after the install |
| Net pay, order one | The total minus the glass, frame and labor |
When each line ties to the order, the pay is real. When they sit in one pile, you are guessing.
How custom orders show up in your books
A custom order moves in steps. The customer picks the glass. You measure the opening. You order the pane and the frame. You cut the glass on the bench. You install it at the site. You bill the balance. Each step has a cost and a day.
The clean way is to book each step to the order it belongs to, on the day the cost or the income is real. The glass buy lands on the order when the pane goes into stock for that job. The bench time lands on the order when the work is done. The install time lands on the order when the crew finishes the site. The income lands when the final payment clears the bank. You can read more about how we handle these steps on our bookkeeping page.
The messy way is to book all glass to one glass line, all labor to one labor line, and all income to one sales line. Now you can not tell which order ate the glass. The next bid gets built on numbers that do not show what the last order cost.
Here is how to keep orders clean.
- **Open one line per order: ** so the glass, the frame and the labor all tie to it.
- - **Book each cost on the day it is real: ** when the pane is cut, when the install is done.
- - **Book each payment on the day it clears the bank: ** not on the day the check is handed over.
- - **Track the unpaid balance: ** so you know what is still owed on each order.
- - **Match each payment to the bank: ** the cash that landed should tie to the step you booked.
When each order sits on its own line, your income matches the work you did. When it sits in one pile, you are guessing.
How deposits sit apart from income
Most glass orders start with a deposit. The customer pays part of the price up front. You order the glass and the frame. The work has not happened yet. The deposit is not income on the day you get it.
The clean way is to book the deposit to a deposit liability line, not to income. The deposit sits on the balance sheet until you do the work. When the glass goes in and the install is done, the deposit moves to income along with the final payment. The job total shows the full price, and the income shows up in the month the work was finished.
The messy way is to book the deposit as income the day it clears the bank. Now your income looks too high in that month and too low in the month you did the work. The profit per order is wrong because the costs have not gone out yet. You can read more about how we handle deposits in our loans and owner draws guide.
Here is how to keep deposits clean.
- **Book the deposit to a deposit liability line: ** not to income yet.
- - **Move the deposit to income when the work is done: ** the day the install finishes.
- - **Tie the deposit to the order: ** so the job total is real at month end.
- - **Match the deposit to the bank: ** the cash that landed should tie to the deposit you booked.
- - **Track the unused deposits: ** so you know which orders are paid ahead and which are not.
When the deposit sits on its own line, your income matches the work you did. When it sits in income too early, the month end report lies.
How materials and glass stock tie to the job
Glass and frame stock are the biggest variable cost on most orders. The way you track that stock changes what your books show.
The clean way is to hold glass and frames in a stock account until a crew pulls them for a job. When the pane goes on the bench, it stays in stock. When the pane goes on the order, the cost lands on that job. At month end, you count the stock and the off cuts and match the count to the books. When the two agree, the materials side is clean.
The messy way is to expense every glass buy the day you buy it. Now every order looks free on glass, and the glass bill looks huge. No one can tell which order ate which pane. The next bid gets built on numbers that do not show what the last order cost.
Here is how to keep materials clean.
- **Hold glass and frames in a stock account: ** until a crew pulls them for a job.
- - **Tie each pane to the order: ** the cost lands when the glass goes on the job.
- - **Count the stock and the off cuts: ** each month, match the count to the books.
- - **Watch the slow movers: ** old glass and frame stock that never sells ties up cash.
- - **Keep returns and credits apart: ** a returned pane goes back to stock, not to a new cost.
When the materials side ties to the order, your profit per install is real. When it sits in one flat cost, the good orders and the bad orders look the same.
How labor and installation tie to the order
Labor is the bench time and the install time. The bench time is the cut, the edge work and the fit. The install time is the drive, the set up and the finish at the site. When labor lands on the order, you can see what each job cost you in time.
The clean way is to track labor by order. The clock starts when the bench work begins and stops when the install is done. The drive time is part of the order it served. When you run payroll, the wages for that time land on the order. You can see what labor cost on each window.
The messy way is to book all wages to one labor line and forget the order. Now every order looks the same on labor, and you can not tell which crew is fast and which one is slow. You can not price the next order right because you do not know what the last one cost in time.
Here is how to keep labor clean.
- **Track bench time by order: ** start time and end time on each job.
- - **Track install time by order: ** the set up, the finish and the drive.
- - **Run payroll and tie it to the order: ** the wages for the time land on the job.
- - **Compare crews on the same kind of order: ** see who is faster.
- - **Watch the labor percent per order: ** if labor eats more than half the bill, the order is too cheap.
When labor ties to the order, you can see if your rate pays. When it sits in one pile, you are guessing.
How the month end close works
At month end, every order needs its lines added up. The glass, the frame, the bench time, the install time, the deposit and the final payment all pull together into one job total. The income for the order sits next to it. The difference is the profit for the order.
We start with the bank. We match each deposit to the bank. We match each final payment to the bank. We tie each pane and each frame to the order it went on. We count the stock and the off cuts and match the count to the books. Then we add up the order. We send you the profit and loss report and a balance sheet. The job totals sit inside the report.
Here is a simple month end check.
- **Match each deposit to the bank: ** every payment that started an order cleared.
- - **Match each final payment to the bank: ** every balance after the install cleared.
- - **Confirm each pane ties to an order: ** no orphan glass sitting in one cost line.
- - **Count the stock and the off cuts: ** match the count to the books.
- - **Add up the order total: ** the glass, frame and labor on the right job.
When the close runs every month, the shop stays clear. When it skips a month, the orders stack up and the next month is harder to close.
A situation we clean up
The deposits that looked like income
A glass shop runs a lot of custom orders. Every deposit lands in the same sales line the day it clears the bank. The glass buys land in one big glass line. The labor lands in one big labor line. At month end, the books show income that looks too high, the glass bill looks huge, and the owner can not tell which orders paid and which ones are still owed. The owner can not tell whether the storefront jobs or the shower door jobs paid better.
Here is how we handle it. We pull the bank statement and match every deposit and every final payment. We move each deposit to a deposit liability line and clear it to income when the install finished. We tie each glass buy to the order it went on. We tie each labor run to the order it served. When we are done, the owner can see the profit on each order, and the bank matches the books. We set up a rule so the next deposit lands on the liability line from the start.
Mistakes we fix
- Deposits booked as income the day they clear the bank
- Glass and frame buys expensed at purchase with no stock account
- All labor booked to one labor line with no order tag
- A deposit that cleared the bank but never tied to an order
- A final payment that cleared the bank but never tied to an order
- Stock never counted so the glass total drifts
- Off cuts left out of the count so the stock number is wrong
- No match between the order total and the bank
Common questions
Is a deposit income on the day I get it? No. Book the deposit to a deposit liability line until the work is done. Move it to income when the install finishes, along with the final payment.
Do I need a stock account for glass? Yes. When you hold glass and frames in stock until a crew pulls them for a job, your materials cost matches the work you did that month. When you expense glass at purchase, every order looks free on glass and the glass bill looks huge.
How do I tie labor to the order? Track bench time and install time by order. Start the clock when the bench work begins and stop it when the install is done. Run payroll and let the wages for that time land on the order.
How do I see profit per order? Add up the income for the order, take out the glass, the frame and the labor, and what is left is what the order paid. Run the same check every month and the pattern shows up.
