CRM migration

Migrate from PBS Systems to Twenty CRM

Field-level mapping, validation, and rollback between PBS Systems and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

PBS Systems logo

PBS Systems

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between PBS Systems and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

PBS Systems v10 APEX is a 35-year-old automotive dealership management system with an embedded CRM module built around vehicle sales, service write-ups, parts management, and F&I deal structures. Its data model reflects that automotive context — customer records carry vehicle associations, deal records embed financing terms, and the CRM layer is secondary to the DMS workflow. Twenty CRM is a modern open-source CRM built on TypeScript, NestJS, React, and PostgreSQL, with a generic object model designed for People, Companies, Opportunities, Notes, and Tasks, plus unlimited custom objects. It has no native automotive context, which means PBS-specific concepts like F&I products, stock numbers, deal types, and trade-in values must be mapped to Twenty custom objects or custom fields. FlitStack AI extracts PBS data via the PBS database export interface, transforms it into Twenty's CSV or bulk-import format, creates the necessary custom fields and objects in Twenty before import, and sequences the load so foreign keys resolve correctly — companies first, then people, then opportunities. We preserve original create dates, owner assignments, and activity timestamps. Workflows, automations, and reporting templates that existed in PBS do not migrate; we export their definitions as a rebuild reference for your Twenty admin. The migration runs against Twenty's REST and GraphQL APIs with a 24–48 hour delta-pickup window that captures any records modified during cutover.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

PBS Systems logo

PBS Systems

What's pushing teams away

  • Fixed-operations workflow at point of sale is time-consuming and keyboard-light, requiring excessive mouse navigation compared to ADP/CDK.
  • Service write-up and parts counter operations run measurably slower than competing DMS platforms, creating bottlenecks during high-volume periods.
  • Shipping and receiving workflows take 3-4 times longer than ADP/CDK, causing dealerships to fall behind on returns and freight processing.
  • Latest v10 APEX UI update consolidated window separations that staff relied on, making previously accessible functions harder to locate.
  • Slow program loading and delayed clock-in recording frustrate staff who use the system daily, particularly on older hardware.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How PBS Systems objects map to Twenty CRM

Each row shows how a PBS Systems object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

PBS Systems

PBS Customer / Contact

maps to

Twenty CRM

People

1:1
Fully supported

PBS customer records map directly to Twenty People records. PBS stores name, phone, email, and address on the customer record — these map to Twenty's name, email, phone, and address fields. PBS customers without a company association land as standalone People records in Twenty.

PBS Systems

PBS Customer Address

maps to

Twenty CRM

People (address fields)

1:1
Fully supported

PBS customer address fields (street, city, state, postal code, country) map directly to Twenty People address fields. If a PBS customer has multiple addresses (mailing vs. physical), the primary address maps to Twenty and secondary addresses are stored as Note records for reference.

PBS Systems

PBS Dealership / Organization

maps to

Twenty CRM

Company

1:1
Fully supported

PBS stores dealership and organization context on customer records. If PBS exposes a standalone company or dealership entity, it maps to Twenty Company records. Company name, industry (automotive), website, and employee count translate to Twenty Company fields. PBS dealerships that span multiple locations are handled as separate Company records in Twenty, preserving each location's unique address and contact information. This ensures your Twenty workspace mirrors the full dealership network structure from PBS.

PBS Systems

PBS Deal / F&I Contract

maps to

Twenty CRM

Opportunity

1:1
Fully supported

PBS deal records — including deal amount, financing terms (APR, term length, down payment), F&I products (GAP, tire protection, service contract), trade-in value, and stock number — map to Twenty Opportunity records. F&I-specific fields and stock number migrate as Twenty custom fields because Twenty has no native F&I or stock-number concept.

PBS Systems

PBS Deal Status / Stage

maps to

Twenty CRM

Opportunity.stage (custom pick-list)

1:1
Fully supported

PBS deal stages (Pending, Approved, Funded, Delivered, etc.) map to a custom Opportunity stage pick-list in Twenty. Stage values are mapped value-by-value, and a custom probability field re-applies the probability weightings from PBS for accurate forecasting in Twenty. PBS stage names are preserved exactly as they appear in your PBS environment to ensure pipeline reporting continuity. Any PBS stage that does not have a direct Twenty equivalent is assigned the closest matching stage, with deviations documented in the pre-migration audit report for admin review before finalization.

