The quote, the hours, the parts and the invoice are one record.

Professional services automation for automation integrators and IT-services firms. Here is one job, from quote to QuickBooks.

In production today, running real invoices and real QuickBooks Online sync.

Job traveler

Job
PRJ-0118
Customer
Cimarron Controls
Description
Line 4 retrofit
Contract
Fixed Fee $48,200.00
Estimated Hours
241.00
  1. 10 Quote QUO-0412 $48,200.00 · 3 phases Accepted
  2. 20 Project PRJ-0118 241.00 hrs scheduled Released
  3. 30 Time & parts 12 serials 159.70 hrs · Actuals $19,610.00 Logged
  4. 40 Invoice INV-0207 $31,940.00 billed to date Billed
  5. 50 QuickBooks INV-0207 Posted, both directions Posted
  6. Next: Closeout 66% complete Profitability 38.6% to date Open
Job traveler for a Line 4 retrofit. Demonstration data: the company, job and figures are invented.

You quote in one system, track in another, and find out what the job cost in a third.

The stack most services firms run wasn’t designed together. It accumulated. Every seam between those tools is a place where a number gets re-keyed, a change order goes unbilled, or a margin quietly disappears.

PRJ-0118, Line 4 retrofit: what did the job cost so far?
Where it lives Job cost it shows Why it’s wrong
The work, in your PSA $11,179.00 Labor only. The parts you issued were never entered, so it doesn’t know your real cost.
The money, in accounting $18,823.00 As posted. Mileage and per diem aren’t expensed yet, and rebuilding a job’s cost from the ledger is archaeology.
Everything else, in a spreadsheet $17,260.00 Updated by hand two weeks ago, in a file nobody owns and one person actually understands.

Demonstration data. The one-record answer, $19,610.00, is at Op 30 below.

By the time the three agree, the job is closed and the margin is whatever it turned out to be.

Follow one job from quote to QuickBooks.

Cimarron Controls hired you for a Line 4 retrofit. Every number below comes from the same record, and carries from one station to the next unchanged.

  1. Operation 10, quote: The quote is where the job’s numbers start.

    A multi-phase quote builder prices tasks, materials and expenses on separate rate breakdowns, with revisions and capability rules per quote type. The client gets a branded PDF; you keep the revision history behind it.

    Quotes · QUO-0412 · Revision 2 of 2

    PhaseEst. hoursPrice
    1 · Panel build78.00$18,400.00
    2 · Field install118.00$21,300.00
    3 · Commissioning45.00$8,500.00
    Contract (Fixed Fee)241.00$48,200.00
    Quote builder, recreated with demonstration data.

    Carries forward $48,200.00 fixed fee · 241.00 estimated hours

  2. Operation 20, project: Accepted, it becomes the project. Nothing is retyped.

    Converting QUO-0412 copies its phases, tasks and allocations into PRJ-0118. Milestones and change orders live on the project, the Master Schedule and each technician’s My Schedule read from it, and Workforce availability feeds both.

    Projects · PRJ-0118 · Line 4 retrofit

    This project was converted from a quote. Phases, tasks, and allocations were copied on convert.

    PhaseStatusHours used
    1 · Panel buildComplete81.20 of 78.00
    2 · Field installIn progress78.50 of 118.00
    3 · CommissioningNot started0.00 of 45.00
    Project overview, recreated with demonstration data.

    Carries forward PRJ-0118 · 3 phases · 159.70 of 241.00 hours used

  3. Operation 30, time and parts: Hours and serialized parts land on the same job.

    Technicians log time against the phase from the field, with multi-timer capture and a configurable approval workflow. Parts are issued from inventory at the cost layer they were received on, and every serial number issued becomes a Client Asset on the customer’s record.

    Projects · PRJ-0118 · Inventory issued (FIFO)

    ItemCost layerCost
    VFD drive × 3Received 3 Mar · $1,270.00$3,810.00
    VFD drive × 1Received 2 Apr · $1,326.00$1,326.00
    I/O module × 8Received 2 Apr · $313.50$2,508.00
    Labor cost · 159.70 hrs approved
    $11,179.00
    Materials issued · 12 serials
    $7,644.00
    Approved expenses · mileage, per diem
    $787.00
    Actuals
    $19,610.00
    Issued stock and Actuals, recreated with demonstration data.

    Carries forward Actuals $19,610.00 · 12 serials to Client Assets

  4. Operation 40, invoice: The invoice is computed from the work, not retyped from it.

    Progress billing on a fixed fee is the fee times percent complete, measured in hours. NTE and fixed-fee caps are checked before an invoice posts, and anything finished but unbilled waits in Needs to be Billed until it goes out.

    Invoices · INV-0207 · Progress billing

    Hours used ÷ Estimated Hours
    159.70 ÷ 241.00
    Percent complete
    66.27%
    × Fixed Fee
    $48,200.00
    Billed to date
    $31,940.00
    Progress invoice, recreated with demonstration data.

    Carries forward INV-0207 · $31,940.00 billed to date

  5. Operation 50, QuickBooks: It posts to QuickBooks Online, and comes back.

    Customers, vendors, items, invoices, payments and tax codes import from QuickBooks Online, and Plinx Pro writes back through a durable retry queue, so a dropped connection is a delay, not a lost entry. QuickBooks owns the tax engine; Plinx Pro never invents a tax number.

    Accounting · Sync queue

    EntryDirectionState
    INV-0207 · Line 4 retrofitTo QuickBooksPosted
    Customer · Cimarron ControlsBoth waysSynced
    Tax code · on INV-0207From QuickBooksMirrored
    QuickBooks Online sync, recreated with demonstration data.

    Carries forward The ledger entry traces back to PRJ-0118

  6. Closeout, profitability: Margin while the job is still open.

    Estimated, Actuals and Billed to date sit on the project as time and parts land, so you find out a job is underwater in week three, not at close-out. Money is integer cents, never floats, so these totals reconcile to the cent.

    Projects · PRJ-0118 · Profitability

    Estimated
    $48,200.00
    Actuals
    $19,610.00
    Billed to date
    $31,940.00
    Profitability
    38.6%

    (Billed to date − Actuals) ÷ Billed to date

    Profitability view, recreated with demonstration data.

