Our expense report approval workflow is bypassing the senior manager approval step for multi-currency expenses that should require additional review. The workflow has a condition that triggers senior manager approval when the total exceeds $5000 USD, but it’s not working correctly for expenses submitted in EUR, GBP, or JPY.
The SuiteFlow formula condition looks like this:
{total} > 5000
Expenses submitted in foreign currencies are going directly to final approval even when their USD equivalent exceeds the threshold. For example, a €4800 expense (approximately $5200 USD) bypassed senior manager review yesterday. I suspect the issue is related to how the formula condition evaluates currency field internal IDs, but I’m not sure how to reference the converted USD amount in the condition.
We need proper multi-currency workflow testing to ensure the approval routing works consistently regardless of the submission currency. How do I modify the formula to compare against the USD-converted amount?
The field internal ID varies by transaction type. For expense reports specifically, the base currency amount field is typically ‘custbody_base_amount’ if you’re using custom fields, or you might need to create a custom formula field that performs the currency conversion. Navigate to Customization > Lists, Records, & Fields > Transaction Body Fields and search for fields with ‘currency’ or ‘exchange’ in the name to find what’s available on your expense report form.
I tried using {fxamount} but I’m getting a workflow validation error saying the field doesn’t exist on the expense report record. Is the field ID different for expense reports versus other transaction types?
I’ve dealt with this exact scenario. NetSuite stores both the foreign currency amount and the base currency converted amount, but the field internal IDs are different. For expense reports, you want to use {fxamount} which represents the amount in your base currency (USD in your case). Change your workflow condition formula from {total} > 5000 to {fxamount} > 5000 and it should evaluate correctly for all currencies.