PBS Systems

PBS Vehicle Record

maps to

Twenty CRM

Custom Object: Vehicle

1:1
Fully supported

PBS vehicle records (VIN, make, model, year, color, trim, mileage, stock number) have no direct equivalent in Twenty's standard objects. We create a Vehicle custom object in Twenty with fields for VIN, StockNumber, Make, Model, Year, Color, Trim, and Mileage. Each Vehicle is linked to a People record (customer) and an Opportunity record (deal).

PBS Systems

PBS Activity (Call / Email / Meeting)

maps to

Twenty CRM

Task / Note

1:1
Fully supported

PBS call logs, email records, and meeting notes map to Twenty Tasks and Notes objects. Tasks capture the activity type, subject, date, owner, and outcome. Notes capture free-form content with original timestamps and are linked to the relevant People or Opportunity record in Twenty.

PBS Systems

PBS Service Write-Up

maps to

Twenty CRM

Custom Object: ServiceWriteUp (or Note)

1:1
Fully supported

PBS service write-ups contain labor lines, parts used, service advisor, and RO number. These migrate as a custom object in Twenty if the PBS export provides structured service records, or as Notes attached to the People record if only narrative data is available. Advisor name maps to the Twenty Workspace Member relation.

PBS Systems

PBS Owner / User

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

PBS owner IDs are resolved by email match against Twenty Workspace Members. PBS users who do not have a corresponding Twenty account are flagged before migration. Their records are assigned to a fallback Twenty user or held in a staging queue for admin assignment after the migration.

PBS Systems

PBS Custom Fields

maps to

Twenty CRM

Custom Fields on relevant object

1:1
Fully supported

PBS custom fields on customer, deal, and vehicle records migrate to Twenty as custom fields on the equivalent object. Each custom field is created in Twenty Settings → Data Model before the migration run. Field type is inferred from PBS data (text, number, select, multi-select, date, relation) and matched to the corresponding Twenty field type.

PBS Systems

PBS Parts Inventory Reference

maps to

Twenty CRM

No equivalent in Twenty

1:1
Fully supported

PBS parts inventory records (part number, description, cost, list price, bin location) are DMS-specific and have no CRM equivalent in Twenty. If the migration scope includes parts data, we store a reference export as a CSV file alongside the Twenty migration so the parts data can be accessed independently.

PBS Systems

PBS F&I Product (GAP, Tire, Service Contract)

maps to

Twenty CRM

Custom Field on Opportunity

1:1
Fully supported

F&I products sold as part of a PBS deal (GAP coverage, tire protection plan, prepaid maintenance, service contract) migrate as custom multi-select or text fields on the Opportunity record in Twenty. Product name, provider, and term are preserved in separate custom fields so the F&I product mix is visible on the Twenty deal record.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

PBS Systems logo

PBS Systems gotchas

High

No public data export API for self-serve migration

Medium

Custom fields vary per dealership with no standard schema

Medium

