Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel3
stylecircle

Related Pages:

...

Overview of IATI Publishing with Amp Impact

IATI Publishing in Amp Impact allows organisations to take its impact and transaction data in Amp Impact, generate an IATI standard XML file. In this setup guide, system administrators and implementing consultants will learn to:

...

we’ll cover the five steps to set up IATI Publishing 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

...

Panel
panelIconId31-20e3
panelIcon:one:
panelIconText1️⃣
bgColor#F4F5F7

IATI Field & Object Permission Configuration

For users to generate their IATI XML file through Amp Impact, 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 Impact users.

Panel
panelIconId32-20e3
panelIcon:two:
panelIconText2️⃣
bgColor#F4F5F7

Enable XML Generation from Accounts

Since Account is a central object from which both the IATI Organisation and IATI Activity XMLs will be generated, some setup on the Account object is required to enable XML generation.

Panel
panelIconId33-20e3
panelIcon:three:
panelIconText3️⃣
bgColor#F4F5F7

[Optional] Set Defaults for IATI XMLs

Save time with data entry if there is only one reporting organisation by setting the organisation’s details as the default for all the generated IATI files.

Panel
panelIconId34-20e3
panelIcon:four:
panelIconText4️⃣
bgColor#F4F5F7

Set Up Environment for IATI Data Entry

Add fields, related lists, and other relevant IATI information to the right page layouts for users to accurately enter and manage IATI data.

Panel
panelIconId35-20e3
panelIcon:five:
panelIconText5️⃣
bgColor#F4F5F7

Set Up Named Credential for IATI XML Validation

To validate the IATI Organisation or Activity XML while it is being generated, a Named Credential record will be needed to connect an Amp Impact environment with the IATI Validator.

...

IATI Terminology Overview

Before we get into the weeds, let’s align on a couple of IATI-specific terms.

Term

Description

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.

...

Organizations 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.

Info

...

IATI Terminology:

...

This

...

page 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

...

overview of how Amp Impact data maps to IATI data, see the Amp-IATI Data Mapping sheet.

...

IATI

...

Field

...

& Object

...

Permission Configuration

IATI field- and object-level access is not assigned out-of-the-box for all Amp Usersand there are a few configuration steps to ensure that the right users have the access and permissions they need to manage the IATI publishing process.

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. Amp Impact comes with the “IATI Full Access” permission set that can be assigned to users that need access to all the related IATI fields and object. To assign this permission set, first enable the IATI feature and then follow these steps to assign the permission set:

  1. Go to the Setup Quick Search box, and enter “Permission Sets”.

  2. Select the “IATI Full Access” Permission Set.

    Image Modified

...

  1. Click the

...

  1. “Manage Assignments” button.

...

  1. Click the

...

  1. “Add Assignments” button.

...

  1. 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.

Info

Admin Note:  

The IATI_Full_Access permission set extends access for Users users to all IATI-related fields and objects. It does not provide access to the core Amp Impact functionality. For more information on how to provide core Amp access to IATI users, refer to the Installation Guidethe general permissions sets, review this page.

All IATI users will need access to the fields listed in IATI Data Entry Mapping Sheet.

...

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 ‒ object- and field-level permission for 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. assigned manually. There are two options for adding permissions to these objects:

  1. Manually add these objects and fields to the relevant profiles;

  2. [Recommended] Create a customer permission set to provide access to these objects and fields and assign this to the relevant users.

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

Info

Admin Note:  

Admins should keep in mind that a flow will not run if it invokes an Apex class that Automation Consideration: The flow that invokes a critical Apex class will not be triggered if the IATI User doesn’t have access to the relevant objects. 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 “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:

  1. Go to the profile or permission set that you want to grant access to.

  2. Under Enabled “Enabled Custom Metadata Type AccessAccess”, click Edit, as shown in the screenshot below.

    Image Modified

...

  1. Add the custom metadata type, ampi.IATI Default

...

  1. Contact” and

...

  1. “ampi.IATI Default Reporting

...

  1. Org”, to the list of Enabled Custom Metadata Types.

...

  1. Image Modified

To re-enable read access to custom metadata outside of Apex code or system mode contexts, see the following steps:

  1. In Setup, navigate to Schema Settings“Schema Settings”.

  2. Deselect Restrict “Restrict access to custom metadata types”.

...

  1. Image Added

...

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

Info

Admin Note:  

This step is optional based on whether additional filter criteria should be available to users when creating their IATI XMLs.

