Your integration failure requires addressing all three focus areas systematically. Here’s the complete solution:
Understanding the XSD Schema Update (R1 2024):
Workday R1 2024 introduced a standardized financial data model that changed how monetary amounts are structured across all financial web services. The key changes for Intercompany transactions:
- Amount Structure Change:
Old schema:
<Transaction_Amount>
<Amount>1000.00</Amount>
<Currency>USD</Currency>
</Transaction_Amount>
New schema:
<Transaction_Amount>
<Currency_Code>USD</Currency_Code>
<Amount_Value>1000.00</Amount_Value>
</Transaction_Amount>
- Date Format Standardization: All date fields now use ISO 8601 format exclusively
- Company Reference Structure: Changed from simple ID to structured reference with type
XML Payload Validation Fix:
To resolve your immediate validation errors, update your XML payload generation:
Step 1: Update Element Mapping
In your integration code or transformation layer, map the old structure to new:
- Amount → Amount_Value
- Currency → Currency_Code
- Transaction_Date → ISO 8601 format
Step 2: Add Schema Validation
Implement pre-validation before sending to Workday:
<xsd:validation>
<schema_version>v41.0</schema_version>
<validate_before_submit>true</validate_before_submit>
</xsd:validation>
Integration Mapping Updates in Workday Studio:
Option 1: Full Regeneration (Recommended for long-term):
- Open your Workday Studio project
- Right-click on the project → Workday → Update WSDL
- Select “Submit_Intercompany_Transaction” web service
- Download version 41.0 (R1 2024) or later
- Accept the schema update prompt
- Regenerate all assembly mappings:
- Delete existing .assembly files
- Right-click web service → Generate Assembly
- This creates new mappings with updated element names
- Update your mediation flows to use new assembly references
Option 2: Targeted Mapping Updates (Quick fix):
- Open existing assembly in Studio
- Locate Transaction_Amount mapping
- Update target element paths:
- Change “Amount” to “Amount_Value”
- Change “Currency” to “Currency_Code”
- Validate and deploy
This is faster but may miss other schema changes.
Critical Schema Differences to Address:
Beyond Transaction_Amount, these elements also changed:
- Company References:
<!-- Old -->
<Company>COMP001</Company>
<!-- New -->
<Company_Reference>
<ID type="Company_Reference_ID">COMP001</ID>
</Company_Reference>
- Account References: Now require explicit type attribute
- Worktags: Structure changed to support multiple dimensions
Testing and Validation Strategy:
- Create Test Payload: Generate sample XML using new schema
- Validate Against Schema: Use XML validator with downloaded XSD
- Test in Sandbox: Submit to sandbox tenant first
- Compare Responses: Ensure response structure is handled correctly
- Performance Test: New schema may have different payload sizes
Handling Future Schema Updates:
To prevent this issue going forward:
- Enable Schema Notifications: Subscribe to Workday Community notifications for web service changes
- Version Your Integrations: Use explicit version references in WSDL URLs
- Implement Schema Abstraction: Create a mapping layer between your system and Workday XML format
- Automated Validation: Add XSD validation to your CI/CD pipeline
- Maintain Test Suite: Keep sample payloads for each schema version
Backward Compatibility Option:
If you need more time to update:
- Contact Workday Support to request temporary access to legacy schema version (v40.x)
- This is typically granted for 60-90 days
- Use this time to properly test and migrate your integration
- Note: This option won’t be available indefinitely
Post-Update Verification:
After updating your integration:
- Test all intercompany transaction types (invoice, payment, transfer)
- Verify amount precision (decimal places)
- Check currency conversion handling
- Validate error handling for invalid payloads
- Monitor integration logs for any schema-related warnings
The root cause is that Workday’s R1 2024 release restructured financial objects for better data consistency across modules. Your integration must be updated to use the new schema structure - there’s no way to continue using the old format long-term.