eCommunications Industry | Day 2 - Topic 4

ERP Integration

Why Integrate Siebel with ERP?

CRM handles customer-facing processes (sales, service). ERP manages back-office operations (finance, inventory, fulfillment). Integrating them creates seamless order-to-cash and quote-to-invoice workflows.

Common ERP Systems

  • Oracle E-Business Suite (EBS): Native integration with Siebel (same vendor)
  • SAP ERP: Pre-built adapters available
  • Oracle NetSuite: Cloud-based, REST API integration
  • Microsoft Dynamics: Middleware-based integration
  • JD Edwards: Oracle stack, similar to EBS integration

Integration Scenarios

1. Quote-to-Order

  • Siebel: Sales rep creates quote (5× iPhones, $4,000)
  • Customer accepts quote
  • Siebel → ERP: "Create Sales Order SO-12345"
  • ERP: Checks inventory (5× iPhones available ✓), creates order
  • ERP → Siebel: Returns order number, estimated ship date
  • Siebel: Updates quote status "Order Created"

2. Product Catalog Sync

  • ERP: Product master (10,000 SKUs, pricing, inventory levels)
  • Nightly Batch: ERP exports active products to Siebel (CSV/XML)
  • Siebel: Imports products via EIM, updates prices
  • Result: Sales reps see up-to-date pricing and availability

3. Customer Master Sync

  • Siebel: New account "Acme Corp" created by sales rep
  • Siebel → ERP: Real-time API call "Create Customer"
  • ERP: Creates customer record, assigns customer ID "C-98765"
  • ERP → Siebel: Returns customer ID
  • Siebel: Stores "C-98765" in Account Integration ID field

4. Invoice Sync

  • ERP: Generates invoice INV-555 for shipped order
  • ERP → Siebel: Sends invoice details (amount, due date, line items)
  • Siebel: Creates Invoice record, attaches to Account
  • Customer Service: Agents can view invoice in Siebel when customer calls with billing question

5. Returns & Refunds

  • Siebel: Customer requests return via Service Request
  • Agent approves return in Siebel
  • Siebel → ERP: "Create Return Authorization RA-222"
  • ERP: Processes return, issues refund, updates inventory
  • ERP → Siebel: Confirms refund processed
  • Siebel: Closes SR, notifies customer

Integration Methods

Real-Time (Synchronous)

When to use: Inventory checks, order creation, payment processing
  • Tech: Web Services (SOAP/REST), EAI adapters
  • Pros: Immediate data consistency
  • Cons: Dependent on ERP availability, slower user experience if ERP is slow

Batch (Asynchronous)

When to use: Bulk product updates, nightly customer sync, invoice imports
  • Tech: EIM, flat file exchange (CSV, XML), scheduled jobs
  • Pros: Handles large volumes, no user impact
  • Cons: Data latency (e.g., product prices updated next day)

Middleware (Event-Driven)

Tools: Oracle Integration Cloud (OIC), MuleSoft, Dell Boomi
  • Flow: Siebel publishes "Order Created" event → Middleware transforms data → Pushes to ERP
  • Pros: Decoupled, scalable, handles complex transformations
  • Cons: Additional infrastructure cost

Data Mapping Example

Siebel Account → SAP Customer:
  • Siebel: Account Name → SAP: Customer Name (KUNNR)
  • Siebel: Account Location → SAP: City (ORT01)
  • Siebel: Phone Number → SAP: Telephone (TELF1)
  • Siebel: Account Status → SAP: Customer Status (SPERR)
  • Siebel: ROW_ID → SAP: External Reference (EXTVG)

Error Handling

  • Scenario: Siebel tries to create order in ERP, but product SKU invalid
  • ERP Response: Error "Product XYZ not found"
  • Siebel Action:
    • Log error to integration table
    • Set order status "Pending - ERP Error"
    • Alert sales manager via workflow
    • Retry logic: Retry 3 times with 5-min intervals, then escalate

End-to-End Example: Order Fulfillment

  1. Day 1, 10 AM: Sales rep creates quote in Siebel ($10K deal)
  2. Day 2, 2 PM: Customer accepts quote
  3. Day 2, 2:05 PM: Rep converts quote → Order in Siebel
  4. Day 2, 2:06 PM: Siebel calls ERP API: "Create Sales Order" (real-time)
  5. Day 2, 2:07 PM: ERP validates inventory, creates SO-9999, reserves stock
  6. Day 2, 2:08 PM: ERP responds to Siebel: "Order created, ship by Day 5"
  7. Day 2, 2:09 PM: Siebel updates order: "ERP Order ID: SO-9999, Ship Date: Day 5"
  8. Day 5, 9 AM: ERP ships order, updates status "Shipped"
  9. Day 5, 6 PM: Nightly batch: ERP sends shipment confirmation to Siebel (CSV)
  10. Day 5, 11 PM: Siebel imports CSV, updates order status "Shipped", sends tracking email to customer