...

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:

  1. Go to Setup.

  2. Type and select “Flows” in the QuickSearch menu.

  3. Open the IATI_XML_Generation Flow in Flow Builder.

  4. Modify the available filters in the Filter_IATI_Activities Screen element.

    Image Modified

...

  1. Ensure that the filter criteria is reflected in the Filtered_IATI_Activities Get Records element.

    Image Modified

...

  1. Click Save As.

...

  1. In the Save screen, select to save as a New Flow.

    Image Modified

Create Lightning Action to Launch Custom Flow

...

  1. Go to Setup.

  2. Go to Object Manager.

  3. In Object Manager, select Account.

  4. Go to Buttons, Links, and Actions.

  5. 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.

    Image Modified

...

(Required) Add Lightning Quick Action to Account Record Page

Info

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.

...

  1. Go to Setup.

  2. Go to Object Manager.

  3. In Object Manager, select Account.

  4. Go to Page Layouts.

  5. Click into the Page Layout that will be assigned to the Profile(s) of Users who will be generating XML files for IATI reporting.

  6. In the top menu, select Mobile & Lightning Actions. From the options that appear, drag and drop Generate IATI XML into the page layout.

  7. Click Save.

    Image Modified

...

Set Defaults for IATI XMLs

Info

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.

...

Update Page Layouts to Include IATI Fields and Related Lists

Info

Admin Note:  

This step is optional, depending on the reporting requirements and business processes of an organisation. Only fields that are required for IATI reporting should be added to the respective page layouts.

  • The objects mentioned in the IATI Data Entry Mapping Sheet contain IATI-specific fields that can be printed into the generated XML file. 

  • The fields in the IATI Data Entry Mapping Sheet need to be added into the respective page layouts so that values can be entered for IATI reporting.

  • Apart from the fields, there are some related lists that need to be added to some of the Objects. These can be found in the table below. Please make sure these can be found on the object page.

Object (API Name)

Related Lists (Child Object API Name)

Account

  • Contact

  • Account

  • ampi__Objective__c

ampi__Allocation__c

  • ampi__Transaction_Project_IATI_Sector__c

ampi__Budget__c

  • ampi__Transaction_Project_IATI_Sector__c

  • ampi__Financial__c

ampi__Disbursement__c

  • ampi__Transaction_Project_IATI_Sector__c

ampi__Project__c

  • ampi__Geographical_Area__c

  • ampi__Reporting_Period__c

  • ampi__xx_Framework__c

  • ampi__Implementation_Plan__c

  • ampi__Thematic_Area__c

  • ampi__Organization_Role__c

  • ampi__Project_Role__c

  • ampi__Catalog_Objective__c

  • ampi__Project_IATI_Policy__c

  • ampi__Project_IATI_Sector__c

ampi__Project_Indicator__c

  • ampi__Project_Indicator_Reporting_Period__c

  • ampi__Project_Indicator_Geographic_Area__c

  • ampi__Project_Indicator_Thematic_Area__c

  • ampi__Disaggregated_Project_Indicator__c

  • ampi__Result__c

  • ampi__Risk__c

  • tag__Tag_Settings__c

ampi__Organization_Role__c

  • ampi__Allocation__c

  • ampi__Budget__c

  • ampi__Disbursement__c

Add or Override Help Text for IATI Reporting

Info

 Admin Note:  

This step is optional, depending on the business processes that are being enforced or facilitated on Amp Impact. Help text can also be further modified from the default values to better capture an organisation’s processes.

To support users in entering data required for IATI reporting, help text on all IATI-specific fields has been added by default. For fields that are not IATI-specific, help text may be added or modified to provide additional context to users, as indicated in the table below:

Object (API Name)

Field (API Name)

Suggested Help Text

ampi__Allocation__c

ampi__Internal_Code__c

Enter the internal reference linking this transaction back to the publisher’s financial management system.

ampi__Disbursement__c

ampi__Internal_Code__c

Enter the internal reference linking this transaction back to the publisher’s financial management system.

ampi__Disbursement__c

ampi__Status__c

Enter to capture the status of disbursement. If Status = Paid, this transaction will be printed as Incoming Funds (transaction type 1). If Status is not equal to1, this transaction is printed as a Planned Disbursement.

ampi__Financial__c

ampi__Internal_Code__c

Enter the internal reference linking this transaction back to the publisher’s financial management system.

ampi__Project__c

ampi__Description__c

Description type 1: Unstructured, long description of the activity. 

Translate Amp Terminology to IATI Terminology

Admin Note:  
Info

This step is optional, depending on the business processes that are being enforced or facilitated on Amp Impact.

...

