Integration Interdependencies & Business Function Impact
COA Service and FX Rates Hub are single points of failure blocking 9 downstream integrations
Temporal/cron schedules must be activated in precise sequence on May 4
10 RTR, 6 STP, 1 EPM integration spanning 17 repositories
NetSuite, Xignite, Coupa integrations must be deprecated precisely at go-live
| Decision Required | Impact | Deadline | Owner |
|---|---|---|---|
| Approve phased integration deployment strategy (early vs. go-live day) | Determines deployment risk profile and rollback complexity | March 24 (Pre-Cutover Sign-Off) | PMO / Integration Leads |
| Confirm FX rate source during parallel period (Oracle vs. legacy) | Affects downstream system configuration for Kyriba, NetSuite, Varicent, Anaplan | April 15 | Treasury / RTR Team |
| Approve 3-month overlap period for legacy Currency API | Requires maintaining parallel infrastructure, impacts deprecation timeline | April 20 | Engineering / Infrastructure |
| Sign off on War Room escalation procedures and rollback authority | Defines go/no-go decision process during enablement sequence | April 25 | PMO / Tech Leads |
The ERP R1 cutover involves 17 distinct integrations across Record-to-Report (RTR), Source-to-Pay (STP), and Enterprise Performance Management (EPM) domains. These integrations form complex interdependencies with 9 boundary systems including Workday, Anaplan, Navan, Kyriba, NetSuite, Simple Legal, IronClad, Varicent, and ARCS.
Critical Success Factors:
gantt
title ERP R1 Cutover Timeline (March - May 2026)
dateFormat YYYY-MM-DD
axisFormat %b %d
section Pre-Cutover
Pre-Cutover Sign-Off :milestone, m1, 2026-03-24, 0d
Code Freeze Activities :active, prep1, 2026-03-23, 14d
Trial Balance Lock (Mar) :crit, milestone, m2, 2026-04-07, 0d
UAT Conversion Sign-Off :milestone, m3, 2026-04-10, 0d
Workday Snapshot 1 :prep2, 2026-04-10, 1d
Data Freeze (GL/Employees/Banks) :prep3, 2026-04-10, 20d
section Integration Deployments (ITINT)
Deploy Non-Critical Integrations :active, deploy1, 2026-04-15, 7d
Deploy Critical Path (COA, FX) :crit, deploy2, 2026-04-22, 5d
Integration Testing & Validation :deploy3, 2026-04-22, 5d
section Cutover Window
AP Close (WD -4) :milestone, m4, 2026-04-28, 0d
Delta Supplier Snapshot :cut1, 2026-04-27, 1d
Data Reconciliation & Sign-off :cut2, 2026-04-29, 1d
Coupa PO/Invoice Cutoff (12PM PST) :crit, milestone, m5, 2026-04-30, 0d
Freeze NetSuite AP/PO Entries :cut3, 2026-04-30, 4d
Data Conversion Execution :crit, cut4, 2026-05-01, 2d
GO/NO-GO DECISION :crit, milestone, m6, 2026-05-02, 0d
End User Activation :cut5, 2026-05-02, 2d
section Go-Live
SUBLEDGER GO-LIVE 🎯 :crit, milestone, golive1, 2026-05-04, 0d
Enable COA Integration :crit, int1, 2026-05-04, 1d
Enable FX Rates Hub :crit, int2, 2026-05-04, 1d
Enable Employee Data Integration :int3, 2026-05-04, 1d
Enable Navan/Simple Legal :int4, 2026-05-04, 1d
Deprecate Legacy Integrations :crit, depr1, 2026-05-04, 1d
AR Close :milestone, m7, 2026-05-05, 0d
Trial Balance Lock (Apr) :milestone, m8, 2026-05-07, 0d
NetSuite Period Close (Apr) :depr2, 2026-05-07, 1d
section GL Go-Live
GENERAL LEDGER GO-LIVE 🎯 :crit, milestone, golive2, 2026-05-11, 0d
TB Load to FCCS :gl1, 2026-05-11, 2d
Blackline Reconciliations :gl2, 2026-05-11, 2d
section Stabilization
Post-Cutover Monitoring :done, stab1, 2026-05-11, 6d
Blackline Tasks Finalized :milestone, m9, 2026-05-13, 0d
Hypercare Period :stab2, 2026-05-11, 14d
Conditional approval for ERP & EDM PROD activities and code deployment
March 2026 books closed in NetSuite. Critical milestone for GL data extraction.
Freeze: GL sequences (Mar '26), Employees, Procurement Categories, CF Banks
Accounts Payable closes for April. Last day for AP transactions in legacy system.
Freeze indirect AP/PO entries in NetSuite. Coupa integration suspended.
Final decision point. End user activation begins if approved.
Oracle ERP Subledgers go live. AP, AR, Fixed Assets operational.
April 2026 books closed. Last period in NetSuite.
Oracle GL goes live. Financial close process transitions to Oracle.
Account reconciliations completed in Blackline for first Oracle period.
| Rice ID | Integration Name | Repository | Status | Lead |
|---|---|---|---|---|
EPM-INT-008 |
Bank statements from Kyriba to ARCS | N/A | Completed | Priyanka Rawat |
RTR-INT-002 |
Publish COA Changes to Workday | workforce-management-worker coa-service | Pending | Priyanka Rawat |
RTR-INT-002 |
Publish COA Changes to Anaplan | anaplan-worker | Pending | Priyanka Rawat |
RTR-INT-010 |
Actuals for Reporting to Anaplan | erp-service | Pending | Priyanka Rawat |
RTR-INT-003 |
Navan - Journals for Travel and Expenses | navan-service | Pending | Priyanka Rawat |
RTR-INT-005 |
FX Rates to Kyriba | kyriba-worker | Pending | Ana Limpo |
RTR-INT-005 |
FX Rates to NetSuite | netsuite-worker | Pending | Ana Limpo |
RTR-INT-005 |
FX Rates to Varicent | varicent-service | Pending | Ana Limpo |
RTR-INT-005 |
FX Rates to Anaplan | anaplan-worker | Pending | Ana Limpo |
RTR-INT-011 |
FX Rates Service (Oracle GL Hub) | fx-rates-service | Pending | Ana Limpo |
RTR-INT-011 |
Currency API (Downstream Access) | currency-api | Pending | Ana Limpo |
| Rice ID | Integration Name | Repository | Status | Lead |
|---|---|---|---|---|
STP-INT-004 |
Payment Status Outbound (Simple Legal) | simple-legal-service | Pending | Priyanka Rawat |
STP-INT-020 |
Employee Data Integration (hr-api) | hr-api | Pending | Ana Limpo |
STP-INT-020 |
Employee Data Integration (kafka-gateway) | employee-kafka-gateway | Pending | Ana Limpo |
STP-INT-020 |
Employee Data Integration (demographics-consumer) | oracle-demographics-consumer | Pending | Ana Limpo |
STP-INT-019 |
Supplier Outbound - Supplier API | supplier-api | Pending | Ana Limpo |
STP-INT-019 |
Supplier Outbound - IronClad API | ironclad-api | Pending | Ana Limpo |
graph TD
Oracle[Oracle ERP] --> COA[RTR-INT-002: COA Service]
COA --> Workday[Workday COA Sync]
COA --> Anaplan[Anaplan COA Sync]
Oracle --> FXHub[RTR-INT-011: FX Rates Hub]
FXHub --> FXKyriba[FX to Kyriba]
FXHub --> FXNetSuite[FX to NetSuite]
FXHub --> FXVaricent[FX to Varicent]
FXHub --> FXAnaplan[FX to Anaplan]
FXHub --> CurrencyAPI[Currency API]
Workday --> Employee[STP-INT-020: Employee Data]
COA -.depends on.-> Employee
Employee --> HRApi[hr-api]
Employee --> KafkaGW[kafka-gateway]
Employee --> Demographics[demographics-consumer]
Oracle --> Actuals[RTR-INT-010: Actuals to Anaplan]
COA -.depends on.-> Actuals
Oracle --> Navan[RTR-INT-003: Navan Journals]
Oracle --> SimpleLegal[STP-INT-004: Payment Status]
Oracle --> Supplier[STP-INT-019: Supplier Data]
Supplier --> SupplierAPI[supplier-api]
Supplier --> IronClad[ironclad-api]
Kyriba --> ARCS[EPM-INT-008: Bank Statements to ARCS]
style Oracle fill:#F48120,stroke:#c45a00,color:#fff
style COA fill:#FEF3C7,stroke:#F59E0B,color:#000
style FXHub fill:#FEF3C7,stroke:#F59E0B,color:#000
style Employee fill:#FEE2E2,stroke:#E74C3C,color:#000
style Actuals fill:#FEE2E2,stroke:#E74C3C,color:#000
graph LR
subgraph "Phase 1: Foundation"
A[Oracle ERP Ready] --> B[Deploy COA Service]
A --> C[Deploy FX Rates Hub]
end
subgraph "Phase 2: COA Dependent"
B --> D[Enable COA to Workday]
B --> E[Enable COA to Anaplan]
D --> F[Deploy Employee Data Stack]
B --> G[Deploy Actuals to Anaplan]
end
subgraph "Phase 3: FX Distribution"
C --> H[Enable FX to Kyriba]
C --> I[Enable FX to NetSuite]
C --> J[Enable FX to Varicent]
C --> K[Enable FX to Anaplan]
C --> L[Enable Currency API]
end
subgraph "Phase 4: Independent Integrations"
A --> M[Deploy Navan Service]
A --> N[Deploy Simple Legal]
A --> O[Deploy Supplier APIs]
end
subgraph "Phase 5: Legacy Deprecation"
D -.cutover.-> P[Deprecate NetSuite COA]
H -.cutover.-> Q[Deprecate Xignite]
M -.cutover.-> R[Deprecate Coupa-Navan]
N -.cutover.-> S[Deprecate Coupa-SimpleLegal]
end
style A fill:#F48120,stroke:#c45a00,color:#fff
style B fill:#FEE2E2,stroke:#E74C3C,color:#000
style C fill:#FEE2E2,stroke:#E74C3C,color:#000
style D fill:#DBEAFE,stroke:#0051C3,color:#000
style E fill:#DBEAFE,stroke:#0051C3,color:#000
style F fill:#FEF3C7,stroke:#F59E0B,color:#000
style G fill:#FEF3C7,stroke:#F59E0B,color:#000
style P fill:#F3F4F6,stroke:#6b7280,color:#000
style Q fill:#F3F4F6,stroke:#6b7280,color:#000
style R fill:#F3F4F6,stroke:#6b7280,color:#000
style S fill:#F3F4F6,stroke:#6b7280,color:#000
sequenceDiagram
participant Oracle as Oracle ERP
participant COA as COA Service
participant WD as Workday
participant Anaplan
participant EmpData as Employee Data
participant Actuals
Note over Oracle,COA: RTR-INT-002 Integration
Oracle->>COA: COA Change Event
COA->>COA: Transform to Workday Format
COA->>WD: Publish COA Changes
WD-->>COA: Ack
COA->>COA: Transform to Anaplan Format
COA->>Anaplan: Publish COA Changes
Anaplan-->>COA: Ack
Note over WD,EmpData: Dependency: COA must be current
WD->>EmpData: Employee Record with GL Codes
EmpData->>Oracle: Demographics Consumer
Note over Oracle,Actuals: Dependency: COA must be current
Oracle->>Actuals: GL Actuals with Segments
Actuals->>Anaplan: Financial Reporting Data
sequenceDiagram
participant Oracle as Oracle GL
participant FXHub as FX Rates Service
participant Kyriba
participant NS as NetSuite
participant Varicent
participant Anaplan
participant API as Currency API
participant Legacy as Legacy Systems
Note over Oracle,FXHub: RTR-INT-011 Integration
Oracle->>FXHub: Daily FX Rates (Month-End + Corporate)
par Distribution to All Systems
FXHub->>Kyriba: Push FX Rates
FXHub->>NS: Push FX Rates
FXHub->>Varicent: Push FX Rates
FXHub->>Anaplan: Push FX Rates
FXHub->>API: Persist for API Access
end
Legacy->>API: GET /fx-rates
API-->>Legacy: Return Current Rates
Note over FXHub,API: Legacy Xignite deprecated at go-live
graph TB
subgraph "Finance & Accounting"
FA1[COA Synchronization]
FA2[FX Rates Distribution]
FA3[Actuals Reporting]
FA4[GL Close Process]
FA1 --> FA3
FA2 --> FA3
FA3 --> FA4
end
subgraph "Record-to-Report"
RTR1[Bank Statement Reconciliation]
RTR2[Journal Entry Processing]
RTR3[Financial Reporting]
FA3 --> RTR3
RTR2 --> RTR3
end
subgraph "Source-to-Pay"
STP1[Supplier Master Data]
STP2[Employee Master Data]
STP3[Payment Processing]
STP4[Invoice Processing]
FA1 --> STP2
STP1 --> STP3
STP2 --> STP4
end
subgraph "Treasury"
TR1[Cash Management]
TR2[FX Risk Management]
FA2 --> TR2
RTR1 --> TR1
end
subgraph "Travel & Expense"
TE1[Navan Travel Bookings]
TE2[Expense Reports]
TE3[Journal Posting]
STP2 --> TE2
TE1 --> TE3
TE2 --> TE3
end
subgraph "Legal Operations"
LO1[Supplier Contracts]
LO2[Legal Invoices]
LO3[Payment Status]
STP1 --> LO1
LO2 --> LO3
end
subgraph "Financial Planning"
FP1[Actuals vs Budget]
FP2[Forecasting Models]
FP3[Management Reports]
FA3 --> FP1
FP1 --> FP2
FP2 --> FP3
end
style FA1 fill:#FEE2E2,stroke:#E74C3C,color:#000
style FA2 fill:#FEE2E2,stroke:#E74C3C,color:#000
style STP2 fill:#FEF3C7,stroke:#F59E0B,color:#000
| Integration | Upstream Dependencies | Blocks Downstream | Risk |
|---|---|---|---|
RTR-INT-002 COA Service |
Oracle ERP availability | Workday, Anaplan, Employee Data, Actuals Reporting | ⚠️ HIGH |
RTR-INT-011 FX Rates Hub |
Oracle GL availability | Kyriba, NetSuite, Varicent, Anaplan, Currency API | ⚠️ HIGH |
STP-INT-020 Employee Data |
COA Service, Workday availability | Oracle demographics, expense processing | ⚠ MEDIUM |
RTR-INT-010 Actuals to Anaplan |
COA Service, Oracle GL data | FP&A reporting in Anaplan | ⚠ MEDIUM |
RTR-INT-003 Navan Journals |
Oracle AP availability | Travel expense posting to GL | ⚠ MEDIUM |
STP-INT-004 Simple Legal |
Oracle AP payment processing | Legal vendor payment status | ✓ LOW |
STP-INT-019 Supplier Data |
Oracle Supplier Hub availability | IronClad supplier records | ✓ LOW |
| Oracle Integration | Legacy System to Deprecate | Deprecation Action | Timing |
|---|---|---|---|
RTR-INT-002 COA to Workday |
Workday ↔ NetSuite COA sync | Stop existing COA process in Workday | Subledger Go-Live (May 4) |
RTR-INT-002 COA to Anaplan |
NetSuite → Anaplan COA process NetSuite → Anaplan Departments process |
Retire old COA and Departments feeds. Keep active until TB close May 7. | Post-TB Close (May 7+) |
RTR-INT-010 Actuals to Anaplan |
NetSuite → Anaplan Rev/Expense feeds | Keep in parallel during transition. Deprecate after validation. | Post-GL Go-Live (May 11+) |
RTR-INT-003 Navan Journals |
NetSuite ↔ Navan GL update connector | Netsuite stops GL updates to Navan | Subledger Go-Live (May 4) |
RTR-INT-005 FX Rates |
NetSuite ↔ Xignite FX integration | Retire Xignite integration (confirmed legacy code commented out) | Go-Live Day (May 4) |
RTR-INT-005 FX to Varicent |
Boomi → Varicent FX rates process | Deprecate existing Varicent FX rates in Boomi | Go-Live Day (May 4) |
RTR-INT-011 Currency API |
Legacy Currency API (NetSuite-based) | Repoint LA Boomi process to new Currency API. Keep legacy for 3 months. | Deprecate 3 months post-go-live |
STP-INT-004 Simple Legal |
Simple Legal ↔ Coupa invoice sync Coupa ↔ Simple Legal payment status |
Deprecate both Coupa integrations | Subledger Go-Live (May 4) |
STP-INT-020 Employee Data |
NetSuite employee integration (Boomi) | Maintain POST R1 go-live. NetSuite still needs employee data. | No deprecation (retained) |
COA Service (RTR-INT-002) and FX Rates Hub (RTR-INT-011) are critical dependencies. If either fails, multiple downstream integrations are blocked, potentially delaying go-live.
Mitigation: Prioritize UAT validation of these services. Ensure rollback plans are tested and documented.
13 integrations require cron/Temporal schedule enablement at go-live. If schedules are not enabled or are configured incorrectly, data flows stop immediately.
Mitigation: Create a detailed enablement checklist with validation steps. Conduct dry-run during UAT mock cutover.
RTR-INT-005 (FX Rates) and RTR-INT-005 (Anaplan) have legacy logic commented out in code. Deployment must be synchronized with go-live or legacy processes will immediately fail.
Mitigation: Deploy on go-live day only. Coordinate with NetSuite team to ensure legacy processes run through May 3 EOD.
| Risk | Impact | Mitigation |
|---|---|---|
| Trial Balance Close Delay (Apr 7 & May 7) | Blocks COA freeze, data conversion, and reconciliation | Monitor NetSuite close calendar. Escalation plan for delays. |
| Coupa PO/Invoice Cutoff Enforcement | Late entries cause duplicate POs in both systems | Business communication campaign. System-level enforcement at 12 PM PST Apr 30. |
| Employee Data Delta Load During PSG US Persons Project | Salesforce may receive events during bulk load | Coordinate with Salesforce stakeholders on delta load impact. |
| Boundary System API Repointing (Currency API) | Billing, Registrar, and other systems need API changes before go-live | Send communication to impacted teams prior to go-live. 3-month overlap period for legacy API. |
graph TD
Start([May 4, 2026 - 8:00 AM PST]) --> Check1{Oracle ERP
Subledgers Ready?}
Check1 -->|No| Wait1[Wait for
Infrastructure Team]
Wait1 --> Check1
Check1 -->|Yes| Step1[Enable COA Service
Temporal Schedules]
Step1 --> Valid1{COA to Workday
Data Flowing?}
Valid1 -->|No| Debug1[Investigate COA Service]
Debug1 --> Step1
Valid1 -->|Yes| Step2[Enable FX Rates Hub
Temporal Schedules]
Step2 --> Valid2{FX Rates to
All 5 Systems?}
Valid2 -->|No| Debug2[Check FX Hub Connections]
Debug2 --> Step2
Valid2 -->|Yes| Parallel1[Enable Dependent Integrations]
Parallel1 --> Step3A[Enable Employee Data
hr-api, kafka-gateway,
demographics-consumer]
Parallel1 --> Step3B[Enable Actuals
to Anaplan]
Parallel1 --> Step3C[Enable Navan Service]
Step3A --> Valid3A{Employee Data
Processing?}
Step3B --> Valid3B{Actuals Flowing
to Anaplan?}
Step3C --> Valid3C{Navan Journals
Posting?}
Valid3A -->|No| Debug3A[Check COA Dependencies]
Valid3B -->|No| Debug3B[Check COA Dependencies]
Valid3C -->|No| Debug3C[Check Oracle AP]
Debug3A --> Step3A
Debug3B --> Step3B
Debug3C --> Step3C
Valid3A -->|Yes| Step4
Valid3B -->|Yes| Step4
Valid3C -->|Yes| Step4
Step4[Enable Remaining Integrations
Simple Legal, Supplier APIs]
Step4 --> Valid4{All Integrations
Operational?}
Valid4 -->|No| Escalate[Escalate to War Room]
Escalate --> Step4
Valid4 -->|Yes| Deprecate[Execute Legacy
Deprecation Script]
Deprecate --> Verify{Legacy Systems
Stopped?}
Verify -->|No| Debug5[Check Deprecation Script]
Debug5 --> Deprecate
Verify -->|Yes| Monitor[Continuous Monitoring
War Room Active]
Monitor --> End([Go-Live Complete
12:00 PM PST])
style Start fill:#2ECC71,stroke:#1d8348,color:#fff
style End fill:#2ECC71,stroke:#1d8348,color:#fff
style Check1 fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid1 fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid2 fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid3A fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid3B fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid3C fill:#FEF3C7,stroke:#F59E0B,color:#000
style Valid4 fill:#FEF3C7,stroke:#F59E0B,color:#000
style Verify fill:#FEF3C7,stroke:#F59E0B,color:#000
style Step1 fill:#DBEAFE,stroke:#0051C3,color:#000
style Step2 fill:#DBEAFE,stroke:#0051C3,color:#000
style Debug1 fill:#FEE2E2,stroke:#E74C3C,color:#000
style Debug2 fill:#FEE2E2,stroke:#E74C3C,color:#000
style Debug3A fill:#FEE2E2,stroke:#E74C3C,color:#000
style Debug3B fill:#FEE2E2,stroke:#E74C3C,color:#000
style Debug3C fill:#FEE2E2,stroke:#E74C3C,color:#000
style Debug5 fill:#FEE2E2,stroke:#E74C3C,color:#000
style Escalate fill:#FEE2E2,stroke:#E74C3C,color:#000
| Step | Integration | Estimated Duration | Cumulative Time | Validation Checkpoint |
|---|---|---|---|---|
| 0 | Pre-flight Check: Oracle ERP Readiness | 30 min | 8:30 AM | Infrastructure team confirms all services up |
| 1 | Enable COA Service (Workday + Anaplan) | 15 min | 8:45 AM | COA event published to both systems successfully |
| 2 | Enable FX Rates Hub | 20 min | 9:05 AM | FX rates delivered to all 5 downstream systems |
| 3 | Enable Employee Data Stack (3 services) | 25 min | 9:30 AM | Employee event processed through full pipeline |
| 4 | Enable Actuals to Anaplan | 15 min | 9:45 AM | GL actuals visible in Anaplan workspace |
| 5 | Enable Navan Service | 10 min | 9:55 AM | Test journal posted to Oracle AP |
| 6 | Enable Simple Legal + Supplier APIs | 15 min | 10:10 AM | Payment status update confirmed |
| 7 | Execute Legacy Deprecation | 20 min | 10:30 AM | All legacy crons/schedules confirmed stopped |
| 8 | War Room Monitoring & Validation | 90 min | 12:00 PM | All integrations stable, no errors in Sentry |
Phase 1 (Pre-Cutover): Deploy non-critical integrations with schedules in paused state. Validate connectivity and configuration.
Phase 2 (Cutover Window): Deploy critical path integrations (COA, FX Rates) first. Validate before proceeding.
Phase 3 (Go-Live): Enable schedules in dependency order. Monitor each integration before enabling the next.
Document exact steps for enabling each integration's Temporal/cron schedule, including:
Schedule stakeholder meetings to answer:
The UAT mock cutover (Feb 9 - Mar 9) should include:
Create a dedicated Slack/Teams channel with:
| Activity | Owner | Due Date | Status |
|---|---|---|---|
| Validate all Vault secrets in production | DevOps Team | April 15 | Pending |
| Confirm RBAC entries for all K8s namespaces | DevOps Team | April 15 | Pending |
| Create OCI buckets and share details with stakeholders | Infrastructure Team | April 20 | Pending |
| Test Sentry alert delivery for all integrations | Integration Leads | April 22 | Pending |
| Validate OIC connections to third-party systems | Middleware Team | April 25 | Pending |
| Communicate Currency API changes to Billing/Registrar | Ana Limpo | April 27 | Pending |
| Baseline all integration code before cutover | Tech Leads | April 28 | Pending |
| Conduct Go/No-Go decision meeting | PMO | May 2 | Pending |