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.

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
- In Simpro, go to System > Setup > API > Applications.
- Create a new application with the API Key grant type.
- Download the key file.
- Copy the access token from the key file – this is the value you paste into PostHog.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- 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
acmeoracme.simprosuite.com. Builds are hosted onsimprosuite.comorsimprocloud.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_attimestamp). 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
| Option | Description |
|---|---|
Simpro buildType: text Required: True | The build name or URL you sign in to, such as |
API keyType: password Required: True | |
Company IDType: text Required: False | Leave blank to sync every company in a multi-company build. |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
company_customers | Customers that are businesses, with their contact details, billing settings and linked sites. | Incremental, Full refresh | DateModified | — |
individual_customers | Customers that are people, with their contact details, billing settings and linked sites. | Incremental, Full refresh | DateModified | — |
sites | Sites: the locations where work is done for customers. | Incremental, Full refresh | DateModified | — |
contacts | Contacts: people linked to customers, sites or vendors. | Incremental, Full refresh | DateModified | — |
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 refresh | DateModified | — |
leads | Leads: potential work for a customer before it becomes a quote. | Incremental, Full refresh | DateModified | — |
invoices | Customer invoices raised from jobs or recurring invoices. | Incremental, Full refresh | DateModified | — |
credit_notes | Credit notes issued against customer invoices. | Incremental, Full refresh | DateModified | — |
customer_payments | Payments received from customers. | Full refresh | — | — |
employees | Employees of the business, with their position, cost centres and pay rates. | Incremental, Full refresh | DateModified | — |
schedules | Schedules: blocks of staff time booked against jobs, quotes or activities. | Incremental, Full refresh | DateModified | — |
catalog_items | Catalog items: the materials and parts the business buys and sells. | Incremental, Full refresh | DateModified | — |
vendors | Vendors: the suppliers the business buys from. | Incremental, Full refresh | DateModified | — |
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.