Amp Impact and IATI use different terminology to describe different artifacts in M&E. The table below provides the default labels of objects and fields in Amp Impact, and their corresponding IATI term. Using Translation Workbench, organisations can override the default Amp labels with IATI terminology.

API Name

Amp Impact Label

Type of Artifact

IATI Term

ampi__Project__c

Project

Object label

Activity

ampi__Catalog_Objective__c

Objective

Object label

Result

ampi__Result__c

Result

Object label

Actual

ampi__Organization_Role__c.ampi__Project__c

Project

Field label

IATI Receiving Activity

ampi__Organization_Role__c.ampi__IATI_Providing_Project__c

IATI Providing Project

Field label

IATI Providing Activity

Account

Account

Object label

Organisation

ampi__Indicator__c.ampi__Data_Type__c

Data Type

Field label

Measure

ampi__Project_Indicator__c.ampi__Data_Type__c

Data Type

Field label

Measure

ampi__Disaggregation_Group__c

Disaggregation Group

Object label

Dimension

ampi__Disaggregation_Value__c

Disaggregation Value

Object label

Dimension Value

Add IATI Fields to Field Sets

To facilitate IATI data entry through Amp Impact, certain field sets can be modified to include IATI fields for population. Those field sets are listed below:

Object

Field Set Name

Functionality

ampi__Catalog_Objective__c

ADD_NEW_OBJECTIVE_POPUP

Add New Framework Item popup on ManageLogframes

ampi__Disbursement__c

ADD_EDIT_POPUP

Add New Disbursement and Edit Disbursement popups on ManageDisbursements

DISBURSEMENT_TABLE

Table columns on ManageDisbursements

ampi__Financial__c

BUDGET_EXCEL_COLUMNS

Columns in Excel spreadsheet downloaded from ampi__Budget__c

REPORT_EXCEL_COLUMNS

Columns in Excel spreadsheet downloaded from ampi__Reporting_Period__c

ampi__Indicator__c

CATALOG_INDICATORS_TABLE

Columns in Indicator Catalog on ManageIndicators

INDICATOR_CATALOG_SEARCH_FILTER

Search filters in the Indicator Catalog on ManageIndicators

ampi__Objective__c

EDIT_PROJECT_OBJECTIVE

Edit Framework Item popup on ManageLogframes

LOG_FRAMES_TABLE

Table columns on ManageLogframes

ampi__Project__c

PROJECT_SUMMARY

Summary header on ManageDisbursements

ampi__Project_Indicator__c

ADD_RESULTS_INFO_POPOVER

Hover popover on AddResults

AR_SEARCH_FILTERS

Search filters on AddResults

DEACTIVATED_PROJECT_INDICATORS_TABLE

Columns in Deactivated Project Indicators table on ManageIndicators

EDIT_PROJECT_INDICATOR_POPUP

Edit Project Indicator popup on ManageIndicators

PROJECT_INDICATORS_SEARCH_FILTERS

Search filters in Selected Project Indicators and Deactivated Project Indicators tabs on ManageIndicators

SELECTED_PROJECT_INDICATORS_TABLE

Columns in Selected Project Indicators table on ManageIndicators

SET_TARGETS_INFO_POPOVER

Hover popover on AddResults

ST_SEARCH_FILTERS

Search filters on SetTargets

Picklist Limitation for IATI Reporting

Due to the codes generated and printed into the IATI XML files by populating picklist fields, there is a limitation around customizing any of these fields. For any picklist field used for IATI reporting, the picklist values can only be edited in the Label and not in the API Name in order for the corresponding code to print correctly. 

Admin Note:  
Info

If a picklist value’s API Name has been edited from its original value, then the corresponding code will not print into the XML file, which then may cause issues when validating the XML using the IATI public validator.

Find below the list of picklist fields used in IATI reporting with this limitation:

Object

Field

Account

ampi__IATI_Organization_Type__c

ampi__Allocation__c

ampi__IATI_Aid_Type__c

ampi__IATI_Aid_Type_Vocabulary__c

