Let me provide a comprehensive solution addressing all aspects of your multi-currency workflow issue:
1. Currency Conversion Rules Configuration
Verify and correct your currency conversion setup:
- Navigate to General ledger > Currencies > Exchange rate types
- Ensure you have a dedicated rate type for expenses (e.g., ‘Expense’ or ‘Daily’)
- Verify this rate type is specified in Expense management parameters: Expense management > Setup > General > Expense management parameters > Currency conversion
- Check that the rate type has rates loaded for ALL currency pair combinations, not just direct pairs
- For indirect conversions (e.g., GBP to EUR), ensure you have a triangulation currency configured (typically USD)
2. Exchange Rate Configuration Completeness
Address missing rate scenarios:
// Required rate pairs for your scenario:
USD/EUR, EUR/USD // Direct pairs
USD/GBP, GBP/USD // Direct pairs
EUR/GBP, GBP/EUR // Direct pairs
Validate rates exist for:
- Transaction dates (when expenses occurred)
- Submission dates (when reports submitted)
- Approval dates (current date for pending approvals)
- All approver accounting currencies
Use this query to identify gaps:
SELECT DISTINCT
e.CurrencyCode,
e.TransDate,
a.AccountingCurrency
FROM TrvExpTrans e
JOIN TrvExpTable t ON e.ExpTableId = t.RecId
JOIN UserInfo u ON t.WorkflowApprover = u.Id
JOIN CompanyInfo a ON u.Company = a.DataAreaId
WHERE NOT EXISTS (
SELECT 1 FROM ExchangeRate r
WHERE r.FromCurrency = e.CurrencyCode
AND r.ToCurrency = a.AccountingCurrency
)
3. Workflow Error Handling Enhancement
Improve error diagnostics and recovery:
- Modify your workflow configuration to capture detailed error information
- Go to Organization administration > Workflows > Expense report workflows
- Edit your workflow and select the approval element
- In Properties > Error handling, enable “Log detailed error information”
- Configure error notification to send emails with specific currency pair failures
- Add custom workflow event handler to log currency conversion attempts
4. Multi-Currency Setup Validation
Verify approver currency configurations:
- Check each approver’s default legal entity: Organization administration > Users > Users
- Note the Company field and corresponding accounting currency
- Ensure exchange rates exist from all expense currencies to each approver’s accounting currency
- Test workflow with a sample expense report containing all currency combinations
- Verify rates are accessible during workflow execution (not just in UI)
5. Workflow Recovery Process
Proper steps to recover stuck workflows:
First, fix the underlying issue:
- Identify missing exchange rates using the query above
- Import or manually enter missing rates for all required date ranges
- Verify rates are active and within valid date ranges
Then recover workflows:
- Navigate to Expense management > My expenses > Expense reports
- Select stuck report and go to Workflow > View history
- Click “Recall” to pull back the report
- Verify exchange rates are now available
- Resubmit the report
- Monitor workflow execution in real-time via workflow history
For bulk recovery of 40+ reports:
- Use workflow batch recovery: Organization administration > Workflows > Workflow history
- Filter by status = ‘Error’ and workflow type = ‘Expense report’
- Select all affected workflows and click “Recover”
- System will attempt to resume from failed step
6. Exchange Rate Automation Improvements
Prevent future issues:
- Enhance your daily exchange rate import to validate completeness
- Add validation step checking for all active currency pairs
- Implement alerting when rates are missing for any pair
- Consider using a rate provider service that guarantees all pair coverage
- Set up a scheduled batch job to pre-cache rates for common pairs
- Configure rate fallback rules: if today’s rate unavailable, use previous business day
7. Cloud-Specific Considerations
Optimize for cloud workflow execution:
- Enable workflow caching: System administration > Workflow > Workflow infrastructure configuration
- Set appropriate timeout values for currency conversion steps (minimum 30 seconds)
- Configure retry logic: In workflow properties, set retry attempts = 3, retry interval = 5 minutes
- This handles transient cloud service connectivity issues
- Implement workflow monitoring dashboard using Power BI to track stuck workflows in real-time
8. Testing and Validation
Before deploying to production:
- Create test expense reports with all currency combinations
- Submit through the workflow with approvers in different legal entities
- Verify successful conversion and approval at each step
- Test recovery process on a sample stuck workflow
- Validate that error messages now provide actionable information
Immediate Action Plan for Current Stuck Reports:
- Run the SQL query to identify missing exchange rate pairs
- Import/enter missing rates for all identified gaps
- Use bulk workflow recovery to process all 40 stuck reports
- Monitor recovery progress and address any remaining failures individually
- Once cleared, implement preventive measures to avoid recurrence
This comprehensive approach will resolve your current workflow blockage and prevent similar issues in the future. The key is ensuring complete exchange rate coverage for all currency pair combinations that might be needed during workflow execution, including indirect conversions through approver accounting currencies.