GladiusTurf crestGladiusTurf

Books · First-party

QuickBooks integration is reactive. We built ours offensive.

Landscape shops have lived in QuickBooks hell for twenty years. Every dollar double-entered: once in the dispatch board, once in the books. Every receipt photographed twice: once for the job folder, once for the bookkeeper. Every reconciliation a Sunday-night drag while the rest of the family eats dinner. The result is a P&L that's six weeks stale, a tax season that triggers a panic, and an owner who couldn't tell you whether mowing is more profitable than hardscape if you put a gun to his head.

Books ends it. A first-party general ledger, built for shops that cut, fertilize, install, and plow. Every paid invoice, every Stripe payout, every Surplus Yard sale, every fuel receipt flows in the moment it happens — into a real chart of accounts, with audit-ready trails, and a P&L that's current to the minute. Your CPA can still close the books in QBO if she wants to. Most stop wanting to within the first quarter.

Engine 28 · BooksEngine 29 · Expense BrainEngine 31 · Tax Engine

The data spine

Every paid invoice. Every Surplus sale. Every fuel receipt. One ledger.

The reason shops live in QuickBooks hell is that the data enters the system three days late, in a CSV, after a human re-keys it from a paper invoice. Books inherits the events from the platform underneath — the moment Stripe settles, the moment the Surplus buyer pays, the moment the crew chief photographs a fuel receipt — and writes the journal entry before the human even thinks about it.

Stripe payoutsClient Portal invoicesSurplus Yard salesCadence late-pay recoveryReceipt photos · vendor billsGENERAL LEDGERdouble-entry · audit-trailposted in real timeP&L by service lineBalance sheetCash flow statementSales tax filing1099-NEC packets
Inputs

Native event hooks, not nightly imports. Stripe webhooks, Surplus Yard checkouts, Cadence collections, vendor bill OCR — all post journal entries the moment they fire.

Ledger

Double-entry GL with companyId-scoped row-level security. Every entry is sourced from a domain event with a stable ID. Reversing entries are a thirty-second action with a reason field.

Outputs

Reports are queries — not exports. Every dashboard regenerates against the live GL the moment you load it. No cached numbers, no "as of last Tuesday."

Chart of accounts

Pre-built for the way landscape shops actually book a dollar.

Eight top-level sections, ninety-six sub-accounts, and the ability for your CPA to extend any of them without a developer involved. The defaults reflect what we've learned watching real landscape books — the QBO templates most shops inherit are a mess inside a week.

4000

Service Revenue

Every dollar your crew earns, broken out by service line so the owner sees which work is actually paying the bills.

  • Mowing
  • Fertilization
  • Hardscape
  • Snow & Ice
  • Irrigation
5100

Materials

Sod, seed, mulch, fert, paver, stone, plant. Every receipt photographed in the field is matched to the job that consumed it.

  • Sod & Seed
  • Mulch
  • Fertilizer
  • Plants
  • Pavers & Stone
5200

Labor

Crew wages flow in directly from Payroll — no double entry. Tagged by service line and by job for true margin reporting.

  • Wages
  • Payroll Taxes
  • Workers' Comp
  • Bonus & OT
5300

Subcontractors

Tree-removal crews, dumpster vendors, irrigation specialists. TINs collected at the first job; 1099-NEC issued by January 15.

  • Tree Removal
  • Specialty Plant
  • Hauling
  • Repair Crews
6100

Equipment

Mowers, aerators, trailers, blowers. Capital purchases depreciate on a schedule; consumables expense in the month consumed.

  • Mowers
  • Hand Tools
  • Trailers
  • Repair & Maintenance
6200

Vehicle & Fuel

Per-vehicle mileage logs auto-generated from GPS. Fuel receipts photographed and matched to the truck that bought them.

  • Fuel
  • Insurance
  • Mileage
  • Tolls & Parking
6300

Office & Admin

Software, phone, marketing, professional fees. The boring overhead that quietly eats six points of margin.

  • Software
  • Marketing
  • Insurance
  • Professional Fees
9000

Other

The rest — interest income, gain on sale, owner draws, charitable contributions. Everything has a home; nothing lands in a 'misc' bucket.

  • Interest
  • Gain/Loss
  • Owner Draws
  • Charity

Expense Brain · Engine 29

Snap a receipt. Categorized in three seconds.

The four-hour weekly bookkeeping huddle becomes a fifteen-minute review. Crew chief photographs a fuel receipt at the pump. Expense Brain reads it (Claude vision), classifies the line items, matches it to the right job using GPS data, and posts the journal entry. The clerk only ever sees the 3% of edge cases.

Books · expense intake
SHELL #4421
1287 OAK RIDGE PIKE
RALEIGH NC 27607
04/24/26 · 07:14 AM
PUMP 03 · UNL
14.220 GAL3.299/G
TOTAL$46.91
VISA ****4118
APPROVED 78421
VendorShell #4421
Amount$46.91
Account6210 · Vehicle Fuel
VehicleTruck-04 (F-250)
JobMOW-1882 · Henderson Property
Confidence98.4%
DR · 6210 Vehicle Fuel ........ $46.91
CR · 1010 Cash · Operating ... $46.91
✓ Posted to GL · 2.7s after capture
1

