-
Notifications
You must be signed in to change notification settings - Fork 0
Accounting Payroll and Reports
Doug edited this page Aug 8, 2026
·
4 revisions
The money side: costs, pricing, budgets, payroll, the internal general ledger, and the analytics built on top.
An internal double-entry ledger — off by default — that books revenue-side activity as it happens, straight from the app's own documents.
- Accounting Settings (nav: Accounting → Accounting Settings) — manage the chart of accounts (add, rename, renumber, deactivate; system accounts can be renamed but never deleted), map payment methods, credit/refund reasons, and expense categories to accounts, and set accounting policy (cash vs. accrual reporting basis, tax basis, inventory treatment, cutover month). Each setting can carry a "CPA reviewed" stamp.
- The master switch — posting stays off until an admin explicitly enables it (typing a confirmation phrase). Off means zero behavior change anywhere in the app. Enabling is deliberately a one-way door: once journal entries exist, the load-bearing settings (inventory treatment, cutover month, payment-method mapping) freeze read-only, and posting can only be switched off again while the ledger is still empty.
- What posts automatically — invoice issuance (accounts receivable, revenue by line category, sales-tax liability), payments received (bank or undeposited funds by payment method), credit memos, refunds, applied customer credits, and expenses. Edits and voids reverse and re-post the affected entries, so the books always match the documents.
- Ledger (nav: Accounting → Ledger) — the internal reporting surface: trial balance, P&L, balance sheet, and a journal browser you can drill from a reported total down to the entries behind it. It reads the internal ledger only, so while posting is off these reports are empty by design.
- Cutover & opening balances — enter pre-cutover account balances so the first reporting period starts from real numbers. Entries are classified as pre- or post-cutover by date, and historical documents can be backfilled into the ledger rather than re-keyed.
- QuickBooks stops being the book of record — while posting is on, the QuickBooks pulls that would mutate invoices and payments are refused, so money can't be written around the posting chokepoint. Read-only mirror pulls (accounts, bank transactions) and non-money pulls (customers, items, vendors) are unaffected; corrections flow GDX → QuickBooks, never back (see Integrations).
Independent evidence of what actually hit the bank, next to what the app thinks happened.
- Bank Feeds (nav: Bank Feeds) — connect bank accounts over the Banno Consumer API (OAuth, multi-institution): synced transactions and a statement archive, kept fresh on a schedule. Setup in Integrations.
- Statement import — bank statements (and their check / deposit-ticket images) import as an evidence layer: each statement's transactions become rows you can open, with the source document attached.
- Statement ↔ books matching — a matcher lines statement transactions up against GDX's own payment and expense records and produces verification reports: what reconciles exactly, what's on the statement but not in the books, and what the books claim that the bank never saw.
- Expenses — vendor, amount, date, category (fuel, parts, tools, advertising, …), line-item breakdown, optional job link. Expenses can carry receipt attachments (photos or PDFs, several per expense, retained long-term even after removal from view), and a receipt a tech captured in the field can be promoted into an expense with vendor, amount, date, and job link pre-filled and the photo kept attached.
- Job costing — labor + material cost per job against quoted margin.
- Pricing — the pricing-engine configuration: margins by customer class (retail / contractor / wholesale), part-cost tiers, volume discounts, labor rates with per-tech overrides, and adder rules (e.g. high-lift, low-headroom, insulation).
- Labor Matrix — man-hours and rates by task; it also drives appointment durations on the dispatch calendar.
- Vendor statements — payables ledger (see Inventory & Purchasing).
- Exports — CSV export of customers, jobs, invoices, estimates, payments, technicians, and leads.
- Sales-tax report — taxable, exempt, and collected-tax totals by period, with per-invoice provenance (which system the figure came from — GDX or an imported QuickBooks record), so a filing can be traced line by line.
- QuickBooks — two-way sync of customers, invoices, payments, and expenses; see Integrations. Settings include a money-pull pause (stop QB sync from overwriting locally recorded payments), and admin repair tools reconcile imported QB books — paid-status, customer identity, and payment-substance repair.
- Payroll — timeclock entries roll up into pay periods.
- Commissions — rules by role (parts %, labor %, per-review bonus) compute per-user earnings by job and month.
Monthly budgets with line items by account (fixed / variable / percent-of-revenue), compared against actuals pulled from the QuickBooks P&L.
These live in the nav's Experimental group while their accuracy loops mature:
- Reports — report builder with CSV export (invoices, estimates, jobs, time entries, warranty claims) over a date range.
- Forecasting — revenue/cash-flow projections, with a measurement loop that snapshots forecasts daily and reconciles them against what actually happened.
- Variance report — estimated vs. actual materials per job.
- Budget — budget vs. actuals.
- Spending trends — historical cost analysis.
- Overhead — overhead tracking and projection.
- Performance — technician productivity metrics (jobs, hours, revenue).
- Labor variance — quoted labor vs. actual clocked time.
- Average job duration (reports + dashboard) is computed from the hours techs attested at close-out — evidence, not elapsed-timer guesses.
- Invoicing & Payments — the revenue records these reports read.
- Integrations — QuickBooks setup.