Your invalid currency errors for multi-region quotes result from three interconnected configuration requirements that must all be satisfied for cross-currency quote processing:
1. Multi-Region Quote Configuration (addressing your cross-border scenario):
Multi-region quotes in Workday require more than just enabled currencies - they need a complete multi-currency transaction framework. The ‘Invalid Currency’ error isn’t actually about the currency itself, but rather the system’s inability to validate the currency conversion context for the quote.
First, verify your currencies are configured as transaction currencies, not just reference currencies:
- Navigate to Setup → Currencies
- For EUR, GBP, and JPY, confirm ‘Transaction Currency’ checkbox is enabled
- Verify ‘Quote Currency’ is included in the ‘Allowed Transaction Types’ list
Reference currencies (used for reporting only) will show as enabled but fail API validation when used in transactional documents.
2. Currency Code Mismatch and Exchange Rate Context (addressing your exchange rate validation):
The API requires explicit exchange rate type specification for multi-currency quotes. Unlike the UI where Workday can default to the standard rate type, the API needs this explicitly defined in your payload:
{
"Quote_Currency": {"ID": "EUR"},
"Customer_Currency": {"ID": "GBP"},
"Exchange_Rate_Type": {"ID": "Daily_Average"},
"Exchange_Rate_Date": "2024-07-15"
}
Your 40% failure rate after loading exchange rates suggests you’re not passing the Exchange_Rate_Type reference. Without it, Workday cannot determine which rate table to validate against, resulting in the generic ‘Invalid Currency’ error.
Critical Exchange Rate Requirements:
- Rates must exist for the EXACT date specified in Exchange_Rate_Date field
- Rates must cover the currency pair in the correct direction (EUR→GBP is different from GBP→EUR in Workday’s rate tables)
- The rate type must be designated as ‘Valid for Quotes’ in the exchange rate type configuration
3. Exchange Rate Configuration and Customer Currency Permissions (addressing your customer setup):
Multi-currency customer transactions require the ‘Multi-Currency Customer’ feature enabled at the tenant level AND configured at the individual customer level.
Tenant-Level Setup:
- Feature Settings → Revenue Management → Multi-Currency Features
- Enable ‘Multi-Currency Customers’
- Enable ‘Cross-Currency Quote Processing’
- Configure default exchange rate types for quote processing
Customer-Level Setup:
Each customer record needs multi-currency permission. You have two options:
Option A - Bulk Update via API:
{
"Customer_Reference": {"ID": "CUST-UK-001"},
"Multi_Currency_Enabled": true,
"Permitted_Currencies": [
{"ID": "GBP"},
{"ID": "EUR"},
{"ID": "USD"}
]
}
Option B - Default Configuration:
Set tenant-level default to allow all transaction currencies for all customers:
- Setup → Revenue Management Defaults
- ‘Default Customer Currency Permissions’ = ‘All Transaction Currencies’
Complete Resolution Path:
Step 1 - Validate Currency Configuration:
GET /currencies
Verify Transaction_Currency=true for EUR, GBP, JPY
Verify Quote_Currency in Allowed_Transaction_Types
Step 2 - Configure Exchange Rates:
- Load exchange rates for all required currency pairs (EUR/GBP, GBP/EUR, JPY/GBP, etc.)
- Extend rate dates to cover your quote validity periods (current + 90 days minimum)
- Verify rate type is marked ‘Valid for Quote Processing’
Step 3 - Enable Multi-Currency Features:
- Tenant feature: Multi-Currency Customers (ON)
- Tenant feature: Cross-Currency Quote Processing (ON)
- Customer default: All Transaction Currencies (ENABLED)
Step 4 - Update API Payload:
Add mandatory exchange rate context to all multi-currency quote submissions:
{
"Quote_Header": {
"Customer": {"ID": "customer_ref"},
"Quote_Currency": {"ID": "EUR"},
"Exchange_Rate_Type": {"ID": "Daily_Average"},
"Exchange_Rate_Date": "2024-06-08",
"Quote_Date": "2024-06-08"
},
"Quote_Lines": [...]
}
Step 5 - Handle Edge Cases:
For your remaining failures after implementing above:
- Verify customer records don’t have explicit currency restrictions overriding tenant defaults
- Check if quote dates fall on weekends/holidays where exchange rates might not be loaded
- Confirm your integration user has ‘Multi-Currency Transaction Processing’ security permission
Why Your Current Setup Fails:
Your 40% failure rate stems from:
- Missing Exchange_Rate_Type reference in API payload (causes ~60% of failures)
- Multi-Currency Customer feature not enabled at tenant level (causes ~25% of failures)
- Gaps in exchange rate coverage for future dates or specific currency pairs (causes ~15% of failures)
The combination of missing exchange rate context in the API call and incomplete multi-currency feature activation explains why some quotes succeed (same-currency scenarios that bypass these requirements) while others fail (cross-currency scenarios that trigger full validation). Implementing all three configuration layers will resolve the invalid currency errors for your multi-region quote processing.