Systems architecture / SYS-03

Build vs buy: automation stack or all-in-one field service platform?

A systems-of-record framework for deciding whether to configure one field-service platform, connect a small boundary stack, or own a more composable automation architecture without confusing flexibility with operational control.

Intent boundary: This page decides an architecture pattern, not a specific vendor winner. “Build” means assembling and maintaining integrations around owned workflows; it does not imply writing an entire FSM from scratch.

First decisionSystem of record
True build costException ownership
Preferred defaultFewest critical joins

Map the service transaction before choosing the stack

01 / Acquire

Capture identity, source, consent, and request

Lead forms, phone systems, ad platforms, inboxes, and AI intake tools often create the first record. Choose where customer identity and communication permission become authoritative.

02 / Commit

Turn request into scope, price, and schedule

The system of record should own the operational promise: property, work scope, estimate version, assignment, arrival window, deposit, and status.

03 / Deliver

Complete work and collect field evidence

Mobile time, notes, photos, forms, equipment, materials, signatures, changes, and payment need one durable job context, not loosely joined copies.

04 / Account

Post the financial result and reconcile

Invoices, payments, fees, refunds, tax, cost, and payouts cross a high-risk boundary. The architecture must name direction, trigger, correction, and exception owner.

05 / Learn

Automate follow-up without breaking truth

Messaging, reviews, reporting, and AI may consume the operational record, but they should not create competing customer, job, consent, or financial truth.

Three viable architecture patterns

Pattern A / Configure

All-in-one FSM first

Use the field-service platform as the operating core and prefer its native scheduling, mobile, payments, communications, reporting, and approved integrations.

  • Best when workflows are common and the team has limited technical ownership
  • Reduces critical joins and support boundaries
  • Accept product constraints only after testing export, permissions, and total cost
Pattern B / Extend

FSM plus bounded automations

Keep customers, jobs, estimates, invoices, and operational status in the FSM; add a small number of event-driven tools for distinct edge workflows.

  • Best when the core fits but one or two high-value gaps remain
  • Every automation needs idempotency, retry, alert, owner, and replay
  • Prevent connected tools from becoming shadow systems of record
Pattern C / Compose

Owned multi-system stack

Assemble CRM, scheduling, mobile work, communications, payments, accounting, warehouse, and analytics around a documented data contract and integration layer.

  • Best only when workflow advantage is material and sustained
  • Requires technical product ownership, monitoring, security, and change control
  • Exit cost includes reconstructing history and replacing custom logic

The build-versus-buy control sheet

Decision factorAll-in-one signalComposable signalProof required
Workflow differentiationThe process is well served by configurable defaultsThe operating model creates durable advantage that standard configuration removesTimed baseline and documented gap with economic consequence
Data ownershipOne FSM can own customer, job, and financial-operating stateMultiple sources are unavoidable and a canonical model is fundedObject map, IDs, direction, retention, and export test
Exception volumeNative workflows cover common failure pathsThe business can monitor, retry, reconcile, and replay integration failuresThirty-day exception forecast and named response time
Technical capacityOperations can administer roles, templates, and approved appsA durable owner can secure credentials, maintain versions, test releases, and support incidentsNamed owner, budget, runbook, and coverage during absence
Change frequencyVendor release cadence and roadmap are acceptableThe workflow changes faster than vendor configuration can supportTwelve-month change log and regression-test cost
Three-year economicsLicense, add-ons, implementation, and exit remain favorableMeasured gains exceed integration build, run, incident, and replacement costConservative total-cost and downside scenario

Direct-test protocol: prove one transaction end to end

01

Declare systems of record

For customer, property, consent, estimate, job, invoice, payment, accounting, files, and reporting, name exactly one authoritative system and every permitted copy.

Pass when: No critical object has two editable masters.
02

Draw triggers and contracts

For every handoff, document event, payload, identifier, required fields, permission, timing, retry, deletion, and version behavior.

Pass when: A new operator can explain when and why each record crosses the boundary.
03

Run the transaction

Create a lead, estimate, reschedule, field change, invoice, payment, refund, accounting post, follow-up, and report across the proposed architecture.

Pass when: Every system shows the intended state with no duplicate entry.
04

Break three handoffs

Expire credentials, remove a required field, and deliver the same event twice; then retry after the destination recovers.

Pass when: Alerts reach an owner, replay is safe, and duplicates are prevented.
05

Simulate change and exit

Change an API field or connected user, remove one connector, export core history, and estimate the work to replace the automation layer.

Pass when: The architecture has a tested recovery path and priced exit plan.
Red flags

Stop treating ambiguity as capability.

  • A diagram shows apps but not the system of record for each object
  • Automation success is measured by runs rather than correct business outcomes
  • A connector is authorized through one employee account with no continuity plan
  • No one owns retries, duplicates, expired credentials, or vendor API changes
  • Custom logic writes directly to financial or customer records without a reconciliation queue
  • Build cost excludes monitoring, security, regression testing, support, and eventual replacement
Measure in operation

Baseline the system, then improve it.

  • Critical handoffs per completed job
  • Automation exceptions per 1,000 events
  • Mean time to detect and resolve a failed handoff
  • Records corrected or duplicated across systems
  • Monthly technical ownership hours
  • Core workflow changes blocked by the architecture
  • Estimated cost and time to export or replace each layer

Continue the systems decision

Primary sources