Finance

All the accounting a service business runs on

A real general ledger, built from the work itself. Every invoice, payment, supplier bill, check, week of wages and commission lands in one set of books — on the department, the zone and the job it belongs to. Nobody types it in twice.

And all of it goes out. If your accountant lives in QuickBooks, Microsoft Dynamics 365 Business Central, Sage Intacct or Acumatica, the books go to them as CSV, TSV or Excel — a test file first, and nothing sent twice. Payroll goes to ADP the same way.

  • A general ledger with department and zone on every line — profit and loss, balance sheet and budgets.
  • Receivables and payables aging, held against the books to the cent.
  • Payables from the purchase order to the check.
  • Payroll from the job clock, overtime past 40 by law, and a file for ADP.
  • Commission for whoever found, quoted and did the work.
  • Sales tax for each authority where the work was done.
  • Exports shaped for four accounting systems by name, and a full file for any other.

Take it whole, or take the parts you need. Tax withholding and filing stay with your payroll provider.

A real general ledger

Small, honest, and built from the work. Invoices, payments, supplier bills, checks and wages post themselves. Every line carries its department and zone, so the profit and loss splits by either one — and the month sits beside its budget.

The ledger's statements for September with the budget switched on: each profit and loss line with its actual, its budget and the variance - labor revenue 6,270.00 against 6,000.00, direct labor wages 1,439.18 against 1,200.00, rent 0.00 against 1,500.00 - net income 6,745.01 against a budget of 3,200.00. Beside it a balance sheet of cash, receivables, payables, sales tax, accrued payroll and equity, stamped assets equal liabilities plus equity.

September against its budget, beside a balance sheet that balances.

A zone is a profit center, so it gets its own column. Split the same month by zone or by department and see which one actually made the money.

The September profit and loss split by zone: a column for Austin Metro, one for Main and the total. Austin Metro carries the labor, parts, fee and subcontract revenue and the wages, for a net income of 7,356.06; Main carries the parts bought and the office overhead, a loss of 611.05; the company made 6,745.01.

The same month, a column for every zone.

Click any number and see every line behind it: the entry, the department, the zone and the job it came from.

The lines behind the labor revenue account for September: each posting's date, entry number, the invoice it came from, its department, its zone, the job number and the amount - including a journal entry and the entry that reversed it.

Every line behind labor revenue, and the job each one came from.

Budgets against actuals

Give an account a budget for a month — company-wide, or for one zone or department — and the profit and loss carries it beside what actually happened.

The P&L is a scorecard

Revenue, gross margin and net income for each zone and department are measured straight from the books and judged against the targets you set — below, on or over, like every other baseline.

Who owes you, and whom you owe

Pick any day. Every open invoice and every approved bill not yet paid lands in the bucket of how late it is — current, 1–30, 31–60, 61–90, over 90 — by customer or by supplier, or one line per document. By zone or department too.

And it is held against the books. Beside every aging sits the ledger’s own balance for the same day. When the two agree, it says so. When they do not, it says exactly why, item by item, to the cent.

The receivables aging at the end of 27 September: three customers with their document counts, oldest due date and days late, and their balances in the current and 1 to 30 day buckets, totalling 2,622.01 across eight documents. Below it, against the ledger: the aging totals 2,622.01 and accounts receivable in the ledger is 2,622.01, stamped AGREES.

Who owes, and how late — 2,622.01 in the aging, 2,622.01 in the books.

The payables aging at the end of 27 September: one supplier, Ferguson Plumbing Supply, two approved bills totalling 318.00, all current, the oldest due 20 October. A note says four draft bills are not aged until they are approved. Against the ledger: 318.00 in the aging, 318.00 in accounts payable, stamped AGREES.

Whom we owe. A draft bill is not a debt until somebody approves it.

Every finance report, one page

Profit and loss, balance sheet, budget against actual, trial balance, the journal, both agings, the pay run, the payroll register, the commission statement, sales tax by authority and the export history — each one says what it answers and opens the screen that holds it.

The same screens work on a phone, so the owner can check who is late from the truck.

The receivables aging on a phone: the as-of date, one row per customer with the balance and how late it is, and the total.

The receivables aging, on a phone.

From purchase order to check

You pay for what actually arrived. Every purchase order line marked received becomes a line on that supplier’s bill — two partial deliveries on one PO make one bill with two lines, and a part bought for a job is that job’s cost.

  1. Raise the PO at the trade counter on a phone, or at the desk.
  2. Receive it in the warehouse — or on site, straight onto the technician’s truck, from their own visit.
  3. The bill drafts from what was received — one press, a line for every line received.
  4. Approve it once the supplier’s own invoice is in hand, by somebody you trust with approval.
  5. The pay run shows everything due, by supplier, with every bill, invoice and PO number in view.
  6. Cut the check — in full or in part. A check number is never used twice.
The pay run with Ferguson Plumbing Supply opened: its bill numbers, the supplier's invoice numbers and the purchase order numbers in one row, then three bills ticked to pay - one for 100.00 of its 233.00 balance, two in full, one of them a truck inspection - with the check number, date, bank account and a button to review the check for 418.25.

Three bills to one supplier — one paid in part — on one check.

And everything else

A van inspection, shop supplies, the software subscription — a general bill, charged to the account you choose, paid on the same run.

Nothing is owed until it is approved

A draft bill is not a debt. It joins the payables aging, and then the books, once somebody approves it.

Payroll from the job clock

Your technicians already tap the job clock — on the way, arrived, working, done. That is the timesheet.

Paid time runs from when they start traveling to when the work ends. Overlapping visits count once. Anything past 40 hours in a workweek is overtime, because that is the law.

Nobody types hours a second time, and nobody chases a timesheet on Friday.

The paycard is theirs

Every technician has a paycard on their own phone: what they have earned this week so far, and every past week exactly as it was paid — with the visits behind every hour.

Each person sees their own pay and nobody else’s. It is their proof, not your report.

The paycard on a technician's phone for the week of September 13 to 19, stamped FROZEN: gross paid 1,092.51 before taxes and deductions, regular and overtime hours and pay, the hourly and overtime rates, and below it the visit behind the pay - the job number, the site, the start and end times, the hours and the amount.

A past week, exactly as it was paid, with the visit behind it.

Close the week, and it stays closed

Closing a week freezes it. What was paid stays what was paid. The wages post to the books against each job’s department and zone.

The payroll register for a closed week, stamped FROZEN - THE PAID RECORD: five technicians, each with their pay basis, rate, overtime rate, regular and overtime hours, regular and overtime pay, gross and the number of visits, with totals and a button to download the file for the payroll provider.

A closed week: rates, regular and overtime hours, and gross, for everyone in payroll.

A week fixed after it closed is paid on the next check

A visit nobody ended. A clock corrected after payroll ran. The next close finds every correction to every earlier week and pays the difference at the rates of the week it belongs to — with overtime worked out inside that week, the way the law counts it. Time taken off is recovered the same way.

The payroll register for the week of 27 September to 3 October, live so far: five technicians with an Adjustments column - 52.12, 54.76, 251.60, 143.11 and 88.55, 590.14 in all, inside a gross of 743.25. A note says closing this period will pay six corrections to earlier closed weeks for five people, each at that week's rates.

Six corrections to earlier weeks — 590.14 — on this week’s check.

One technician's check for the week: live so far, hourly at 38.50 with overtime at 57.75, adjustments of 143.11 and a gross of 214.48. Below it, corrections to earlier weeks: one correcting the week of 13 September, a visit on Saturday 19 September from 14:10 to 16:40, 2.49 hours for 95.88; one correcting the week of 20 September, 1.23 hours for 47.23 - each with the job, its rate, department and zone.

Each correction names the week it corrects, at that week’s rate.

