TradeWeave · ServiceTitan Role Workflows

Bookkeeper / Accounting

Closes the loop between work performed and revenue recognized. Invoicing, collections, and payroll all funnel through the same mechanism — posting — and nearly every fix depends on one question: is the record Pending, Posted, or Exported?

Accounting > Invoices Batch/Export Transactions AR Management Accounting Periods + QuickBooks / Intacct / Xero

Three statuses govern everything in this role: Pending (fully editable), Posted (locked from task changes, GL entries created), and Exported (permanently locked — only an adjustment invoice can touch it from here). Nearly every "how do I fix this" question resolves to figuring out which of the three a record is currently in, because each has a completely different correction path.

Day in the life

The five-stage flow

From invoicing the work through batching, collections, payroll, and the monthly close.

1

Invoice the work

Accounting > Invoices
  • Invoices auto-create in Pending status when a job books; line items pull from the job.
  • Correction ability tracks status exactly: Pending = fully editable; Posted = only location/BU/job type/payment; Exported = locked.
  • Invoices can only be emailed — never texted.
Silent revenue leak A job Completed with no invoiced line items inflates WIP and understates revenue. Filter for $0 Pending invoices against completed jobs weekly, don't wait for it to surface at close.
2

Batch and post

Batch/Export TransactionsGL Errors
  • Posting is a financial action — it creates real GL journal entries (Debit AR, Credit Income) and locks the invoice.
  • Auto-batching groups new invoices within seconds — disable it temporarily before doing manual batch edits, or it re-grabs the invoice mid-edit.
  • Posted-not-yet-exported can be Unposted to fix; Exported or closed-period cannot — only an adjustment invoice works there.
Exported ≠ synced Check Accounting > GL Errors after every export. A batch can show Exported in ServiceTitan while the GL entry silently failed on the accounting-software side.
3

Collect what's owed

AR ManagementCredit Hold
  • Review AR aging weekly — the older a balance gets, the lower the odds of collecting it.
  • Invoices with no payment terms assigned have no due date and never appear in aging buckets at all.
  • Interest doesn't auto-recur — someone must manually run Charge Interest each cycle.
Not a real block Credit Hold is a visual red-banner tag, not a system block — ServiceTitan will still let a CSR book the job. Enforcement is entirely a team-policy question.
4

Run payroll

Payroll DashboardMaster Pay File
  • Configure Timesheet Codes/Activities and payroll profiles before the team starts clocking in.
  • Commissions only calculate on Posted or Exported invoices — a missing commission is usually a status issue, not a calculation bug.
  • New technicians are excluded from payroll by default — check "Include in Payroll" if someone's missing.
  • Review timesheet exceptions before approving — an approved pay period locks and needs explicit unlocking to edit.
Two systems diverge silently All time edits must happen inside ServiceTitan before export. Edits made only in external payroll cause Job Costing to show false profitability.
5

Close the books

Accounting Periods
  • Before closing: post everything outstanding, group payments into Bank Deposits matching the actual bank statement, check for uninvoiced completed jobs (WIP).
  • ServiceTitan Tax Zone names must exactly match the accounting software's Tax Item names, or exports throw errors.
  • GL-unmapped items export to a catch-all account — fixing the mapping only applies going forward, not retroactively.
Irreversible in practice Closing an accounting period blocks Unpost entirely from that point on — only adjustment invoices work for corrections after close. Make sure the period is right before closing it.

Reference

Pitfalls & performance

Common pitfalls

SymptomFix
Completed job shows no revenueFilter $0 Pending invoices against completed jobs weekly
Can't edit an invoiceIt's Exported — use an adjustment invoice
Overdue invoice missing from agingAssign payment terms to it
Credit-hold customer still bookedSystem won't block it — enforce via policy
Commission missingPost the invoice first
Job Costing profitability looks wrongMake all time edits inside ServiceTitan

KPIs to watch

MetricWhere
Invoice cycle timeAccounting > Invoices
WIP gapJob Costing Summary report
AR aging totalAccounting > AR Management
Days Sales OutstandingAR Transactions report
Bad debt % of revenueAccounting > Invoices (adjustments)

Source articles