In oilfield services, the gap between what the field did and what the office can bill is where money quietly disappears. Integration is how you close it — and it's also where most integration projects overreach.
Name the system of record for each object
The first fight in any oilfield integration isn't technical. It's about who owns what. ERP usually owns the customer master, pricing, and invoices; the field system owns tickets, hours, and equipment usage; Salesforce owns the relationship, the opportunity, and often the service catalog.
Write this down explicitly before a single field is mapped. When two systems both think they own the customer record, you don't get integration — you get a slow-motion data war that support tickets can't resolve.
Sync the minimum that earns its keep
It's tempting to sync everything “so it's all in one place.” Resist it. Every field you replicate is a field you now have to keep consistent across systems that update on different schedules.
Sync what a Salesforce user genuinely needs to act on — customer status, open tickets, billable amounts, credit holds — and leave the rest where it lives, reachable by a link or an on-demand lookup. A lean integration is one you can still reason about a year later.
Design for the field's reality
Field operations happen where connectivity is poor and conditions are rough. Your integration has to assume delayed data, out-of-order updates, and tickets that get corrected after the fact.
That means building for idempotency — the same ticket arriving twice shouldn't create two records — and for late arrivals that update yesterday's numbers without corrupting today's. An integration that only works when the network is clean will fail exactly when the work is busiest.
Make errors visible to a human who cares
Integrations fail. The question is whether anyone finds out before the customer does. Silent failures — a ticket that never synced, a price that didn't update — surface as billing disputes weeks later.
Build a visible queue of failed and pending records that an ops person actually watches, with enough context to fix the problem, not just a log entry buried in a developer console. The measure of a good integration isn't that it never breaks; it's that breaks are caught quickly and cheaply.
Prefer platform events and APIs over nightly batch
Nightly batch jobs feel simple, but in oilfield services they mean the office is always a day behind the field, and a day is enough to invoice wrong or dispatch a crew to a job that's already closed.
Where the data drives a decision, move toward event-driven or near-real-time patterns using platform events or API callouts. Reserve batch for genuinely low-urgency reconciliation. The right cadence is set by how fast a stale record causes a bad decision, not by what's easiest to schedule.
Keep the integration layer thin
Business logic that lives inside the integration — pricing rules, approval logic, data transformations no one documented — is the hardest kind to maintain, because it's invisible to both the Salesforce team and the ERP team.
Keep transformations minimal and push real logic into the systems that own it. When the integration is a pipe rather than a brain, you can change one end without holding your breath about the other.
The takeaway
Oilfield integration succeeds or fails on discipline, not sophistication. Decide the system of record per object, sync only what earns its keep, assume the field's messy reality, and make failures loud enough that a human catches them fast. The teams that treat integration as plumbing — thin, observable, and boring — spend far less time firefighting than the ones that build a clever second brain in the middle.