Service history links to parts and technicians require careful relationship mapping

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Twenty requires custom fields to exist before CSV import — PBS data export creates a sequencing dependency

    Twenty's CSV import process enforces a strict pre-condition: every field referenced in the import file must already exist in Settings → Data Model. PBS Systems exports its data with field names that differ from Twenty's conventions (for example, PBS uses 'stock_number' while Twenty would need 'StockNumber__c' on a custom Vehicle object). FlitStack AI handles this by auditing the PBS export, creating all necessary custom fields and objects in the Twenty workspace before any CSV data is uploaded, and sequencing the import so fields exist before they are referenced. If your PBS export contains a custom field that was never formally named in the PBS schema, it is flagged during the audit phase and resolved before the migration runs.

  • PBS F&I deal structure has no native equivalent in Twenty — deal financing must be decomposed into custom fields

    PBS deal records embed financing data — APR, finance term, down payment, trade-in value, and F&I products (GAP, tire protection, service contract) — as a tightly coupled unit. Twenty Opportunity records have no native fields for APR, term length, or F&I product mix. FlitStack AI decomposes the PBS deal financing record into separate custom fields on the Twenty Opportunity: APR__c, Finance_Term__c, Down_Payment__c, Trade_In_Value__c, and FI_Products__c as a multi-select. This preserves the full financing picture on the Twenty deal record but requires custom field creation before import. F&I product terms and provider details are stored as supplementary custom text fields. Dealerships that need to rebuild F&I product reporting in Twenty will need to use Twenty's Opportunities view with these custom fields included.

  • PBS automotive vehicle data requires a custom Vehicle object in Twenty — stock number and VIN are not standard CRM fields

    Twenty's standard object model (People, Companies, Opportunities, Tasks, Notes) has no native place for automotive vehicle data — VIN, make, model, year, color, mileage, and stock number. PBS stores these on every vehicle record associated with a customer or deal. FlitStack AI creates a Vehicle custom object in Twenty via Settings → Data Model before migration, with custom fields for VIN__c, Make__c, Model__c, Year__c, Color__c, Mileage__c, and StockNumber__c. Each Vehicle record is linked to the associated People record (customer) and Opportunity record (deal) via Twenty's relation fields. This mapping ensures that the complete vehicle context from PBS is searchable and viewable in Twenty without requiring a separate external reference.

  • PBS has no documented public API — migration relies on PBS database export or partner API channels

    PBS Systems v10 APEX does not publish a public REST or GraphQL API for direct CRM data extraction. The PBS partner ecosystem (RouteOne, DealerTrack) provides integration channels but these are lender-centric rather than CRM-extraction focused. FlitStack AI works with the PBS database export interface — a structured data extraction tool available to PBS partners and directly to PBS customers via the PBS partner program. If the PBS database export is not accessible, FlitStack AI works with PBS partner integration credentials or PBS customer support to facilitate a data extract. The data extraction method is confirmed during the discovery phase before migration planning begins, and any limitations in the PBS export (such as binary attachment exports or nested record structures) are flagged upfront.

  • PBS workflows, service write-up templates, and DMS automations do not migrate and must be rebuilt in Twenty

    Like all CRM migrations, PBS workflows, service write-up templates, and DMS-level automations are outside the scope of data migration. PBS workflows are tightly coupled to the v10 APEX environment — they reference PBS-specific field IDs, form layouts, and DMS event triggers that have no equivalent in Twenty's workflow builder. FlitStack AI exports PBS workflow definitions as a reference document (screen captures, rule definitions, and trigger logic) that your Twenty admin can use to rebuild equivalent automations in Twenty's Settings → Workflows panel. Note that Twenty's workflow builder has different capabilities than PBS automations — particularly for automotive-specific triggers like vehicle inventory events or F&I product attachment — so some PBS workflows may need to be redesigned rather than directly translated.

Migration approach

