This page covers:
Overview
In this setup guide, system administrators and implementing consultants will learn to:
Enable IATI XML generation in Amp Impact
Set up the environment for entry of IATI data
Modify Amp Impact default interfaces to include IATI-specific information
After following this guide, a Salesforce environment will be set up so that it can automatically take its impact and transaction data, entered through Amp Impact, and print out an IATI standard XML file with that data. Clients can take that XML and publish it directly to the IATI registry.
Terminology
IATI: The International Aid Transparency Initiative (IATI) is a global initiative to improve the transparency of development and humanitarian resources and their results to address poverty and crises.
Organisation Standard: The IATI organisational standard is used to describe one or more organisations involved in any stage development cooperation (funding, implementing etc.). It is designed to report forward-looking aggregate budget information for the reported organisations, and planned future budgets to recipient institutions or countries.
The IATI organisational standard is also used to report links to relevant public documents. Organisations publish this data in an organisation file. It is expected that every organisation publishing IATI data should include one organisation file, which is updated at least annually.
Activity Standard: The IATI activity standard is designed for reporting the details of individual development cooperation activities/projects. An activity is defined by the reporting organisation. Depending on who is reporting, it might be a large program, a small project, or another logical grouping of work and resources.
The IATI activity standard is the most widely used part of IATI. The activity standard supports around forty different fields, referenced by standard codelists, and designed to capture information about many different kinds of aid activities. Organisations publish this data in an activity file. It is expected that every organisation publishing IATI data should include one or more activity files. An activity file can detail one or many activities, and an organisation can publish one or many files.
Admin Note:
This guide will use the terms for objects and fields in Amp Impact (i.e. API names), which may not always mirror the terminology used in IATI. For a full understanding of how Amp data maps to IATI data, see the Amp-IATI Data Mapping sheet.
Provide IATI Users with Field/Object Permissions
For Users to generate their IATI XML file through Amp, they will need additional permissions to ensure they have access to the data relevant to IATI reporting. This access is not provided out-of-the-box for all Amp Users.
Assign IATI Permission Set to IATI Users
After installing Amp Impact and enabling the IATI feature, follow these steps to ensure your IATI Users have access to all IATI objects and fields.
Go to the Setup Quick Search box, and enter “Permission Sets”.
Select the “IATI Full Access” Permission Set.
3. Click the Manage Assignments button.
4. Click the Add Assignments button.
5. Select all relevant users that should have access to the IATI Full Access Permission Set and click “Assign”.
If an IATI User does not need access to all IATI objects and fields, the IATI_Full_Access permission set can be cloned, and object/field permissions that are not necessary can be removed from the cloned permission set.
Admin Note:
The IATI_Full_Access permission set extends access for Users to all IATI-related fields and objects. It does not provide access to the core Amp functionality. For information on how to provide core Amp access to IATI users, refer to the Installation Guide.
All IATI users will need access to the fields listed in IATI Data Entry Mapping Sheet.
Add Permissions for IATI Fields to User Profiles/Custom Permission Sets
Due to a Salesforce limitation on packaging permissions for objects that are detail in a master-detail relationship to standard Salesforce objects, the permissions for two objects ‒ ampi__Organization_Role__c and ampi__Project_Role__c ‒ and their fields must be added manually to either the user profile or a custom permission set, depending on the environment and use case.
Below is the list of objects/fields for which permissions must be manually set:
Object | Field |
ampi__Organization_Role__c | ampi__Organization__c |
ampi__Organization_Activity_Identifier__c | |
ampi__Role__c | |
ampi__Organization_Role__c | |
Name | |
ampi__Project__c | |
ampi__IATI_Providing_Project__c | |
ampi__Exclude_From_IATI__c | |
ampi__IATI_Role_Code__c | |
ampi__Project_Role__c | ampi__Active__c |
ampi__Contact__c | |
ampi__Description__c | |
ampi__End_Date__c | |
ampi__Project__c | |
Name | |
ampi__Role__c | |
ampi__Start_Date__c | |
ampi__Type__c | |
ampi__IATI_Contact_Type__c | |
ampi__Is_IATI_Reporter__c |
Admin Note:
Admins should keep in mind that a flow will not run if it invokes an Apex class that the IATI User doesn’t have access to. If admins disable any currently enabled Apex Classes invoked by Flow, they may need to adjust profiles or permission sets for IATI Users who run flows that invoke Apex classes.
Enable Customize Application Permission for Direct Read Access to Custom Metadata Types
The Customize Application Permission is required for direct read access to Custom Metadata Types. This follows Salesforce’s rollout of the “secure by default” approach. For more information on its use in Amp Impact, see Set Defaults for IATI XMLs.
To grant a profile or permission set read access to a custom metadata type:
Go to the profile or permission set that you want to grant access to.
Under Enabled Custom Metadata Type Access, click Edit, as shown in screenshot below.
3. Add the custom metadata type, ampi.IATI Default Contact and ampi.IATI Default Reporting Org, to the list of Enabled Custom Metadata Types. See screenshot below.
To re-enable read access to custom metadata outside of Apex code or system mode contexts, see the following steps:
In Setup, navigate to Schema Settings.
Deselect Restrict access to custom metadata.
Enable XML Generation from Accounts
Account is the central object from which both the IATI Organisation and IATI Activity XMLs will be generated. In order to generate the XML files, some setup is required on the Account page layout to enable Users to generate their IATI files.
Create/Customize Flow from Template
Admin Note:
This step is optional based on whether additional filter criteria should be available to users when creating their IATI XMLs.
By default, Amp contains a Screen Flow that Users will interact with to:
Select whether they are creating the XML file according to the IATI Organisation Standard or the IATI Activity Standard,
If the XML is being generated according to the IATI Activity Standard, filter the Activities (ampi__Project__c records) that will be printed into the XML.
By default, the only filter that is available for use is to either display all records, or only records where ampi__Ready_For_IATI_Reporting__c = TRUE.
If the Screen Flow must be customized (e.g. text changed, filter options added), then this Flow can be cloned and modified for those customizations.
Customize Flow Filters (Activity Standard only)
This step is only required if the filters for the Activity Standard XML in the Screen Flow need to be customized. In order to customize these filters, follow the steps below:
Go to Setup.
Type and select “Flows” in the QuickSearch menu.
Open the IATI_XML_Generation Flow in Flow Builder.
Modify the available filters in the Filter_IATI_Activities Screen element.
5. Ensure that the filter criteria is reflected in the Filtered_IATI_Activities Get Records element.
6. Click Save As.
7. In the Save screen, select to save as a New Flow.
Create Lightning Action to Launch Custom Flow
If a custom flow has been created for IATI XML generation, then a new Lightning Action must be created to launch that flow from an Account record.
Go to Setup.
Go to Object Manager.
In Object Manager, select Account.
Go to Buttons, Links, and Actions.
Click New Action to create a Flow Action, selecting the custom flow created. The Label and Name can be filled out per the use case.
2. (Required) Add Lightning Quick Action to Account Record Page
Admin Note:
These steps detail how to add the Lightning Quick Action for Amp Impact’s default Screen Flow IATI_XML_Generation to the Account page layout. If a custom Flow and Lightning Action were created, use that Lightning Action instead.
To ensure that Users can open the Flow that generates the IATI XML files, the Lightning Quick Action that launches the Flow must be added to the Account page layout.
Go to Setup.
Go to Object Manager.
In Object Manager, select Account.
Go to Page Layouts.
Click into the Page Layout that will be assigned to the Profile(s) of Users who will be generating XML files for IATI reporting.
In the top menu, select Mobile & Lightning Actions. From the options that appear, drag and drop Generate IATI XML into the page layout.
Click Save.
Set Defaults for IATI XMLs
Admin Note:
These steps are optional based on whether the Reporting Organisation and/or Contact associated with an IATI XML will be the same across all XMLs generated from the same Salesforce environment.
Create Default Reporting Organisation
If only one organisation will be the reporting organisation for all the IATI XML files generated from a single Salesforce environment, the organisation’s details can be set as the default for all the IATI files so that the information does not need to be entered for each IATI Activity.
Open Setup.
Use the Quick Find search to find and open Custom Metadata Types.
Click “Manage Records” next to “IATI Default Reporting Org”.
In the list displayed, click the “New” button to create the IATI Default Reporting Organisation.
In the edit view:
Set the Label field to the name of the Organisation. When clicking out of the input box, this will automatically set the IATI Default Reporting Organisation Name.
Enter the IATI Organisation Identifier. This must be the unique Id provided by IATI to the reporting organisation. For more information on Organisation Identifiers, read here.
If no default Reporting Organisation is set, then the parent Organisation (Account) for an Activity (ampi__Project__c) will be printed as the Reporting Organisation for that Activity.
Create Default Contact
If there is only one individual whose contact information will be used for all IATI Activity XML files generated from a single Salesforce environment, that contact information can be set as the default for all the IATI files so that the information does not need to be entered for each IATI Activity file.
Open Setup.
Use the Quick Find search to find and open Custom Metadata Types.
Click “Manage Records” next to “IATI Default Contact”.
In the list displayed, click the “New” button to create the IATI Default Contact.
In the edit view:
Set the Label field to the name of the Contact. When clicking out of the input box, this will automatically set the IATI Default Contact Name.
Enter the IATI Organisation. This must be the text name of the Organisation to contact for more information about an Activity.
Enter the IATI Organisation Department.
All other fields are optional.
If no default Contact is set, then the related Contact (ampi__Project_Role__c) marked as the IATI Reporter (ampi__Is_IATI_Reporter__c = TRUE) for an Activity (ampi__Project__c) will be printed as the Contact for that Activity.
Set Up Environment for IATI Data Entry
Depending on the reporting requirements of an organisation, the default page layouts and field labels in Amp Impact can be modified to ensure that those requirements are met while creating or updating data.