1. U4 ERPx
  2. Business cases
  3. Opportunity-to-Project from CRM to ERPx

Opportunity-to-Project from CRM to ERPx

Automatically convert qualified CRM opportunities — flagged as cost-of-sales opportunities — into ERPx opportunity projects. This ensures that pre-sales efforts, project acquisition costs, and resource planning requirements are captured early in ERPx client using predefined project types, invoice rules, and template structures.

Key APIs used

  • GET /v1/objects/projects - Check whether a project with the external CRM opportunity reference already exists.

  • GET /v1/objects/workflow-transactions - Retrieve project workflow transactions to determine whether an “opportunity project” is already in progress.

  • GET /v1/projects/{projectTemplateId} - Retrieve the ERPx opportunity project template configured per company.

  • GET /v1/objects/attribute-values- Retrieve attribute values such as ISO currency codes associated with the opportunity.

  • POST /v1/projects - Create a new ERPx project using template data and CRM opportunity information.

  • GET /v1/projects/{id} - Retrieve the ERPx project after its creation for validation or updates.

  • GET /v1/objects/work-orders - Retrieve work order templates associated with the ERPx opportunity project template.

  • POST /v1/work-orders - Create work orders for the newly created opportunity project.

  • PATCH /v1/projects/{id} - Update ERPx project with CRM external references and opportunity-specific metadata.

  • GET /v1/objects/companies?select=multiCompanyInformation(*) - Retrieve multi-company configurations and identify eligible ERPx destination companies.


Integration workflow

sequenceDiagram
    participant DYN as CRM
    participant EIT as Integration/Extension Toolkit
    participant ERP as ERPx API

    Note over DYN,ERP: Trigger: Opportunity flagged as Cost-of-Sales Opportunity in CRM

    DYN->>EIT: 1. Opportunity data (ID, currency, flags)
    EIT->>ERP: 2. GET /v1/objects/companies
    ERP-->>EIT: Eligible destination of ERPx companies

    EIT->>ERP: 3. GET /v1/objects/projects (check if exists)
    ERP-->>EIT: No existing opportunity project found

    EIT->>ERP: 4. GET /v1/projects/{templateId}
    ERP-->>EIT: Opportunity project template data

    EIT->>ERP: 5. GET /v1/objects/attribute-values (currency validation)
    ERP-->>EIT: ISO currency attribute values

    EIT->>ERP: 6. POST /v1/projects
    EIT-->>ERP: Create new opportunity project from the template
    ERP-->>EIT: Project created (ERP projectId)

    EIT->>ERP: 7. GET /v1/objects/work-orders (template workorders)
    ERP-->>EIT: Work order templates

    EIT->>ERP: 8. POST /v1/work-orders
    EIT-->>ERP: Create work orders for new project
    ERP-->>EIT: Work orders created

    EIT->>ERP: 9. PATCH /v1/projects/{projectId}
    EIT-->>ERP: Update external system ID, status, and metadata

    Note over ERP,EIT: Opportunity project is now active in ERPx <br> with correct project type, invoice rule, and work order structure

For detailed API specifications, request/response formats, and authentication details, refer to: