Linking Simpro as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

The Simpro connector syncs your field service management data – customers, sites, jobs, quotes, invoices, employees, vendors, and more – into PostHog so you can analyze operations alongside your product data.

Prerequisites

You need a Simpro account with API access enabled. A Simpro administrator must create an API key for PostHog to use.

How to create an API key

  1. In Simpro, go to System > Setup > API > Applications.
  2. Create a new application with the API Key grant type.
  3. Download the key file.
  4. Copy the access token from the key file – this is the value you paste into PostHog.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Simpro, you need:

  • Simpro build – the build name or URL you sign in to, such as acme or acme.simprosuite.com. Builds are hosted on simprosuite.com or simprocloud.com.
  • API key – the access token from the key file you downloaded above.
  • Company ID (optional) – the numeric ID of a specific company to sync. Leave blank to sync every company in a multi-company build.

Multi-company builds

Simpro builds can contain multiple companies. If you leave the Company ID field blank, PostHog syncs data from all companies in the build. Each row includes a CompanyID column so you can filter or join by company. Builds without multi-company setup use company ID 0.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

Simpro-specific sync behavior

Most Simpro tables support incremental sync using the DateModified field. PostHog filters from the day before the last sync watermark to make sure no records are missed, then deduplicates by primary key.

The following tables use full table sync because changes to child records (cost centers, receipts) don't always update the parent's DateModified:

  • jobs
  • customer_payments
  • vendor_orders
  • cost_centers

Archived rows

Several Simpro list endpoints hide archived rows by default. PostHog syncs both active and archived rows automatically, so your warehouse contains the full picture. Tables that include archived rows are: company_customers, individual_customers, sites, employees, catalog_items, vendors, vendor_orders, and cost_centers.

Configuration

OptionDescription
Simpro build
Type: text
Required: True

The build name or URL you sign in to, such as acme or acme.simprocloud.com.

API key
Type: password
Required: True
Company ID
Type: text
Required: False

Leave blank to sync every company in a multi-company build.

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
company_customers

Customers that are businesses, with their contact details, billing settings and linked sites.

Incremental, Full refreshDateModified—
individual_customers

Customers that are people, with their contact details, billing settings and linked sites.

Incremental, Full refreshDateModified—
sites

Sites: the locations where work is done for customers.

Incremental, Full refreshDateModified—
contacts

Contacts: people linked to customers, sites or vendors.

Incremental, Full refreshDateModified—
jobs

Jobs: service and project work done for a customer at a site, with stage, status and totals.

Full refresh——
quotes

Quotes: priced proposals for work, which can convert into jobs.

Incremental, Full refreshDateModified—
leads

Leads: potential work for a customer before it becomes a quote.

Incremental, Full refreshDateModified—
invoices

Customer invoices raised from jobs or recurring invoices.

Incremental, Full refreshDateModified—
credit_notes

Credit notes issued against customer invoices.

Incremental, Full refreshDateModified—
customer_payments

Payments received from customers.

Full refresh——
employees

Employees of the business, with their position, cost centres and pay rates.

Incremental, Full refreshDateModified—
schedules

Schedules: blocks of staff time booked against jobs, quotes or activities.

Incremental, Full refreshDateModified—
catalog_items

Catalog items: the materials and parts the business buys and sells.

Incremental, Full refreshDateModified—
vendors

Vendors: the suppliers the business buys from.

Incremental, Full refreshDateModified—
vendor_orders

Vendor orders: purchase orders sent to suppliers.

Full refresh——
cost_centers

Cost centres: the accounting categories that job and quote costs and revenue are booked to.

Full refresh——

Troubleshooting

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Still have questions?

Was this page useful?