Quote API returns invalid currency error when submitting multi-region quotes with mixed currency codes and exchange rates

Our Quote Management API integration is failing with ‘Invalid Currency’ errors when submitting multi-region quotes in wd-r1-2023. We’re processing quotes across EMEA, APAC, and Americas regions, and the API rejects quotes containing EUR, GBP, or JPY currencies, even though these are enabled in our tenant configuration.

The error occurs specifically for multi-region quotes where the quote currency differs from the customer’s default currency. For example, a UK customer (default GBP) requesting a quote in EUR fails, while a UK customer with GBP quote succeeds. Single-currency quotes work fine.

We’ve verified currency codes match ISO 4217 standards and confirmed all three currencies are active in Setup → Currencies. The exchange rate configuration shows rates for all currency pairs. Is there a specific permission or configuration required for cross-currency quoting via API?

Multi-region quotes might require the ‘Allow Cross-Currency Transactions’ setting enabled at the customer level. Even if currencies are active globally, individual customer records can be restricted to specific currencies. Check the customer configuration in Workday UI - there’s usually a ‘Permitted Currencies’ field that defaults to the customer’s base currency only. You might need to update customer records to allow multi-currency transactions before the API will accept cross-currency quotes.

Another thing to check - your quote currency must be an ‘allowed transaction currency’ not just an ‘enabled currency’ in the system. There’s a distinction: enabled currencies can be used for reporting and reference, but transaction currencies are specifically approved for business documents like quotes and invoices. Check Setup → Currencies → Transaction Currency indicator for EUR, GBP, and JPY.

Check if your exchange rate types are properly configured for the Quote Management business process. Having currencies enabled isn’t enough - you need active exchange rates for the specific date of the quote. If your quote date falls outside the range of your loaded exchange rates, the API will reject it as invalid currency. Navigate to Exchange Rates setup and verify you have rates covering your quote dates for all currency pairs.

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:

  1. Feature Settings → Revenue Management → Multi-Currency Features
  2. Enable ‘Multi-Currency Customers’
  3. Enable ‘Cross-Currency Quote Processing’
  4. 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:

  1. Missing Exchange_Rate_Type reference in API payload (causes ~60% of failures)
  2. Multi-Currency Customer feature not enabled at tenant level (causes ~25% of failures)
  3. 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.

The permitted currencies configuration is part of the Customer object setup, not Quote Management specifically. You need to enable ‘Multi-Currency Customer’ feature in your tenant first. Go to Feature Settings → Revenue Management → Enable Multi-Currency Customers. Once enabled, you can configure permitted currencies per customer. Without this feature active, all quotes must use the customer’s default currency regardless of exchange rate availability.

I checked the exchange rates and found we only have rates loaded for the current month. Our quotes are dated for future delivery (30-60 days out), which explains some failures. However, even after loading exchange rates through the end of the year, I’m still getting invalid currency errors on about 40% of multi-region quotes. The customer permitted currencies field isn’t visible in our Quote Management setup - is that a tenant configuration option that needs to be enabled?

Also verify your API payload includes the exchange rate type reference. Multi-currency quotes require explicit exchange rate type specification in the API call. If you’re not passing the exchange rate type, Workday doesn’t know which rate table to use for currency conversion validation. The field is optional for single-currency quotes but mandatory for cross-currency scenarios.