ampi__IATI_Disbursement_Channel__c`

ampi__IATI_Finance_Type__c

ampi__IATI_Flow_Type__c

ampi__IATI_Tied_Status__c

ampi__Budget__c

ampi__IATI_Budget_Status__c

ampi__IATI_Vocabulary__c

ampi__Disbursement__c

ampi__IATI_Aid_Type__c

ampi__IATI_Aid_Type_Vocabulary__c

ampi__IATI_Disbursement_Channel__c

ampi__IATI_Finance_Type__c

ampi__IATI_Flow_Type__c

ampi__IATI_Tied_Status__c

ampi__Status__c

ampi__Financial__c

ampi__IATI_Aid_Type__c

ampi__IATI_Aid_Type_Vocabulary__c

ampi__IATI_Disbursement_Channel__c

ampi__IATI_Finance_Type__c

ampi__IATI_Flow_Type__c

ampi__IATI_Tied_Status__c

ampi__IATI_Policy__c

ampi__Policy_Marker__c

ampi__Policy_Significance__c

ampi__Vocabulary_Code__c

ampi__Indicator__c

ampi__Aim__c

ampi__Objective__c

ampi__IATI_Vocabulary__c

ampi__Level__c

ampi__Organization_Role__c

ampi__Role__c

ampi__Project__c

ampi__IATI_Activity_Scope__c

ampi__IATI_Aid_Type__c

ampi__IATI_Aid_Type_Vocabulary__c

ampi__IATI_Budget_Not_Provided_Reason__c

ampi__IATI_Collaboration_Type__c

ampi__IATI_Condition_Type__c

ampi__IATI_Finance_Type__c

ampi__IATI_Flow_Type__c

ampi__IATI_Humanitarian_Scope__c

ampi__IATI_Humanitarian_Scope_Vocabulary__c

ampi__IATI_Project_Status__c

ampi__IATI_Tied_Status__c

ampi__Project_Geographic_Area__c

ampi__IATI_Exactness__c

ampi__IATI_Feature_Designation__c

ampi__IATI_Geographic_Vocabulary__c

ampi__IATI_Location_Class__c

ampi__IATI_Location_Reach__c

ampi__IATI_Region_Vocabulary__c

ampi__Project_Indicator__c

ampi__Calculate_Total__c

ampi__Data_Type__c

ampi__Project_Role__c

ampi__IATI_Contact_Type__c

ContentVersion

ampi__IATI_Document_Category__c

...

Set Up Named Credential for IATI XML Validation

...

  1. Navigate to https://developer.iatistandard.org

  2. Click “Sign Up”.

  3. Follow the sign up process and confirm your account from an email link.

  4. Sign In to the API Gateway developer portal (same URL as above).

  5. Click Subscriptions > “Exploratory”/“Full Access” (as per requirement).

...

  1. Image AddedImage Modified

...

  1. Enter a Subscription Name (this can be anything you want) in the box.

...

  1. Check the box to agree to the Terms of Use.

...

  1. Click the Subscribe Button.

...

  1. Copy your Primary or Secondary Key from your Profile on the API Gateway webpage.

    Image Modified

Create Named Credential Record in Salesforce

With the primary and secondary keys copied from the previous section, you are now ready to create a Named Credential record to connect Salesforce and Amp Impact to the IATI Public Validator.

  1. Go to setup and search for “Named Credentials”.

  2. Click on “External Credentials” and then click on “New”.

    Image Modified

...

  1. Fill in the following details and click Save.

...

    1. Label: IATI VALIDATOR EXTERNAL CREDS

...

    1. Name: IATI_VALIDATOR_EXTERNAL_CREDS

...

    1. Authentication Protocol: Custom

    Image Modified

...

  1. Create a Permission Set Mapping for the External Credential. This Permission Set Mapping will help to authorize users such that users assigned to this permission set will only be allowed to utilize a specific OcpApimSubscriptionKey provided by the IATI. 

...

  1. Input the OcpApimSubscriptionKey (Primary or Secondary Key) provided by the API Gateway in the value field of Parameter 1 and click Save.

    Image Modified

...

  1. Create a custom header with the following inputs. 

    1. Name: Ocp-Apim-Subscription-Key

    2. {!$Credential.IATI_VALIDATOR_EXTERNAL_CREDS.OcpApimSubscriptionKey}

    3. Sequence Number: 1

    Image Modified

...

  1. Now, create a Named Credential, with the following parameters.

    1. Label: IATI VALIDATOR

    2. Name: IATI_VALIDATOR

    3. URL: https://api.iatistandard.org

    4. External Credential: IATI VALIDATOR EXTERNAL CREDS

    5. Allowed Namespaces: ampi

      Image Modified

...

  1. Create a new custom header within the Named Credential with the following parameters:

    1. Name: Content-Type

    2. Value: text/plain

    3. Sequence Number: 1

    Image Modified
Info

Admin Note: 

Please note that The custom label  IATI_VALIDATOR_NAMED_CREDS stores that API name of the Named Credential. If you want to use a different name for the Named Credential / External Credential than the one one provided above, please update the value of custom label IATI_VALIDATOR_NAMED_CREDS after configuring the Named Credential/External Credential with that name.

...