The register is the file for ADP — or whoever runs your payroll: names, home county, rates, regular and overtime hours and pay, commission and gross, salaried people too. Corrections come in their own columns, so they are handled apart from this week’s time.

Commission, earned from baselines

Three people can earn on one job: the technician who found it, the estimator who quoted it, and the technicians who did it, split evenly.

Plans sit on the same ladder as your baselines — the company, a zone, a department, a crew, then the person — and the closest one wins. Labor and parts carry their own percentages. When a technician found the work, the estimator can earn at a lesser rate.

It is earned when the invoice is paid in full — or when it posts, if your plan says so. If a payment bounces, the plan decides: take it back, hold it, or let it stand.

And it lands on the paycheck. The technician sees it on their paycard, invoice by invoice — you found it, you quoted it, you did the work. Somebody outside payroll is paid on a bill instead.

The paycard for the current week, stamped LIVE: gross so far 71.37, adding up as visits finish, made up of commission. Below it, the commission on this check, invoice by invoice - you quoted it, you did the work, you found it - each with its invoice and job number and the amount.

This week so far, and the commission on this check.

The commission statement: 153.11 owed to three people. For each, every entry - the date, the invoice, the job, the role (finder, estimator or performer) with the plan that set its rate, the labor and parts base, the rates, the share and the amount, each marked OWED. One technician's own finder plan pays 6 percent of labor where the crew's pays 5.

Who earned what, on which paid invoice, and the plan that set the rate.

Sales tax where the work was done

The rate comes from the service site — never the billing address. A site sits in its state, county, city and transit district, and each authority is its own line on the invoice.

What is taxed comes from the customer. Commercial or residential decides whether labor is taxed, and an exemption and its certificate belong to the customer who pays — not to the building.

At filing time: what was collected for each authority, under the code it is filed under, with a file for the return. A permit fee is a line on the job, never folded into the tax.

The tax collected report for September, headed taxed where the work is done: the State of Texas, the City of Austin and the Austin transit authority each on its own row under state, city and transit, with its filing code, the taxable amount, the tax and the number of documents, and a button to download the file.

State, city and transit, each with the code it is filed under.

Licences and registrations

A contractor licence for every state you work in, trade certifications and who holds them, business licences, DOT and motor-carrier numbers, sales tax permits, bonds and insurance — each with its number exactly as issued, its class, where it is valid and when it expires.

You choose which ones print on your paperwork. The contractor licence goes on every quote and invoice; the bond stays on file for bidding. A technician’s own trade licence is kept on their record, with its expiry.

The company details screen: the letterhead a customer sees - the logo, the company name and address, the Texas contractor licence TACLA00412C (Class A) and the Texas sales tax permit printed beneath - and the licences and registrations list below it: the contractor licence, held by R. Delgado, expiring 31 May 2027, and the sales tax permit, both marked ON DOCUMENTS, and a bond marked ON FILE, each with its number and a button to change or retire it.

The company’s registrations, and which ones print on the letterhead.

Approved, reviewed, exported once

Every money document — invoice, payment, bill, check and pay week — is approved, then reviewed by a named person, then exported in a batch. Approval belongs to the people you give it to.

The exports screen showing exported bills: tabs for invoices, payments, bills, checks and payroll, and for to review, to export, exported and history. Two supplier bills are listed with who reviewed each one and when, and the batch it was exported in, with a link to fetch that batch's file again.

Who reviewed each bill, when, and the batch it left in — still in the books.

Exporting takes a document out of the work area. It never takes it out of the books — and once it is exported it is corrected only by voiding it, so what you have and what your accountant has cannot drift apart.

Approved by somebody. Reviewed by name. Exported once.

Export everything, to whatever keeps your books

Run the business here, and keep your accountant where they are. The books go out whole — every journal entry and line, with its account, department, zone, job and customer or supplier — as CSV, TSV or Excel, all three written from the same cells so they never disagree.