See all twelve modules in detail

Not every job is a project. Tickets and sales orders take the same route.

One task model sits under all three, so a break/fix ticket and a sales order report cost the same way a retrofit does, and land on the same invoice and QuickBooks path.

TKT-2280 Drive fault · T&M with a $1,500.00 NTE cap

  1. Ticket Opened from the client’s call
  2. Time & parts 5.00 hrs · 1 serialized part
  3. Invoice $1,412.00, checked under the NTE cap
  4. QuickBooks Posted

SO-0338 Spare drives · Sales order

  1. Sales order 4 serialized items, issued from stock
  2. Delivery ticket Signed on delivery, which triggers billing
  3. Invoice $6,780.00
  4. QuickBooks Posted

Demonstration data.

Built by people who chased the unbilled hours themselves.

It was designed by people who ran the projects, argued about what a job actually cost, and reconciled the QuickBooks entries at the end of the month. Here is what they would check before trusting it.

In production Live
Running real companies’ billing today: real invoices, real QuickBooks sync, real money.
Correctness Shipped
Integer cents, never floats. Nothing is ever hard-deleted, and a full audit log means a disputed number has a history.
Tenant isolation Shipped
Enforced in the database by PostgreSQL row-level security across 133 tables. Multi-tenant from the first line, not retrofitted.
Access Shipped
Session tokens with refresh rotation and theft detection, rate limiting, tax IDs encrypted at rest, and invitation-based activation. A password is never emailed.
Integration Shipped
A REST API gateway with API-key auth, RFC 7807 errors and HMAC-signed webhooks with retry. Nothing has to screen-scrape.
Operations Shipped
Nightly encrypted off-site backups, a background job queue and error monitoring.
Migration Shipped
CSV import with provenance tracking, so the history you already have comes with you.
Platforms Shipped
One codebase builds for web, macOS, Windows, Linux, iOS and Android.

Signed off against what ships today. What isn’t built yet is listed plainly on the About page, as roadmap.

Bring one real job. We’ll run it end to end.

The fastest way to judge this is to watch a job you already know go from quote to invoice to QuickBooks. Thirty minutes, your numbers, no slide deck.

Or write to [email protected] with the job you want to see, and we’ll reply to set a time.