We’re experiencing issues with custom fields on our Opportunity object not appearing in Data Loader exports. We have several custom currency fields (Discount_Amount__c, Adjusted_Total__c) and a formula field (Profit_Margin__c) that calculate based on standard Amount field. When I export Opportunities using Data Loader, these custom fields either show blank values or don’t appear in the export at all, even though they’re populated in the UI.
I’ve verified field-level security settings and my profile has read access to all custom fields. The formula field uses this calculation:
(Amount - Cost__c) / Amount
The currency fields are set to use corporate currency with 2 decimal places. Has anyone encountered similar field mapping issues with Data Loader exports? This is blocking our monthly reporting pipeline to our data warehouse.
Update: I’ve been working through everyone’s suggestions and found multiple issues that were compounding the problem. Here’s what I discovered and fixed:
Issue 1: Formula Field Export Limitations
The Profit_Margin__c formula field wasn’t exporting because my SOQL query didn’t include the Cost__c field it references. Formula fields are calculated at query time, so all referenced fields must be in the SELECT statement. I updated my query to explicitly include all dependency fields.
Issue 2: Currency Field Mapping
For the currency fields (Discount_Amount__c, Adjusted_Total__c), the problem was related to our multi-currency setup. Data Loader was trying to export converted values instead of the stored values. I needed to modify my export mapping to use the base currency field API names without any conversion suffixes.
Issue 3: Field-Level Security Configuration
While my profile had read access, the integration user I was using for Data Loader had restricted field-level security. I created a dedicated permission set that grants explicit read access to all custom Opportunity fields and assigned it to the integration user. This resolved the blank value issue.
Complete Solution:
- Updated SOQL query to include all fields referenced by formulas
- Modified SDL mapping file to use correct currency field API names:
Discount_Amount__c=Discount_Amount__c
Adjusted_Total__c=Adjusted_Total__c
- Created permission set with field-level read access for custom fields
- Verified page layout includes all fields (even though this affects UI, not API)
- Tested export with both corporate currency and user’s currency locale settings
The key learning here is that Data Loader field visibility is controlled by three layers: field-level security, formula field dependencies, and currency field mapping in multi-currency orgs. All three must be properly configured for successful exports. After implementing these changes, all custom fields now export correctly with accurate values in our nightly data warehouse sync.
Formula fields are read-only and their behavior in Data Loader depends on the query. Your Profit_Margin__c formula references Amount and Cost__c, so both must be in your SOQL SELECT statement. If Cost__c is missing from the query, the formula can’t calculate and returns null. Also check if any of these fields have record type restrictions - field-level security alone isn’t enough if certain record types don’t have access to specific fields on the page layout.
We had the exact same problem last quarter. The issue was a combination of field-level security and profile permissions. Even though you have read access, check if your integration user’s profile has the ‘View All Data’ permission enabled. Without it, Data Loader respects sharing rules which can hide field values. Also, for currency fields in multi-currency orgs, you need to explicitly query both the field and its DatedConversionRate if you want accurate values.
I’ve seen this before with multi-currency orgs. When you have currency fields with corporate currency enabled, Data Loader might be exporting the converted value instead of the actual stored value. Check if you’re using the correct API names in your query - should be Discount_Amount__c not Discount_Amount__c.ConvertedValue. Also verify your user’s currency locale matches the org’s corporate currency setting.
Another thing to verify - are these custom fields on the Opportunity page layout that your user profile can see? Sometimes fields are hidden at the layout level but still accessible via API. Check Setup → Object Manager → Opportunity → Page Layouts to confirm all three fields (Discount_Amount__c, Adjusted_Total__c, Profit_Margin__c) are present on the layouts assigned to your profile. Field-level security and layout visibility work together to determine API access in some edge cases.
Check your Data Loader field mappings first. Currency fields sometimes require explicit mapping in the SDL file. Also, formula fields have export limitations - they’re calculated on-the-fly and might not export if they reference fields that aren’t included in your SOQL query. Try adding all referenced fields (like Cost__c) to your export query.