4accounting systems by name, and a full file for any other
3formats — CSV, TSV and Excel
1test file before anything is committed
0entries sent twice to the same system
Your accounting systemWhat goesDepartment goes inZone goes in
QuickBooks OnlineInvoices, payments, bills and checks — or the general journalClassLocation
Microsoft Dynamics 365 Business CentralThe general journalShortcut dimension 1Shortcut dimension 2
Sage IntacctThe general journalDepartmentLocation
AcumaticaThe general journalSubaccountBranch
Anything elseThe general journal, every columnDepartmentZone
ADP, for payrollThe payroll register — hours, rates, gross and corrections——

Each file is shaped from that system’s own published import template. Run the test file through your import before the first real one.

A test file before anything is committed

Build exactly the file an export would send, and change nothing. Import it, check it, then export for real.

The general journal export: a date range from 1 to 27 September, a choice of QuickBooks Online, Business Central, Sage Intacct, Acumatica or a generic file with every column, the file as Excel, and a test file built for Sage Intacct - 69 journal entries and 184 lines, debits 55,448.23 and credits 55,448.23, they balance, nothing was exported. A warning notes that seven entries came from documents already exported, so they would count twice in the same system.

A test file for Sage Intacct: 69 entries, and the debits equal the credits. Nothing was sent.

Six lines of that file — one invoice, its revenue, and three tax authorities on their own lines, each carrying its zone and department:

JOURNAL,DATE,DESCRIPTION,REFERENCE_NO,LINE_NO,ACCT_NO,LOCATION_ID,DEPT_ID,DOCUMENT,MEMO,DEBIT,CREDIT
GJ,09/27/2026,Invoice 0000000017,00000020,1,4100,AUSTIN,SERVICE,0000000017,Revenue,,100.00
GJ,09/27/2026,Invoice 0000000017,00000020,2,4500,AUSTIN,SERVICE,0000000017,Revenue,,200.00
GJ,09/27/2026,Invoice 0000000017,00000020,3,2100,AUSTIN,SERVICE,0000000017,Tax - State of Texas,,6.25
GJ,09/27/2026,Invoice 0000000017,00000020,4,2100,AUSTIN,SERVICE,0000000017,Tax - City of Austin 2227016,,1.00
GJ,09/27/2026,Invoice 0000000017,00000020,5,2100,AUSTIN,SERVICE,0000000017,Tax - Austin MTA 3227999,,1.00
GJ,09/27/2026,Invoice 0000000017,00000020,6,1100,AUSTIN,SERVICE,0000000017,Accounts receivable,308.25,

Nothing goes twice

An export takes only the entries that system has not had. Send September again and nothing goes. An entry posted late into September goes with the next export, not never.

And if your invoices already went across as documents, it tells you before the same money is booked twice.

The same file, again

A batch that left can be downloaded again at any time, in any of the three formats — rebuilt from what it carried, so it is the file that went.

QuickBooks, Microsoft Dynamics 365 Business Central, Sage Intacct, Acumatica and ADP are trademarks of their respective owners. ServiceProof exports files for them to import; it is not affiliated with, or endorsed by, any of them.

Ask your books anything

Everything on this page is also a question you can ask. “How did Austin do against budget last month?” “Who owes us more than thirty days?” “What do we owe Ferguson, and on which POs?” Your agent reads the same books you do, with the permissions you gave it.

Or just start it. Closing a pay week, paying a supplier, reviewing what goes to the accountant — every money job starts from one page, in a sentence.

The Take an action page's money groups. Stock: receive a delivery, move stock between places, count a shelf or a van, add a part or a warehouse. Buying and paying: raise a purchase order, add a vendor, enter a vendor's bill, turn receipts into bills, approve bills, pay what is due, void a check. Billing and getting paid: bill a job, send an invoice, record a customer's payment. The books: close a pay period, pay out commission, review money before it leaves, export to QuickBooks, export payroll for ADP, read the P&L and balance sheet, set a budget, post a journal entry, see sales tax owed, read the finance reports.

Every money job, one page: stock, buying and paying, billing, and the books.