Available Mapping Types
This article describes the expected format of the existing mapping types that are included in the Universal Mapping Assistant SuiteApp. For more information, see Defining a New Mapping Type Instance.
GL Accounts SAF-T 2.0
Any mapping type instance for the GL Accounts SAF-T 2.0 mapping type must specify a countries property, which defines the collection of countries to which the instance applies. When you open the Universal Mapping Assistant page and select a specific mapping type instance, you're prompted to select a subsidiary. The list of available subsidiaries is filtered based on the countries property that's specified in the mapping type instance definition.
Below is an example of the existing GL Accounts SAF-T 2.0 mapping type instance definition. If a translationCollection is provided, the name property should correspond to a key in the translation collection. Otherwise, it's treated as the human-readable name of the mapping type instance.
{
type: 'UMA_SAFT_2_0_ACCOUNTS',
id: 'NO_SAFT_2_0_ACCOUNTS',
name: 'mti_name',
values: {
groupingCategories: [
{ uid: 'cat_1', name: 'mti_cat1_name' }
],
groupingCodes: [
{ category: 'cat_1', code: 'cod_1', uid: 'code_1', name: 'mti_code1_name' },
{ category: 'cat_1', code: 'cod_2', uid: 'code_2', name: 'mti_code2_name' }
]
},
translationCollection: 'custcollection_nor',
suggester: '/SuiteApps/com.netsuite.universalmappingassistant/src/suggesters/saft2acc/EmbeddingSuggester',
configuration: {
countries: ['NO']
}
}
The GL Accounts SAF-T 2.0 mapping type requires values to be specified as a combination of two properties:
-
groupingCategories: Defines the collection of grouping categories, where each category is identified by a uid and a name. If a translationCollection is provided, the name property should correspond to a key in the translation collection.
-
groupingCodes: Defines the collection of available grouping codes, where each code is associated with a category, a code, a uid, and a translatable name. Property category must reference the uid of a grouping category. If a translationCollection is provided, the name property should correspond to a key in the translation collection.
For both collections, uid is the stable identity used by the Universal Mapping Assistant. The grouping code remains the business value used for reporting and invoicing purposes.
If a translation collection is specified, the following properties must correspond to keys in that collection:
-
Name of the mapping type instance
-
Names of all grouping codes
-
Names of all grouping categories
Moreover, they must comply with the NetSuite translation key rules and be displayed in lowercase with no spaces.
When values are received, the GL Accounts SAF-T 2.0 mapping type validates that:
-
The set of values is in the expected format
-
Each submitted value entry has a non-empty uid
-
The uid values are unique within the submitted payload
-
Grouping codes do not contain duplicate code values
-
Each grouping code references an existing grouping category
-
Each grouping category is referenced by at least one grouping code
For more information, see Validation of Mapping Type Instance Values.
The example above uses the default suggester, but you can also define a custom one. For more information, see Defining Your Own Suggester.
Methods of Payment
This section describes how you can create and import a specific mapping type instance for the Methods of Payment mapping type. In this context, a mapping type instance represents a specific payment method standard, for example, PEPPOL-81.
When you select the Methods of Payment mapping type, the Payment Methods Standards field appears. The values available in this field are the payment method standards (mapping type instances) installed by localization SuiteApps. The Universal Mapping Assistant SuiteApp doesn't provide any payment method standards by itself.
Below is the expected format for defining a new payment method standard.
|
Attribute |
Required |
Example |
Description |
|---|---|---|---|
|
type |
YES |
UMA_ |
Fixed value. Don't change it. Represents the mapping type that this instance is associated with (Methods of Payment). |
|
id |
YES |
METHODS_ |
Unique identifier for the Payment Method Standard. It must be unique among all payment method standards. |
|
name |
YES |
Peppol-81 |
Display name of the Payment Method Standard. You can see this value as a dropdown menu option. |
|
values |
YES |
|
List of payment methods defined by the Payment Method Standard. Each payment method in the paymentMethods array must define the following required attributes:
|
|
translationCollection |
NO |
custcollection_loc |
Optional. If specified, the name of the mapping type instance, and the names of all payment methods, must correspond to keys in that collection. Moreover, they must comply with the NetSuite translation key rules and be displayed in lowercase with no spaces. |
|
suggester |
0 |
|
Optional. The built-in Methods of Payment mapping type works without this property. If specified, it must point to a valid Suggester module. |
|
configuration |
YES |
{} |
Required attribute. Must be specified as empty curly brackets. |
See the expected format below:
{
type: "UMA_METHODS_OF_PAYMENT",
id: "METHODS_OF_PAYMENT_PEPPOL_81",
name: "Peppol-81",
values: {
paymentMethods: [
{
uid: "pm_1",
code: "1",
name: "Instrument not defined",
description: "Not defined legally enforceable agreement between two or more parties (expressing a contractual right or a right to the payment of money).",
},
{
uid: "pm_2",
code: "2",
name: "Automated clearing house credit",
description: "A credit transaction made through the automated clearing house system.",
},
{
uid: "pm_3",
code: "3",
name: "Automated clearing house debit",
description: "A debit transaction made through the automated clearing house system.",
},
{
uid: "pm_zzz",
code: "ZZZ",
name: "",
description: "",
},
// ...
]
},
translationCollection: "custcollection_loc",
configuration: {},
}
When the same mapping type instance is installed for a built-in mapping type again, the SuiteApp reconciles the available target values by uid. Furthermore, it removes obsolete values that are omitted from the submitted payload.