Integration architecture

Time travel for your data.

Most integrations overwrite the past. Every sync replaces the last value, and the history of how you arrived at today's number quietly disappears. Event sourcing takes the opposite approach: every change is recorded as an immutable event, an unbroken trail of what actually happened.

That single decision — append instead of overwrite — is what makes an integration durable, auditable, reconcilable, and ready for AI.

Event log · append-only
  1. 001 OrderCreated Procore commitment #4821
  2. 002 InvoiceReceived +$48,200 against budget
  3. 003 PaymentApplied Synced to NetSuite
  4. 004 BudgetReconciled Variance resolved

↑ new facts appended · nothing rewritten

What it is

Stop overwriting the truth. Start recording it.

A traditional system stores the current state and mutates it in place. An event-sourced system stores the sequence of changes and derives the current state from them. The difference looks small. The consequences are not.

Overwrite · CRUD

One row, rewritten forever

budget.remaining $112,400

$160,600

$140,200

$118,900

Earlier values are gone. The number is current, but the story behind it is unrecoverable.

Append · Event sourced

Every change, preserved as a fact

  • BudgetSet$160,600
  • InvoiceReceived−$20,400
  • InvoiceReceived−$21,300
  • ChangeOrderApplied−$6,500
Replay the events → $112,400

The current number and the full history. You can answer how, when, and why — not just what.

How it works

Commands express intent. Events record facts.

Work flows in one direction. A command asks the system to do something. If it is valid, the system records an event. The event log is the source of truth; everything else — including the current state your apps read — is a projection rebuilt by replaying those events.

01 Command An intent to change state — “Apply payment.”
02 Event The fact that it happened — “PaymentApplied.”
03 Event log Appended, never overwritten. The system of record.
04 Projections Read models rebuilt by replaying events.
05 NetSuite & apps Current state, dashboards, and answers.

The read side

Replaying every event on each read would be expensive. Snapshots, projections, and caching solve it — pre-computed views tuned for how each consumer actually reads.

CQRS

Command Query Responsibility Segregation separates the write model (append events) from the read models (optimized projections), so each side scales on its own terms.

Where NetSuite fits

NetSuite stays the system of record for transactions. The event log sits around it, capturing the activity that integrations, portals, and AI workflows need to act on reliably.

Why it is better

The benefits compound the moment you stop discarding history.

A complete audit trail by default

Every state change is a durable, timestamped fact. “Why is this number what it is?” stops being an investigation and becomes a query.

Failures become visible, not silent

A failed sync is an event that did not get applied — not data quietly lost between two systems. You can see it, retry it, and prove it resolved.

Integrations that survive growth

Adding a new consumer of the data means adding a new projection. The source of truth never has to be reshaped to fit the next system.

Reconciliation you can trust

Because state is derived from facts rather than overwritten in place, two systems can be compared back to the exact event that diverged.

Reproducibility

Rewind to any point in time.

Because the log holds every fact in order, you can reconstruct the exact state of the business at any moment — the close last quarter, the balance before a disputed change order, the system the instant a bug appeared. This is the "time travel" event sourcing is known for, and it turns debugging and audits from archaeology into a replay.

BudgetSet
Invoice
Invoice
ChangeOrder
Reconciled

Replay to here → state as it was, exactly.

Why it matters for AI

A history of facts is the substrate modern AI needs.

AI is only as good as the data it reasons over. A mutated row tells a model what is true now. An event stream tells it what happened, in what order, and why — the difference between a guess and a grounded answer.

01 Event stream Ordered, immutable history of the business.
02 AI reasoning Pattern detection, prediction, summarization.
03 Action & insight Proposed work, fed back as new events.

Predictive operations

Historical event streams let models anticipate churn, late payments, or budget overruns before they land in a report.

Anomaly and fraud detection

Unusual patterns stand out against a full sequence of facts, not a single mutated row.

Grounded AI agents

Agents reason over what actually happened, with the audit trail finance already trusts, instead of a snapshot with no provenance.

Start with the work

Bring the integration that keeps losing its history.

We will help decide where an event-sourced architecture earns its keep around NetSuite — and where a simpler approach is the right call.