Six steps for a successful PBS Systems to Twenty CRM data migration

  1. Audit PBS data and build the migration mapping document

    FlitStack AI begins every PBS migration with a data audit using the PBS database export interface or partner API channel. We inventory all customer records, deal records, vehicle records, activity logs, service write-ups, and custom fields present in the PBS export. We then build a detailed mapping document that specifies for every field: the PBS field name, the Twenty object and field name, the mapping type (direct, transformed, value-mapped, custom field required), and any transformation logic required. This document is reviewed with your team before any field creation or data movement begins. The audit also identifies records that will not migrate cleanly — orphaned records, records with invalid foreign keys, and PBS-specific data with no Twenty equivalent — so these can be resolved or documented as intentional exclusions.

  2. Create Twenty custom fields and custom objects before import

    Before any CSV data is uploaded to Twenty, FlitStack AI creates all necessary custom fields and custom objects in the Twenty workspace via Settings → Data Model. This includes the Vehicle custom object with VIN__c, Make__c, Model__c, Year__c, Color__c, Mileage__c, and StockNumber__c fields; custom fields on the Opportunity record for APR__c, Finance_Term__c, Down_Payment__c, Trade_In_Value__c, and FI_Products__c; custom fields on People for Original_Create_Date__c and Source_System_ID__c; and the ServiceWriteUp custom object with labor and parts fields. Custom pick-list values are populated with the exact stage names and F&I product names from the PBS export so value-mapping is accurate. This step ensures that Twenty's import validator does not reject any CSV rows for missing field references when the migration runs.

  3. Resolve PBS owners and users by email against Twenty Workspace Members

    PBS owner IDs and user records are resolved by email match against the Twenty workspace member list. FlitStack AI generates a pre-migration owner resolution report that lists every PBS owner, their email, their Twenty match status (matched, not found, or duplicate email), and the proposed resolution (map to matched user, assign to fallback owner, or flag for admin decision). PBS users who do not yet have a Twenty account are either invited before migration or their records are assigned to a designated fallback Twenty user so no migrated record lands without an owner. This step is critical because Twenty's Task and Opportunity records require an assigneeId relation to a Workspace Member, and unresolvable owners would cause those records to fail import validation.

  4. Sequence and run the migration: Companies → People → Opportunities → Custom Objects → Activities

    FlitStack AI sequences the migration to respect Twenty's foreign-key constraints. Companies are migrated first (the 'one' side of the relationship), then People with their companyId relations resolved to the migrated Company records, then Opportunities with companyId and personId relations resolved, then Vehicle and ServiceWriteUp custom objects linked to their parent Opportunity or People records, and finally Tasks and Notes attached to the relevant records. Each stage runs a validation pass that checks record counts, required field completeness, and foreign-key resolution before the next stage begins. Original create dates, modified timestamps, and owner assignments are preserved throughout. A field-level diff is generated after each stage comparing source values against the Twenty record to verify mapping accuracy.

  5. Cut over with delta-pickup and one-click rollback available

    The full migration runs against Twenty's API with a delta-pickup window of 24–48 hours after the primary load completes. During this window, any PBS records created or modified after the initial extraction are captured and applied to Twenty. Your team continues working in PBS during the cutover period — FlitStack AI uses scoped read access only, so no PBS data is altered. An audit log records every operation performed in Twenty (insert, update, skip). If reconciliation fails — a field mapping produces incorrect values, a record set is incomplete, or a custom object fails to link — FlitStack AI executes a one-click rollback that reverts the Twenty workspace to its pre-migration state, allowing the migration to be re-run with corrected mapping after the issue is resolved. Post-migration, a final validation report is delivered comparing PBS record counts against Twenty record counts with a field-by-field completeness score.

Platform deep dives

Context on both ends of the pair

PBS Systems logo

PBS Systems

Source

Strengths

  • Unified single-database architecture connects all dealership departments without data silos between Sales, Service, Parts, and Accounting.
  • Active product development with demonstrated responsiveness to dealer feedback and feature requests.
  • Comprehensive training resources through PBS Academy support staff onboarding and ongoing education.
  • Live phone support with actual people rather than automated bots, available across North American time zones.

Weaknesses

  • Fixed-operations workflows (service write-up, parts counter) are documented as slower than ADP/CDK equivalents, impacting advisor efficiency metrics.
  • Limited public API documentation makes programmatic data extraction non-standard and requires bespoke tooling for migration.
  • Data export and migration tooling is not publicly documented, making self-serve data extraction difficult without vendor coordination.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across PBS Systems and Twenty CRM.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    PBS Systems: Not publicly documented..

  • Data volume sensitivity

    B

    PBS Systems doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your PBS Systems to Twenty CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about PBS Systems to Twenty CRM data migrations

Answers to the questions buyers ask most during PBS Systems to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your PBS Systems to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most PBS Systems to Twenty CRM migrations complete in 48–72 hours of clock time for datasets under 50,000 records. The longest phase is the pre-migration setup — auditing the PBS export, creating Twenty custom fields and objects, and resolving owner matches — which typically takes 3–5 business days depending on PBS data complexity. Datasets exceeding 200,000 records, or PBS setups with extensive F&I product histories, vehicle associations, and service write-up records, extend to 5–10 days. The delta-pickup window adds another 24–48 hours after the primary load.

Adjacent paths

Related migrations to explore

Ready when you are

Move from PBS Systems.
Land in Twenty CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day