Reads the photo

Claude vision parses vendor, total, line items, date, payment method. Works on crumpled, blurry, or partially-folded receipts the way real ones arrive.

2

Matches the job

Cross-references GPS clock-ins from the Field Crew App. Knows the truck was at the Henderson property at 7:14 AM — so the fuel purchase ten minutes earlier on the route gets matched to that job's cost.

3

Posts the entry

Writes a double-entry journal posting in three seconds. The clerk reviews only the 3% of receipts where confidence dropped below 90% — the four-hour huddle becomes a fifteen-minute scan.

Reports & exports

Every report your CPA wants. Live, not stale.

Reports are queries against the GL — not exports prepared monthly by a clerk. Every dashboard regenerates against the live ledger the moment you load it. The number on the screen is the number, today.

P&L by Service Line

Mowing margin vs hardscape margin vs snow margin — broken out automatically. Filter by crew, by month, by ZIP.

  • Drill-down from a service-line total to the underlying jobs
  • Compare same-month-last-year on every row
  • Export to PDF or hand to your CPA in QBO format

Balance Sheet

Audit-ready balance sheet on demand. Assets, liabilities, equity — tied directly to the GL with zero reconciliation.

  • Current vs long-term breakouts ready for a banker
  • AR aging buckets (0-30, 31-60, 61-90, 90+)
  • Equipment depreciation schedule auto-maintained

Cash Flow Statement

Operating, investing, financing — the cash story your bonding agent and your bank actually want to see.

  • Indirect method by default; direct method on request
  • Seasonal cash burn projected six weeks out
  • Surplus Yard sales surfaced as a recurring cash source

1099 Prep Packet

Every subcontractor's YTD payout, with TIN already collected. E-file directly or mail by January 15.

  • Auto-generated from the subcontractor cohort
  • Mismatched TIN warnings before you e-file
  • Past-year archives kept for the IRS' 4-year window

Schedule C / Schedule E

End-of-year tax summary in the format your accountant already lives in. No more April 8 panic.

  • Schedule C for sole props, Schedule E for rental property
  • Auto-tagged personal vs business mileage
  • Quarterly estimate reminders mailed to the owner

Sales Tax Filing

Sales tax calculated on every invoice by jurisdiction. Filing-ready packets per state, per county, per quarter.

  • Stripe Tax integrated for every county the crew touches
  • Hardscape vs service taxability handled per state rules
  • Voucher-style export for jurisdictions still on paper

Audit trail

Every entry sourced. Every entry auditable.

Every journal entry carries a stable ID linking it back to the domain event that created it — the Stripe charge, the Surplus Yard checkout, the receipt photo, the manual correction. Click any line in any report and trace it to the source. The auditor calls; you have the answer in two clicks.

  • Reversing entries require a reason field — the why is part of the record
  • Soft-delete on every row · nothing is ever truly removed
  • Period locks per fiscal quarter · prior periods are read-only by default
  • User-level audit logs · who changed what, when, from which IP
  • Seven-year cold-storage retention by default
Audit log · MOW-1882
  1. 07:14 AM
    Fuel receipt photographed · crew_id=04 · Truck-04
  2. 07:14:02
    Expense Brain parsed · Shell #4421 · $46.91 · 98.4%
  3. 07:14:03
    JE-44218 posted · DR 6210 · CR 1010 · job=MOW-1882
  4. 11:42 AM
    Job-cost rollup updated · Henderson margin=37.4%
  5. Apr 30
    Period close · Q2-2026 GL frozen · approver=R.Gamon

Books modules

Five modules. One ledger.

Books ships as one engine, but the surface is broken into modules so the team running the books can specialize without duplicating data.

General Ledger

Real-time double-entry GL. Every paid invoice, every Stripe payout, every Surplus Yard sale, every fuel receipt — posted as a journal entry the moment it happens. No nightly batch. No CSV import. No CPA hand-off email at 11pm.

Landscape Chart of Accounts

Pre-built for shops that mow, fert, install hardscape, and plow snow. Eight top-level sections (Service Revenue, Materials, Labor, Equipment, Subcontractors, Vehicle, Office, Other) with sub-accounts your CPA can extend without a developer.

Expense Brain

Snap a fuel receipt or a mulch invoice. Claude vision reads it, classifies the line items, matches it to the right job using Field Crew App GPS data, and posts the journal entry. 97% auto-categorized; the remaining 3% queue for a 15-minute weekly review.

P&L by Service Line

Mowing margin vs hardscape margin vs snow margin — separated automatically. Every dollar of revenue and cost is tagged with its service line so the owner can see, on a phone, which line of business is actually paying the bills.

Balance Sheet

Audit-ready balance sheet on demand. Assets, liabilities, equity. Tied directly to the GL — no spreadsheet bridges, no quarterly reconciliation marathon. Export to PDF with a single click for the bank or the bonding agent.

Stop losing the revenue
your software is missing.

Switch in 48 hours. Keep your QuickBooks. 30-day money-back guarantee.The first leak we close usually pays for the year.