Knowledge Base - Smart Flows

Formatting

Formatting a field means that you change the way it is displayed. You can turn a field into a number, date, time, an image, a bar code, a hyperlink, an e-signature, and so on.

Formatting dialog

The mapping window is where you apply formatting to the selected mapping. Double-click a mapping in the Mapping tab of the Smart Flows pane (or select a mapping and select Settings) to bring it up.

Here's the Formatting part of that window:

ss4715.png

Template Builder styles

To configure your style use the tabs explained below, and then save it by doing the following:

Creating a new Template Builder style.

  1. In Template Builder, open your template.

  2. On the toolbar, select the Template Builder Mapping tab.

  3. Configure your formatting as desired.

  4. Select Save formatting button.

    The Settings dialog opens.

  5. In the Name field, enter a name.

  6. Select OK.

Quick apply a style to a Template

  1. Open your template.

  2. Right-click the field to modify, and select Assign Template Builder Style.

  3. From the Select Style dialog, select a style.

  4. Select OK.

Reset to default

If you want to reset your mapping's settings to the default values, you can select the Reset all formatting to default button:

ss1832.png
Format

The Format tab is used to display the field in the selected format. By default, all fields are interpreted as text. This is the list of available formats:

  • Text

  • Currency

  • Number

  • Date

  • Datetime

  • Time

  • Duration

  • Percentage

  • Custom number

  • Custom date

  • Capturing groups

When you choose a format type, additional options appear:

image-20260717-194803.png

Choosing the right format is important, since some combinations of fields and formats don't make sense. For instance, how are you going to convert "700" to a date? Or "documents" to a percentage, etc.

Numbers, times & dates

How the currency, number, date, datetime, time, percentage, custom number and custom date formats work is covered on this page.

Durations

Durations can be used to specify a  period of time. This is used primarily to output a pseudo-field or formula in a certain duration format.

You can define a base moment, by clicking the calendar button or grabbing a value from a field:

image-20260717-194816.png

This base moment will then be used to calculate months. This is important because not every month is of the same length, so turning e.g. 90 days into months will require that you specify a base moment. If you do not specify a base moment but the calculation requires it (months to something or something to months), then the current moment will be used.

All of this only makes sense in the context of date/time calculations, which is described in detail on this page.

Capturing groups

Capturing groups can be used to disassemble a field into groups, after which you can choose which of those groups to show and in which order. This is useful for output that needs to follow a certain pattern, such as telephone numbers.

Creating, moving and removing groups

First, you need to create your groups. Select the green plus to add a new group:

image-20260717-194824.png

You can add more groups by clicking the green plus. Select a group and select the red X to remove a group. Finally, you can move a group up or down the list by selecting it and clicking the up or down arrows.

Defining groups

Now that you've created your groups, you need to define them. Select the .*? button in a group's text box to bring up a list of regular expressions which you can use to define your group:

image-20260717-194832.png
image-20260717-194838.png

You can select one the expressions (this page has more information about regular expressions) and select OK to insert it, or you can type it in yourself in the text box:

image-20260717-194848.png

Setting the output

Once you've set up and defined your groups, you can decide how to output them. You can type in the group identifiers (such as {0}) and other characters in the Assemble Output text box:

image-20260717-194858.png

For instance, if group {0} contains A, group {1} contains B and the output is set as in the above screenshot, then this will be the output: A/B.B.B.

Check the box Input must be an exact match of the break-up pattern above to force the input to adhere to the set pattern. This means that if you have 4 groups that each catch a digit, 1234 will be a match, but 12345 won't, because that contains 5 digits.

Example

Capturing groups is a powerful feature, but it can get quite complex - so let's use a real-life example. Take the following setup, which we use for formatting a telephone number:

image-20260717-194905.png


This setup defines 4 groups with the following rules:

  • Group {0} contains the first 2 characters of the mapping's content (a dot means any character).

  • Group {1} contains the following 3 characters.

  • Group {2} contains the following 2 characters.

  • Group {3} contains the following 2 characters.

The telephone number that we want to format is 047770123. This means that the groups will contain the following:

  • Group {0}: 04

  • Group {1}: 777

  • Group {2}: 01

  • Group {3}: 23

Finally, here's how we set up our output:

image-20260717-194911.png

This results in the following output: 04/777.01.23

Formatting telephone numbers is only one very basic example, but this should give you an idea of what is possible with capturing groups.

Text editing

The Text editing tab is used to replace parts of a text mapping, or to insert parts into the mapping.

Replacing text

To replace part of your text, type the part you wish to replace in the left text box, and the part you wish to replace it with in the right text box:

image2018-6-27_13-52-19.png

This example will replace all lowercase occurrences of sandwich with SANDWICH. Select the ellipsis (...) to bring up more options:

image2018-6-27_13-52-43.png

In here, you can change some settings:

  • Ignore case: check this if you want to treat lowercase and uppercase letters the same. When this is checked, there is no difference between BLUE, blue, bLUe, Blue etc.

  • Normal search mode: the text is considered to be plain text without special characters.

  • Extended search mode: this allows the insertion of special characters in the text. This wikipedia page has more information about special characters.

  • Regular Expression search mode: this treats the text as a regular expression. This page has more information about regular expressions.

Select OK to save the settings for that text replacement.

After you've set up the text replacement, select the green plus to add it to the list:

ss0360.png

You can add multiple text replacements and move the order in which they are checked by selecting one of them and clicking the up and down arrows. If you want to remove a text replacement, select it and select the red X. Finally, you can update a text replacement by selecting it, changing the text/settings and clicking the update button:

ss0365.png

Inserting text

To insert text, type the text you want to insert in the text box, choose the position where you want to insert it and select the green plus:

ss0367.png
ss0368.png

This adds the text insert to the list of text inserts.

There are multiple positions to insert your text:

  • At the beginning: the typed text is inserted at the beginning of the field's text.

  • At the end: the typed text is added to the end of the field's text.

  • From start (forwards): the typed text is added in the position you specify to the right. 0 is at the beginning, 1 is after the first character etc.

  • From end (backward): the typed text is added in the position you specify to the right. 0 is at the end, 1 is before the last character, etc.

You can add multiple text inserts and move the order in which they are checked by selecting one of them and clicking the up and down arrows. If you want to remove a text insert, select it and select the red X. Finally, you can update a text insert by selecting it, changing the text/settings and clicking the update button:

ss0365.png
Covert to Barcode

The Convert to bar code tab is used to convert a mapping into a bar code.

To insert a bar code, you have to  convert a mapping's value to a bar code. This is done from within the Convert to bar code tab in a mapping's formatting tab.

Make sure to check the box, as this unlocks the controls you need to configure the conversion.

In addition to going to an existing mapping and selecting Convert to bar code, you can select anywhere in the document and then select Bar code in the ribbon. This will create an empty mapping with the Convert to barcode option enabled:

Options

The tab offers a few options. First of all, you can choose the desired bar code type in the dropdown list. These are the types you can choose from:

  • Codabar

  • Code128

  • Code39

  • DataMatrix

  • Ean128

  • Ean13

  • Ean8

  • Interleaved2of5

  • ITF14

  • PDF417

  • Postnet

  • QRCode

  • RoyalMailCBC

  • UPCA

  • UPCE

  • USPSIntelligentMail

Select Advanced bar code settings to change barcode-specific settings.

Setting

Description

Bar height

The height of the barcode's bar.

Resolution

  • The barcode's print resolution. A higher resolution results in a more detailed print.

Scale factor

Defines how much the bar code should be scaled. A factor of 2 scales the bar code by 200%.

Quiet zone horizontal

Defines how much white space is added to the left and right of the bar code.

Quiet zone vertical

Defines how much white space is added to the top and bottom of the bar code.

Anti-alias

Defines whether to anti-alias the bar code.

Aspect ratio

Determines whether to maintain the aspect ratio (width/height) when scaling the image. For most barcodes, you will likely want to turn this setting on.

Height

The height of the bar code (in mm).

Width

The width of the bar code (in mm).

Description

The textual description of the bar code.

Preserve formatting

The Preserve Formatting tab is used for keeping original formatting intact. Original formatting can include:

  • Line breaks

  • HTML

  • Entire documents

By default, Smart Flows removes all formatting when a field is mapped. For fields that require additional formatting such as currency or date fields, this is beneficial. But if you want to keep the original formatting intact, this is the tab for you.

This tab is found under the Format tab in a mapping's settings:

image2018-6-28_11-19-14.png

Make sure to check the box, as this unlocks the controls you need for configuration.

image2018-6-28_11-18-27.png

Note that activating this setting overrides both Word's and Smart Flows' font settings. If this is a problem, the information on this page may be of use.

Typical uses

Here are a few examples that show why you'd want to use this feature:

Inserting documents

You can insert entire documents if those documents are stored as base64 in a field. This is the default way to store byte array in XML (which is what Smart Flows uses), so in general, any document you include in your CRM system will be saved by Smart Flows as base64.

For example, if you include an attachment to a note in Dynamics CRM, that attachment is saved in the Document field (an advanced field) as base64:

image2018-6-28_11-44-3.png

If you then map this field and use the Preserve Formatting option (and set it to the correct format), the entire document will be inserted where you mapped the field.

Rendering HTML

You can include HTML in a field, for instance when you make a custom data set with a formatted text box field:

image2018-6-28_12-8-20.png

The This is a test. line has all kinds of formatting. This is all converted to HTML - you can see this if you make a sample out of it and then look at the sample's content (select View):

image2018-6-28_12-25-52.png

The &lt; is a < and the &gt; is a >, so these are just XML tags. They're automatically replaced since to make XML inside XML possible.

If you map this field, Smart Flows will automatically detect that it's HTML and it will activate the Preserve Formatting setting for you:

ss4774.png

In the screenshot above, we removed the Preserve Formatting from the first mapping, so the first is without and the second is with Preserve Formatting. Here's the result:

image2018-6-28_12-30-43.png

Keeping line breaks

Some fields contain line breaks, typically address fields:

image2018-6-28_13-59-28.png

If you map this without doing anything, it will look like this:

image2018-6-28_14-0-28.png

If you want to keep the line breaks, you need to enable Preserve Formatting:

image2018-6-28_14-3-11.png

Now it's rendered like this:

image2018-6-28_14-3-27.png

Options

Format

image2018-6-28_14-22-38.png

The first setting should match the format of the original content. If you're inserting a document, find out the format of the original document. If it's a .docx file, select that as the format. If it's a PDF, select PDF etc. Here's the list of all supported format:

  • Auto (not recommended)

  • Word Document (*.docx)

  • Word Macro-Enabled Document (*(.docm)

  • Word Template (*.dotx)

  • Word macro-Enabled Template (*.dotm)

  • Word 97-2003 Document (*.doc)

  • Word 97-2003 Template (*.dot)

  • Word Pre 97 Document (*.doc)

  • Word XML Document (*.xml)

  • Portal Document Format (*.pdf)

  • OpenDocument Text (*.odt)

  • OpenDocument text Template (*.ott)

  • Web Page (*.htm, *.html)

  • Single File Web Page (*.mht, *.mhtml)

  • Rich Text Format (*.rtf)

  • Plain Text (*.txt)

  • Printer Command Language (*.pcl)

  • Open XML Paper Specification (*.xps)

  • LaTeX (*.tex)

  • Scalable Vector Graphics (*.svg, *.svgz)

  • Computer Graphics Metafile Document (*.cgm)

  • Electronic Publication(*.epub)

  • Flat OPC Documents

  • Flat OPC Macro-Enabled Document

There's also an Auto setting. This will force Smart Flows to try and deduce the format from the content, but this is not guaranteed to work. We do not recommend you use Auto unless you have no choice.

The second setting has 5 options and asks you where the data comes from:

  • This mapping's value: typically the one you want. This uses the current field's value as is.

  • A file in a folder: use this when you want to use a file on the Smart Flows server instead of this mapping's value. You can then use something like  'c:\\temp\\file.doc' as the expression for this mapping, and force Smart Flows to look for that file and do the Preserve Formatting on that file.

  • An asset: use this when you want to use an asset instead of this mapping's value. The mapping value will be interpreted as an asset, so if you have an asset called Document you can just use 'Document' as the mapping's value and Smart Flows will know to look for an asset called Document.

  • URL: use this when you have a URL inside the mapping. Smart Flows will interpret it as an URL and try to retrieve data from that URL. If it's a web page, you can use the Web page HTML format to render it.

  • A Microsoft SharePoint or Sugar connector defined in the project console.

Data is base64 encoded

This setting should be checked when the data is base64 encoded.

Data can be of type string, with the contents of the string looking like base64 encoded data. This is not always clearly visible so you may have to try with and without checking this box if you don't get the result you expect.

Formatting import mode

This setting determines what happens to Word styles when converting a Word document.

  • Use template styles means that your current template's Word styles will overwrite the ones found in the original content.

  • Use styles of the original document keeps the original styles intact. (As said above, all content is assigned a Word style. Plain text will get the Normal style, HTML H1 will become Heading 1 etc. The best way of determining how Smart Flows converts your original content into Word styles is to preview your template in docx format and then see which styles are assigned to the content.)

Insert as image

This setting can be used when you want to insert the content as an image rather than text. This is especially useful for inserting PDF files, as you cannot insert their content as text.

Checking this setting opens up another Settings button. Clicking that brings up a window where you can adjust the image's position, size, text wrapping etc. like you can do with regular Word images.

Images added to a Dynamics CE Note can be mapped in your template. For images uploaded from a file, set Source for embedded images to Dynamics Connector. For images inserted from a URL, leave Source for embedded images set to None.

Merge PDF documents when the document is converted to PDF

This is an interesting feature for when you are inserting PDF files in a template whose documents are to be outputted to PDF. Checking this box will make sure that the documents are added as fully-fledged PDF files to the document, keeping text etc. intact. However, this will only work when the document format is PDF, as you can only add PDFs to other PDFs.

This setting helps to keep the file size small and increases performance by speeding up the output process. Because you output as PDF, Smart Flows can insert PDFs without having to re-render them, and this allows faster document generation.

Checking this setting opens up another Settings button. Clicking that brings up a window where you can give the inserted PDF a description and table of contents position (for use in PDF's table of contents), and you can also include a background layer (both near the header or footer) that you can use to put in front of your PDF. This is useful when you are using page numbering, and you want to make room for that.

If you are going to output to non-PDF formats and you want to insert PDFs, this setting needs to be unchecked. Instead, you need to check the Insert as image box instead.

Other settings

There are other settings, not grouped together:

  • Start in own paragraph: checking this will create a new paragraph for this mapping so that the "preserved document" doesn't begin in the middle of another paragraph.

  • Skip external content: checking this prevents Smart Flows from waiting on web content that doesn't load by skipping its content. For instance, when including a Word file that has links to images on a website, this setting would not let Smart Flows wait until the images are retrieved - the cached versions will be used.

  • Ignore formatting rules: when importing a text file (.txt), check this if you want to ignore all formatting that Word might automatically detect. For instance, Word will detect 1. Table 2. Chair 3. Lamp as a list, but if you check this box then it will just be imported as text.

  • Remove empty paragraphs at the end: check this if you want to remove empty paragraphs at the end.

  • Create separate section for content: checking this gives you the power to add structure to your document by creating Word sections along with preserving the formatted text. By default this is continuous, but you can also choose to create a new page, new column, even page or odd page section.

E-Signature

The E-signature tab is used for inserting electronic signatures. Activating this turns a mapping into an e-signature.

Smart Flows currently supports three e-sign platforms: Docusign, Sertifi and OneSpan Sign

Creating an e-signature placeholder

To insert an e-signature, select E-Signature in the Smart Flows ribbon:

ss4787.png

This creates an empty mapping with the digital signature option activated:

Docusign:

image2018-7-2_10-30-29.png

Sertifi:

image2018-7-2_10-37-21.png

Configuring an e-signature placeholder

To use this signature, you'll need to configure it properly. How to do that depends on the e-sign platform that you use in Smart Flows:

Adobe Acrobat Sign

When you generate a document that contains an Adobe Acrobat Sign electronic signature, one of two things will happen:

  • Either you get a link that redirects you to the signing procedure. This is called sign in person, where the person that needs to sign is there with you.

  • Either an e-mail is sent to the party that needs to sign the document. This is called sign by e-mail.

You can insert multiple signatures in the same document and all signers will sign with the same method (e-mail or in person).

Settings in Template Builder

Signer

The Signer part shows who is the signer of the signature. You need to check the option 'Insert AdobeSign Element' to be able to configure the signer.

image2020-8-26_13-44-13.png
  • The Signer E-mail field should contain the e-mail address of the signer.

  • The First Name field should contain the first name of the signer.

  • The Last Name field should contain the last name of the signer.

The Routing order field should contain a number that indicates in which order the signer will sign the document. 

The following scenario may happen:

  • You have multiple signatures with routing order X

  • You have at least one signature with a routing order greater than X

In this scenario, the document will first be sent to all the recipients whose signatures have the routing order X. After EVERYONE signs/declines the document, only then will the recipient from the other signature get the document to sign.

Formatting

There are 8 types of signature blocks.

  1. Signature A signature placeholder will be inserted at the location of the mapping. The signer will need to sign using one of the four methods (Type, Draw, Image or Mobile) and enter its name.

    image2020-8-26_13-59-1.png
  2. Signature date The signature date will be automatically inserted at the location of the mapping.

    image2020-8-26_13-59-58.png
  3. Signature block A signature block will be inserted at the location of the mapping. A signature block includes the labels "Signature:" and "E-mail:".

    image2020-8-26_14-1-14.png
  4. Signer initials An initials signature placeholder will be inserted at the location of the mapping.

    image2020-8-26_14-2-53.png
  5. Signer name The name of the signer will be inserted at the location of the mapping. That value comes from the Signature placeholder.

  6. Signer title A placeholder will be inserted at the location of the mapping allowing the signer to enter its title.

  7. Signer e-mail The e-mail of the signer will be inserted at the location of the mapping.

  8. Signer first name The first name of the signer will be inserted at the location of the mapping. That value comes from the Signature placeholder.

  9. Signer last name The last name of the signer will be inserted at the location of the mapping. That value comes from the Signature placeholder.

  10. Signer company A placeholder will be inserted at the location of the mapping allowing the signer to enter its company name.

  11. Digital signature Use to replicate the Signature at that location. During the signing ceremony, a single click will duplicate the signature at the location of the mapping.

  12. Stamp Allow the signer to 'approve' the document by upload a "stamp" image.

Settings in Smart Flows

To send a document to Adobe Acrobat Sign from a Smart Flow, simply add the block Send to Adobe Acrobat Sign.

image2020-8-26_14-16-54.png

For all the information regarding the parameters available on that flow step, go to Send to Adobe Acrobat Sign.

Onespan Sign

When you generate a document that contains a OneSpan Sign electronic signature, one of two things will happen:

  • Either you get a link that redirects you to the signing procedure. This is called sign in person, where the person that needs to sign is there with you.

  • Either an e-mail is sent to the party that needs to sign the document. This is called sign by e-mail.

You can insert multiple signatures in the same document, but you cannot mix sign in person with sign by e-mail signatures.

Settings in Template Builder

Signer

The Signer part shows who is the signer of the signature. You need to check the option 'Insert OneSpan Element' to be able to configure the signer.

image2021-1-27_8-48-27.png
  • The Signer E-mail field should contain the e-mail address of the signer.

  • The First Name field should contain the first name of the signer.

  • The Last Name field should contain the last name of the signer.

  • The Title field should contain the Title of the signer

  • The Company field should contain the company of the signer

The Routing order field should contain a number that indicates in which order the signer will sign the document. 

The following scenario may happen:

  • You have multiple signatures with routing order X

  • You have at least one signature with a routing order greater than X

In this scenario, the document will first be sent to all the recipients whose signatures have the routing order X. After EVERYONE signs/declines the document, only then will the recipient from the other signature get the document to sign.

Formatting

There are 8 field types for a signature blocks.

  • Full name: During the signing ceremony, the signer simply clicks the block and its full name is then stamped on the block.

  • Initials: During the signing ceremony, the signer simply clicks the block and its initials are then stamped on the block.

  • Capture: During the signing ceremony, the signer simply clicks the block and draws its signature.

  • Mobile Capture: A recipient writes its signature in a mobile browser using their fingertip or a stylus. Must be configured at the account level.

  • Signature Date: The signature date is automatically inserted at the block's location after the signer completed the signature ceremony.

  • Signer name: The signer name is automatically inserted at the block's location after the signer completed the signature ceremony.

  • Signer title: The signer title is automatically inserted at the block's location after the signer completed the signature ceremony.

  • Signer company: The signer company is automatically inserted at the block's location after the signer completed the signature ceremony.

A signature looks like this:

image2019-4-16_13-52-23.png

And this is what an initial looks like:

image2019-4-16_13-55-4.png

Settings in Smart Flows

To send a document to OneSpan Sign from a Smart Flow, simply add the block Send to OneSpan.

image2019-4-16_14-8-44.png

The Send to OneSpan is then part of the Smart Flow and can be configured by selecting it.

image2019-4-18_9-10-43.png

Flow Output

This section contains all the output elements of the Send to OneSpan block. Some of them could then be used as input element in subsequent steps of the flow.

  • Transaction Name - Name of the transaction. If not specified in the Transaction Setting, defaulted to the name of the template with a timestamp

  • Transaction ID - ID of the transaction. If not specified, auto-generated identifier

  • Transaction Status - Status of the transaction.

  • Signed Document - The generated document containing the signature

  • Document Name - The name of the document

  • Sign URLs - The URLs for the signer(s) to sign the document. (Only when Sign in person is checked)

Basic Settings

  • Document - Document to be signed.

  • Connector - Connector of type OneSpan (must be previously configured from the Control Panel → Connectors)

  • Document Name - Name of the document. If not specified, defaulted to the name of the template with a timestamp. The document name is used in communications to the signer and sender.

  • Continue flow only when all signers have taken action - If checked, the flow will wait until all signers take action (sign, opt-out or decline) before resuming.

  • Sign in person- If checked, sign url available for the signer in the flow results.

E-mail settings

By default, a OneSpan Sign account is configured to send an e-mail to a signer with a link allowing that signer to sign the document. When sending a document for signature using a Smart Flow, you have the option the provide content for a section of that e-mail.

  • E-mail body - You select if the content is provided by a Rich text control, a document or from the execution of a template.

  • E-mail message - Rich text control (available only when selected e-mail body is Rich text) allowing the user to enter some free text. Outputs from previous steps can be used as well.

  • E-mail document - Document selection (available only when selected e-mail body is Document)

  • E-mail template - Template selection (available only when selected e-mail body is Template)

Transaction settings

 In this section, you can provide information to be linked to that specific electronic signature transaction (for tracking purposes) and configure some additional transactions parameters.

  • Transaction name - The name of the transaction. 

  • Transaction description - The description of the transaction

  • Expiry date - Use to specify a date after which the transaction can no longer be signed

  • Transaction timezone - Timezone in which the signer is located. Used to calculated expiration date and provided significant reminders (if configured)

  • Transaction language - Used to set the language of e-mail(s) sent to signer(s), and also the language of signing ceremony user interface on the OneSpan Sign platform.

Reminder settings

By checking the option, you can configure reminders for the signer(s).

Days until the first reminder Number of days, from the date the transaction was created, until the first reminder is sent.

Repeat the reminder When checked, the reminder is repeated, using the configured number of days, until the expiration of the transaction (or if the signer actually sign the document).

Sertifi

Concept

When you generate a document that contains a Sertifi electronic signature, one of two things will happen:

  • Either you get a link that redirects you to the signing procedure. This is called direct link.

  • Either an e-mail is sent to the party that needs to sign the document. This is called sign by e-mail.

You can insert multiple signatures in the same document, but you cannot mix direct link with sign by e-mail signatures.

Settings

Type

There are 2 types of signatures.

  • Full name, where the signer uses his/her full name to sign.

  • Initials, where the signer uses his/her initials to sign.

There are a further 6 Sertifi elements you can include.

  • Small text box, where the signer can include some text.

  • Large signature box, where the signer has more room for signing.

  • Custom text box - Date, where the date of signing will be included.

  • Custom text box - Time, where the time of signing will be included.

  • Custom - Large text box, where the signer can include some more text.

  • Custom text box - Company, where the signer can include his company name.

  • Custom text box - Title, where the signer can include his title.

Signer settings

You can adjust a few settings regarding the signer:

ss555.png
  • Signer e-mail: manually type and e-mail address or choose a field that contains an e-mail address. This address will be used by Sertifi to send invitations and confirmations to.

  • Sign order: you can choose who gets to sign the document First, and who can sign it Second (after the First signers have all signed it). Furthermore, you can also choose to deliver this document to someone without asking them to sign for it.

  • Invitation type: either Send an e-mail or Use direct link, where Smart Flows will provide the link in the document feedback.

  • E-mail message: manually type a message or include a field of which the value will be included in the e-mail.

Formatting settings

There are a few formatting settings you can adjust:

ss556.png
  • Alignment: onto which corner the element will be anchored.

  • Field type: this is where you select the type of Sertifi element you wish to include.

Others

The Other tab is used for various purposes.

Removing blank paragraphs

Check the box Remove the paragraph this mapping is in when the value is not specified or blank if you want to prevent blank lines from appearing in this mapping.

ss0369.png

For instance, this is very useful when dealing with addresses. Typically, addresses are input in address lines, but not every line is always used:

ss0370.png

Turning on this setting fixes this:

ss0371.png

Check the box Create a hyperlink to render your mapping as a clickable hyperlink. The mapping will still contain whatever is in it, but you can define a URL that it links to when you select it.

image2018-7-2_14-9-20.png

Insert the URL you want in the Hyperlink Target text box, or select the button in the text box to insert a field's value for the hyperlink target. You can also use an expression.

You can change what is shown when hovering over the link in the Screentip text box. You can insert a field's value by clicking the button in the text box, or again, use an expression.

If you want to create an e-mail hyperlink, follow these steps:

  1. Create a pseudo-field of type Text.

  2. Give it the value concat('mailto://',${field with link}), where ${field with link} is the field that contains the link.

  3. Then, use this created field as the Hyperlink Target by selecting it from the data set after clicking the button inside the Hyperlink Target text box.

By adding the mailto://, the field is specified to be an e-mail link.

Converting case

Check the box Apply advanced case-convert rules to change the casing of certain letters in a text.

ss0377.png

The following options are available:

  • Don't change: the text stays as it is.

  • Sentence case: everything is converted to lowercase, except the first letter and every letter following a dot.

  • lowercase: everything is converted to lowercase.

  • UPPERCASE: everything is converted to uppercase.

  • Capitalize Each Word: everything is converted to lowercase except the first letter of each word.

  • TOGGLE CASE: invert the case of each character.

Formatting Numbers & Dates

In the Format tab of a mapping's formatting settings, there are quite a few numbers & dates options - this page explains those options in detail.

Format as number

In the Format tab, you can select Number:

image2018-6-27_12-10-50.png

Here, you can set the number of decimal places and whether to use a 1000 separator. You can also set the Format Locale, which is explained below.

Select Percentage instead of Number to format your field as a percentage:

image2018-6-27_12-11-6.png

You can also select Custom Number, which allows you to customize the number formatting:

If you want to make your own custom pattern, please read the information on this page.

image2018-6-27_12-11-28.png

For custom date formatting, 'u' is used for year in the custom date pattern, instead of y. The lowercase y is a calendar year pattern, and the uppercase Y is a week year pattern.

Format as currency

In the Format tab, you can select Currency:

image2018-6-27_12-6-24.png

Here, you can set the number of decimal places and whether to use a 1000 separator. You can choose the symbol to use, and whether to show it before or after the number. You can also set the Format Locale, which is explained below.

You can also select Custom Number, which contains options for formatting as a custom currency as well:

image2018-6-27_12-12-3.png

Format as date/time

In the Format tab, you can select Date:

image2018-6-27_12-12-22.png

Here, you can choose how you want your date to be formatted. You can also set the Format Locale, which is explained below.

You can also select Time, which you can use for formatting times:

image2018-6-27_12-14-42.png

Select DateTime if you want to include the time as well as the date:

image2018-6-27_12-14-55.png

Finally, you can select Custom Date, which allows you to customize the formatting:

image2018-6-27_12-15-20.png

If you want to make your own custom pattern, please read the information on this page.

Locale

A locale is a set of parameters that defines the user's language, country and any special variant preferences. Smart Flows uses these parameters to interpret or output data in a certain way.

Document locale

The document locale determines how input data is converted to usable numbers/dates/times. Setting your document locale correctly is very important, as this effectively tells the add-in how it should treat (for instance) a comma or a dot. Some languages use a comma as a 1000 separator and a dot as a decimal separator, while other languages do it the other way around.

Setting the document locale can be done in the Smart Flows options, data formatting tab. You can access the options by clicking Options in the Smart Flows ribbon:

image2018-6-27_12-20-35.png
image2018-6-27_12-21-3.png

Format locale

The format locale determines the formatting of your output. For instance, when you choose to format your field as a Number, the locale then decides which symbols will be used for the 1000 separator and decimal separator.

Difference between document locale and format locale

Simply put, the document locale determines how your input data is interpreted, while the format locale determines the formatting of your output. In other words, input data is converted to a usable number/date, after which you decide how it looks in the final document.

Supported locales

This page shows which locales are supported by Smart Flows.

Examples

We'll use the following example to explain the difference between the document locale and formate locale:

  • This is our input data: 10,000.25

  • In the mapping settings' Format tab, we choose to use a 1000 separator and 2 decimal places

Then, we use the following document locale and formate locale:

  • Document locale: el_GR (Greek, Greece)

    • 1000 separator: . (dot)

    • Decimal separator: , (comma)

  • Format locale: en_GB (English, United Kingdom)

    • 1000 separator: , (comma)

    • Decimal separator: . (dot)

The document locale is wrongly set to Greek - it's wrong because the input data uses a comma for the 1000 separator and a dot for the decimal separator, whereas the Greek locale is the other way around. Now that the input data is processed incorrectly, the format locale doesn't matter - it won't ever be shown correctly.

To show you how important the correct locale is, here is the result of processing the input data as Greek and outputting it as English: 100,002,500.00. This is completely wrong!

Here's an example, using the same input data but a different document locale:

  • Document locale: en_GB  (English, United Kingdom)

    • 1000 separator: , (comma)

    • Decimal separator: . (dot)

  • Format locale: en_GB (English, United Kingdom)

    • 1000 separator: , (comma)

    • Decimal separator: . (dot)

This document locale is correct, as our input data uses the same 1000 and decimal separator as the document locale. Here's the result of this locale setup: 10,000.25. That's how we wanted it!

Now that the document locale is correct, we can use a different format locale to format the output according to the user's preference. For instance, we're setting up a template for use in Dutch-speaking Belgium, so we use the following locale:

  • Format locale: nl_BE (Dutch, Belgium)

    • 1000 separator: . (dot)

    • Decimal separator: , (comma)

Here's the result of the output: 10.000,25. Notice how this differs from the input data (10,000.25) only in the 1000 and decimal separators.

What you can do

Now that you know how the document locale and format locale work, you should try and match the document locale to the input data. This ensures that Smart Flows uses the correct values. Once you have that set up properly, you can decide how you want to output your numbers/dates. Using a different format locale is most useful when working with multiple countries that use different 1000 and/or decimal separators.

List of Supported Locales

ab|Abkhazian

aa|Afar

af|Afrikaans

af_NA|Afrikaans (Namibia)

af_ZA|Afrikaans (South Africa)

agq|Aghem

agq_CM|Aghem (Cameroon)

ak|Akan

ak_GH|Akan (Ghana)

sq|Albanian

sq_AL|Albanian (Albania)

sq_XK|Albanian (Kosovo)

sq_MK|Albanian (Macedonia)

am|Amharic

am_ET|Amharic (Ethiopia)

ar|Arabic

ar_DZ|Arabic (Algeria)

ar_BH|Arabic (Bahrain)

ar_TD|Arabic (Chad)

ar_KM|Arabic (Comoros)

ar_DJ|Arabic (Djibouti)

ar_EG|Arabic (Egypt)

ar_ER|Arabic (Eritrea)

ar_IQ|Arabic (Iraq)

ar_IL|Arabic (Israel)

ar_JO|Arabic (Jordan)

ar_KW|Arabic (Kuwait)

ar_LB|Arabic (Lebanon)

ar_LY|Arabic (Libya)

ar_MR|Arabic (Mauritania)

ar_MA|Arabic (Morocco)

ar_OM|Arabic (Oman)

ar_PS|Arabic (Palestinian Territories)

ar_QA|Arabic (Qatar)

ar_SA|Arabic (Saudi Arabia)

ar_SO|Arabic (Somalia)

ar_SS|Arabic (South Sudan)

ar_SD|Arabic (Sudan)

ar_SY|Arabic (Syria)

ar_TN|Arabic (Tunisia)

ar_AE|Arabic (United Arab Emirates)

ar_EH|Arabic (Western Sahara)

ar_001|Arabic (World)

ar_YE|Arabic (Yemen)

an|Aragonese

hy|Armenian

hy_AM|Armenian (Armenia)

as|Assamese

as_IN|Assamese (India)

asa|Asu

asa_TZ|Asu (Tanzania)

av|Avaric

ae|Avestan

ay|Aymara

az|Azerbaijani

az_AZ|Azerbaijani (Azerbaijan)

az__#Cyrl|Azerbaijani (Cyrillic)

az_AZ_#Cyrl|Azerbaijani (Cyrillic Azerbaijan)

az__#Latn|Azerbaijani (Latin)

az_AZ_#Latn|Azerbaijani (Latin Azerbayan)

ksf|Bafia

ksf_CM|Bafia (Cameroon)

bm|Bambara

bm__#Latn|Bambara (Latin)

bm_ML_#Latn|Bambara (Latin Mali)

bm_ML|Bambara (Mali)

bas|Basaa

bas_CM|Basaa (Cameroon)

ba|Bashkir

eu|Basque

eu_ES|Basque (Spain)

be|Belarusian

be_BY|Belarusian (Belarus)

bem|Bemba

bem_ZM|Bemba (Zambia)

bez|Bena

bez_TZ|Bena (Tanzania)

bn|Bengali

bn_BD|Bengali (Bangladesh)

bn_IN|Bengali (India)

bh|Bihari

bi|Bislama

brx|Bodo

brx_IN|Bodo (India)

bs|Bosnian

bs_BA|Bosnian (Bosnia & Herzegovina)

bs__#Cyrl|Bosnian (Cyrillic)

bs_BA_#Cyrl|Bosnian (Cyrillic Bosnia & Herzegovina)

bs__#Latn|Bosnian (Latin)

bs_BA_#Latn|Bosnian (Latin Bosnia & Herzegovina)

br|Breton

br_FR|Breton (France)

bg|Bulgarian

bg_BG|Bulgarian (Bulgaria)

my|Burmese

my_MM|Burmese (Myanmar (Burma))

ca|Catalan

ca_AD|Catalan (Andorra)

ca_FR|Catalan (France)

ca_IT|Catalan (Italy)

ca_ES|Catalan (Spain)

tzm|Central Atlas Tamazight

tzm__#Latn|Central Atlas Tamazight (Latin)

tzm_MA_#Latn|Central Atlas Tamazight (Latin Morocco)

tzm_MA|Central Atlas Tamazight (Morocco)

ch|Chamorro

ce|Chechen

chr|Cherokee

chr_US|Cherokee (United States)

cgg|Chiga

cgg_UG|Chiga (Uganda)

zh|Chinese

zh_CN|Chinese (China)

zh_HK|Chinese (Hong Kong SAR China)

zh_MO|Chinese (Macau SAR China)

zh__#Hans|Chinese (Simplified Han)

zh_CN_#Hans|Chinese (Simplified Han China)

zh_HK_#Hans|Chinese (Simplified Han Hog Kong SAR China)

zh_MO_#Hans|Chinese (Simplified Han Macau SAR China)

zh_SG_#Hans|Chinese (Simplified Han Singapore)

zh_SG|Chinese (Singapore)

zh_TW|Chinese (Taiwan)

zh__#Hant|Chinese (Traditional Han)

zh_HK_#Hant|Chinese (Traditional Han Hong Kong SAR China)

zh_MO_#Hant|Chinese (Traditional Han Macau SAR China)

zh_TW_#Hant|Chinese (Traditional Han Taiwan)

cu|Church Slavic

cv|Chuvash

ksh|Colognian

ksh_DE|Colognian (Germany)

kw|Cornish

kw_GB|Cornish (United Kingdom)

co|Corsican

cr|Cree

hr|Croatian

hr_BA|Croatian (Bosnia & Herzegovina)

hr_HR|Croatian (Croatia)

cs|Czech

cs_CZ|Czech (Czech Republic)

da|Danish

da_DK|Danish (Denmark)

da_GL|Danish (Greenland)

dv|Divehi

dua|Duala

dua_CM|Duala (Cameroon)

nl|Dutch

nl_AW|Dutch (Aruba)

nl_BE|Dutch (Belgium)

nl_BQ|Dutch (Caribbean Netherlands)

nl_CW|Dutch (Curaçao)

nl_NL|Dutch (Netherlands)

nl_SX|Dutch (Sint Maarten)

nl_SR|Dutch (Suriname)

dz|Dzongkha

dz_BT|Dzongkha (Bhutan)

ebu|Embu

ebu_KE|Embu (Kenya)

en|English

en_AS|English (American Samoa)

en_AI|English (Anguilla)

en_AG|English (Antigua & Barbuda)

en_AU|English (Australia)

en_BS|English (Bahamas)

en_BB|English (Barbados)

en_BE|English (Belgium)

en_BZ|English (Belize)

en_BM|English (Bermuda)

en_BW|English (Botswana)

en_IO|English (British Indian Ocean Territory)

en_VG|English (British Virgin Islands)

en_CM|English (Cameroon)

en_CA|English (Canada)

en_KY|English (Cayman Islands)

en_CX|English (Christmas Island)

en_CC|English (Cocos (Keeling) Islands)

en_CK|English (Cook Islands)

en_DG|English (Diego Garcia)

en_DM|English (Dominica)

en_ER|English (Eritrea)

en_150|English (Europe)

en_FK|English (Falkland Islands)

en_FJ|English (Fiji)

en_GM|English (Gambia)

en_GH|English (Ghana)

en_GI|English (Gibraltar)

en_GD|English (Grenada)

en_GU|English (Guam)

en_GG|English (Guernsey)

en_GY|English (Guyana)

en_HK|English (Hong Kong SAR China)

en_IN|English (India)

en_IE|English (Ireland)

en_IM|English (Isle of Man)

en_JM|English (Jamaica)

en_JE|English (Jersey)

en_KE|English (Kenya)

en_KI|English (Kiribati)

en_LS|English (Lesotho)

en_LR|English (Liberia)

en_MO|English (Macau SAR China)

en_MG|English (Madagascar)

en_MW|English (Malawi)

en_MY|English (Malaysia)

en_MT|English (Malta)

en_MH|English (Marshall Islands)

en_MU|English (Mauritius)

en_FM|English (Micronesia)

en_MS|English (Montserrat)

en_NA|English (Namibia)

en_NR|English (Nauru)

en_NZ|English (New Zealand)

en_NG|English (Nigeria)

en_NU|English (Niue)

en_NF|English (Norfolk Island)

en_MP|English (Northern Mariana Islands)

en_PK|English (Pakistan)

en_PW|English (Palau)

en_PG|English (Papua New Guinea)

en_PH|English (Philippines)

en_PN|English (Pitcairn Islands)

en_PR|English (Puerto Rico)

en_RW|English (Rwanda)

en_WS|English (Samoa)

en_SC|English (Seychelles)

en_SL|English (Sierra Leone)

en_SG|English (Singapore)

en_SX|English (Sint Maarten)

en_SB|English (Solomon Islands)

en_ZA|English (South Africa)

en_SS|English (South Sudan)

en_SH|English (St. Helena)

en_KN|English (St. Kitts & Nevis)

en_LC|English (St. Lucia)

en_VC|English (St. Vincent & Grenadines)

en_SD|English (Sudan)

en_SZ|English (Swaziland)

en_TZ|English (Tanzania)

en_TK|English (Tokelau)

en_TO|English (Tonga)

en_TT|English (Trinidad & Tobago)

en_TC|English (Turks & Caicos Islands)

en_TV|English (Tuvalu)

en_UM|English (U.S. Outlying Islands)

en_VI|English (U.S. Virgin Islands)

en_UG|English (Uganda)

en_GB|English (United Kingdom)

en_US|English (United States)

en_US_POSIX|English (United States Computer)

en_US_POSIX_ICU4J|English (United States Computer ICU4J)

en_VU|English (Vanuatu)

en_001|English (World)

en_ZM|English (Zambia)

en_ZW|English (Zimbabwe)

eo|Esperanto

et|Estonian

et_EE|Estonian (Estonia)

ee|Ewe

ee_GH|Ewe (Ghana)

ee_TG|Ewe (Togo)

ewo|Ewondo

ewo_CM|Ewondo (Cameroon)

fo|Faroese

fo_FO|Faroese (Faroe Islands)

fj|Fijian

fil|Filipino

fil_PH|Filipino (Philippines)

fi|Finnish

fi_FI|Finnish (Finland)

fr|French

fr_DZ|French (Algeria)

fr_BE|French (Belgium)

fr_BJ|French (Benin)

fr_BF|French (Burkina Faso)

fr_BI|French (Burundi)

fr_CM|French (Cameroon)

fr_CA|French (Canada)

fr_CF|French (Central African Republic)

fr_TD|French (Chad)

fr_KM|French (Comoros)

fr_CG|French (Congo - Brazzaville)

fr_CD|French (Congo - Kinshasa)

fr_CI|French (Côte d’Ivoire)

fr_DJ|French (Djibouti)

fr_GQ|French (Equatorial Guinea)

fr_FR|French (France)

fr_GF|French (French Guiana)

fr_PF|French (French Polynesia)

fr_GA|French (Gabon)

fr_GP|French (Guadeloupe)

fr_GN|French (Guinea)

fr_HT|French (Haiti)

fr_LU|French (Luxembourg)

fr_MG|French (Madagascar)

fr_ML|French (Mali)

fr_MQ|French (Martinique)

fr_MR|French (Mauritania)

fr_MU|French (Mauritius)

fr_YT|French (Mayotte)

fr_MC|French (Monaco)

fr_MA|French (Morocco)

fr_NC|French (New Caledonia)

fr_NE|French (Niger)

fr_RW|French (Rwanda)

fr_RE|French (Réunion)

fr_SN|French (Senegal)

fr_SC|French (Seychelles)

fr_BL|French (St. Barthélemy)

fr_MF|French (St. Martin)

fr_PM|French (St. Pierre & Miquelon)

fr_CH|French (Switzerland)

fr_SY|French (Syria)

fr_TG|French (Togo)

fr_TN|French (Tunisia)

fr_VU|French (Vanuatu)

fr_WF|French (Wallis & Futuna)

fur|Friulian

fur_IT|Friulian (Italy)

ff|Fulah

ff_CM|Fulah (Cameroon)

ff_GN|Fulah (Guinea)

ff_MR|Fulah (Mauritania)

ff_SN|Fulah (Senegal)

gl|Galician

gl_ES|Galician (Spain)

lg|Ganda

lg_UG|Ganda (Uganda)

ka|Georgian

ka_GE|Georgian (Georgia)

de|German

de_AT|German (Austria)

de_BE|German (Belgium)

de_DE|German (Germany)

de_GR|German (Greece)

de_LI|German (Liechtenstein)

de_LU|German (Luxembourg)

de_CH|German (Switzerland)

el|Greek

el_CY|Greek (Cyprus)

el_GR|Greek (Greece)

gn|Guarani

gu|Gujarati

gu_IN|Gujarati (India)

guz|Gusii

guz_KE|Gusii (Kenya)

ht|Haitian

ha|Hausa

ha_GH|Hausa (Ghana)

ha__#Latn|Hausa (Latin)

ha_GH_#Latn|Hausa (Latin Ghana)

ha_NE_#Latn|Hausa (Latin Niger)

ha_NG_#Latn|Hausa (Latin Nigeria)

ha_NE|Hausa (Niger)

ha_NG|Hausa (Nigeria)

haw|Hawaiian

haw_US|Hawaiian (United States)

iw|Hebrew

iw_IL|Hebrew (Israel)

hz|Herero

hi|Hindi

hi_IN|Hindi (India)

ho|Hiri Motu

hu|Hungarian

hu_HU|Hungarian (Hungary)

is|Icelandic

is_IS|Icelandic (Iceland)

io|Ido

ig|Igbo

ig_NG|Igbo (Nigeria)

smn|Inari Sami

smn_FI|Inari Sami (Finland)

in|Indonesian

in_ID|Indonesian (Indonesia)

ia|Interlingua

ie|Interlingue

iu|Inuktitut

ik|Inupiaq

ga|Irish

ga_IE|Irish (Ireland)

it|Italian

it_IT|Italian (Italy)

it_SM|Italian (San Marino)

it_CH|Italian (Switzerland)

ja|Japanese

ja_JP|Japanese (Japan)

ja_JP_JP_#u-ca-japanese|Japanese (Japan JP)

ja_JP_JP_ICU4J|Japanese (Japan JP ICU4J)

jv|Javanese

dyo|Jola-Fonyi

dyo_SN|Jola-Fonyi (Senegal)

kea|Kabuverdianu

kea_CV|Kabuverdianu (Cape Verde)

kab|Kabyle

kab_DZ|Kabyle (Algeria)

kkj|Kako

kkj_CM|Kako (Cameroon)

kl|Kalaallisut

kl_GL|Kalaallisut (Greenland)

kln|Kalenjin

kln_KE|Kalenjin (Kenya)

kam|Kamba

kam_KE|Kamba (Kenya)

kn|Kannada

kn_IN|Kannada (India)

kr|Kanuri

ks|Kashmiri

ks__#Arab|Kashmiri (Arabic)

ks_IN_#Arab|Kashmiri (Arabic India)

ks_IN|Kashmiri (India)

kk|Kazakh

kk__#Cyrl|Kazakh (Cyrillic)

kk_KZ_#Cyrl|Kazakh (Cyrillic Kazakhstan)

kk_KZ|Kazakh (Kazakhstan)

km|Khmer

km_KH|Khmer (Cambodia)

ki|Kikuyu

ki_KE|Kikuyu (Kenya)

rw|Kinyarwanda

rw_RW|Kinyarwanda (Rwanda)

kv|Komi

kg|Kongo

kok|Konkani

kok_IN|Konkani (India)

ko|Korean

ko_KP|Korean (North Korea)

ko_KR|Korean (South Korea)

khq|Koyra Chiini

khq_ML|Koyra Chiini (Mali)

ses|Koyraboro Senni

ses_ML|Koyraboro Senni (Mali)

kj|Kuanyama

ku|Kurdish

nmg|Kwasio

nmg_CM|Kwasio (Cameroon)

ky|Kyrgyz

ky__#Cyrl|Kyrgyz (Cyrillic)

ky_KG_#Cyrl|Kyrgyz (Cyrillic Kyrgyzstan)

ky_KG|Kyrgyz (Kyrgyzstan)

lkt|Lakota

lkt_US|Lakota (United States)

lag|Langi

lag_TZ|Langi (Tanzania)

lo|Lao

lo_LA|Lao (Laos)

la|Latin

lv|Latvian

lv_LV|Latvian (Latvia)

li|Limburgish

ln|Lingala

ln_AO|Lingala (Angola)

ln_CF|Lingala (Central African Republic)

ln_CG|Lingala (Congo - Brazzaville)

ln_CD|Lingala (Congo - Kinshasa)

lt|Lithuanian

lt_LT|Lithuanian (Lithuania)

dsb|Lower Sorbian

dsb_DE|Lower Sorbian (Germany)

lu|Luba-Katanga

lu_CD|Luba-Katanga (Congo - Kinshasa)

luo|Luo

luo_KE|Luo (Kenya)

lb|Luxembourgish

lb_LU|Luxembourgish (Luxembourg)

luy|Luyia

luy_KE|Luyia (Kenya)

mk|Macedonian

mk_MK|Macedonian (Macedonia)

jmc|Machame

jmc_TZ|Machame (Tanzania)

mgh|Makhuwa-Meetto

mgh_MZ|Makhuwa-Meetto (Mozambique)

kde|Makonde

kde_TZ|Makonde (Tanzania)

mg|Malagasy

mg_MG|Malagasy (Madagascar)

ms|Malay

ms_BN|Malay (Brunei)

ms__#Latn|Malay (Latin)

ms_BN_#Latn|Malay (Latin Brunei)

ms_MY_#Latn|Malay (Latin Malaysia)

ms_SG_#Latn|Malay (Latin Singapore)

ms_MY|Malay (Malaysia)

ms_SG|Malay (Singapore)

ml|Malayalam

ml_IN|Malayalam (India)

mt|Maltese

mt_MT|Maltese (Malta)

gv|Manx

gv_IM|Manx (Isle of Man)

mi|Maori

mr|Marathi

mr_IN|Marathi (India)

mh|Marshallese

mas|Masai

mas_KE|Masai (Kenya)

mas_TZ|Masai (Tanzania)

mer|Meru

mer_KE|Meru (Kenya)

mgo|Metaʼ

mgo_CM|Metaʼ (Cameroon)

mo|Moldavian

mn|Mongolian

mn__#Cyrl|Mongolian (Cyrillic)

mn_MN_#Cyrl|Mongolian (Cyrillic Mongolia)

mn_MN|Mongolian (Mongolia)

mfe|Morisyen

mfe_MU|Morisyen (Mauritius)

mua|Mundang

mua_CM|Mundang (Cameroon)

naq|Nama

naq_NA|Nama (Namibia)

na|Nauru

nv|Navajo

ng|Ndonga

ne|Nepali

ne_IN|Nepali (India)

ne_NP|Nepali (Nepal)

nnh|Ngiemboon

nnh_CM|Ngiemboon (Cameroon)

jgo|Ngomba

jgo_CM|Ngomba (Cameroon)

nd|North Ndebele

nd_ZW|North Ndebele (Zimbabwe)

se|Northern Sami

se_FI|Northern Sami (Finland)

se_NO|Northern Sami (Norway)

se_SE|Northern Sami (Sweden)

no|Norwegian

no_NO|Norwegian (Norway)

no_NO_NY|Norwegian (Norway Nynorsk)

no_NO_NY_ICU4J|Norwegian (Norway Nynorsk ICU4J)

nb|Norwegian Bokmål

nb_NO|Norwegian Bokmål (Norway)

nb_SJ|Norwegian Bokmål (Svalbard & Jan Mayen)

nn|Norwegian Nynorsk

nn_NO|Norwegian Nynorsk (Norway)

nus|Nuer

nus_SD|Nuer (Sudan)

ny|Nyanja

nyn|Nyankole

nyn_UG|Nyankole (Uganda)

oc|Occitan

oj|Ojibwa

or|Oriya

or_IN|Oriya (India)

om|Oromo

om_ET|Oromo (Ethiopia)

om_KE|Oromo (Kenya)

os|Ossetic

os_GE|Ossetic (Georgia)

os_RU|Ossetic (Russia)

pi|Pali

ps|Pashto

ps_AF|Pashto (Afghanistan)

fa|Persian

fa_AF|Persian (Afghanistan)

fa_IR|Persian (Iran)

pl|Polish

pl_PL|Polish (Poland)

pt|Portuguese

pt_AO|Portuguese (Angola)

pt_BR|Portuguese (Brazil)

pt_CV|Portuguese (Cape Verde)

pt_GW|Portuguese (Guinea-Bissau)

pt_MO|Portuguese (Macau SAR China)

pt_MZ|Portuguese (Mozambique)

pt_PT|Portuguese (Portugal)

pt_ST|Portuguese (São Tomé & Príncipe)

pt_TL|Portuguese (Timor-Leste)

pa|Punjabi

pa__#Arab|Punjabi (Arabic)

pa_PK_#Arab|Punjabi (Arabic Pakistan)

pa__#Guru|Punjabi (Gurmukhi)

pa_IN_#Guru|Punjabi (Gurmukhi India)

pa_IN|Punjabi (India)

pa_PK|Punjabi (Pakistan)

qu|Quechua

qu_BO|Quechua (Bolivia)

qu_EC|Quechua (Ecuador)

qu_PE|Quechua (Peru)

ro|Romanian

ro_MD|Romanian (Moldova)

ro_RO|Romanian (Romania)

rm|Romansh

rm_CH|Romansh (Switzerland)

rof|Rombo

rof_TZ|Rombo (Tanzania)

rn|Rundi

rn_BI|Rundi (Burundi)

ru|Russian

ru_BY|Russian (Belarus)

ru_KZ|Russian (Kazakhstan)

ru_KG|Russian (Kyrgyzstan)

ru_MD|Russian (Moldova)

ru_RU|Russian (Russia)

ru_UA|Russian (Ukraine)

rwk|Rwa

rwk_TZ|Rwa (Tanzania)

sah|Sakha

sah_RU|Sakha (Russia)

saq|Samburu

saq_KE|Samburu (Kenya)

sm|Samoan

sg|Sango

sg_CF|Sango (Central African Republic)

sbp|Sangu

sbp_TZ|Sangu (Tanzania)

sa|Sanskrit

sc|Sardinian

gd|Scottish Gaelic

gd_GB|Scottish Gaelic (United Kingdom)

seh|Sena

seh_MZ|Sena (Mozambique)

sr|Serbian

sr_BA|Serbian (Bosnia & Herzegovina)

sr__#Cyrl|Serbian (Cyrillic)

sr_BA_#Cyrl|Serbian (Cyrillic Bosnia & Herzegovina)

sr_XK_#Cyrl|Serbian (Cyrillic Kosovo)

sr_ME_#Cyrl|Serbian (Cyrillic Montenegro)

sr_RS_#Cyrl|Serbian (Cyrillic Serbia)

sr_XK|Serbian (Kosovo)

sr__#Latn|Serbian (Latin)

sr_BA_#Latn|Serbian (Latin Bosnia & Herzegovina)

sr_XK_#Latn|Serbian (Latin Kosovo)

sr_ME_#Latn|Serbian (Latin Montenegro)

sr_RS_#Latn|Serbian (Latin Serbia)

sr_ME|Serbian (Montenegro)

sr_CS|Serbian (Serbia)

sr_RS|Serbian (Serbia)

ksb|Shambala

ksb_TZ|Shambala (Tanzania)

sn|Shona

sn_ZW|Shona (Zimbabwe)

ii|Sichuan Yi

ii_CN|Sichuan Yi (China)

sd|Sindhi

si|Sinhala

si_LK|Sinhala (Sri Lanka)

sk|Slovak

sk_SK|Slovak (Slovakia)

sl|Slovenian

sl_SI|Slovenian (Slovenia)

xog|Soga

xog_UG|Soga (Uganda)

so|Somali

so_DJ|Somali (Djibouti)

so_ET|Somali (Ethiopia)

so_KE|Somali (Kenya)

so_SO|Somali (Somalia)

nr|South Ndebele

st|Southern Sotho

es|Spanish

es_AR|Spanish (Argentina)

es_BO|Spanish (Bolivia)

es_IC|Spanish (Canary Islands)

es_EA|Spanish (Ceuta & Melilla)

es_CL|Spanish (Chile)

es_CO|Spanish (Colombia)

es_CR|Spanish (Costa Rica)

es_CU|Spanish (Cuba)

es_DO|Spanish (Dominican Republic)

es_EC|Spanish (Ecuador)

es_SV|Spanish (El Salvador)

es_GQ|Spanish (Equatorial Guinea)

es_GT|Spanish (Guatemala)

es_HN|Spanish (Honduras)

es_419|Spanish (Latin America)

es_MX|Spanish (Mexico)

es_NI|Spanish (Nicaragua)

es_PA|Spanish (Panama)

es_PY|Spanish (Paraguay)

es_PE|Spanish (Peru)

es_PH|Spanish (Philippines)

es_PR|Spanish (Puerto Rico)

es_ES|Spanish (Spain)

es_US|Spanish (United States)

es_UY|Spanish (Uruguay)

es_VE|Spanish (Venezuela)

zgh|Standard Moroccan Tamazight

zgh_MA|Standard Moroccan Tamazight (Morocco)

su|Sundanese

sw|Swahili

sw_CD|Swahili (Congo - Kinshasa)

sw_KE|Swahili (Kenya)

sw_TZ|Swahili (Tanzania)

sw_UG|Swahili (Uganda)

ss|Swati

sv|Swedish

sv_FI|Swedish (Finland)

sv_SE|Swedish (Sweden)

sv_AX|Swedish (Ã…land Islands)

gsw|Swiss German

gsw_FR|Swiss German (France)

gsw_LI|Swiss German (Liechtenstein)

gsw_CH|Swiss German (Switzerland)

shi|Tachelhit

shi__#Latn|Tachelhit (Latin)

shi_MA_#Latn|Tachelhit (Latin Morocco)

shi_MA|Tachelhit (Morocco)

shi__#Tfng|Tachelhit (Tifinagh)

shi_MA_#Tfng|Tachelhit (Tifinagh Morocco)

tl|Tagalog

ty|Tahitian

dav|Taita

dav_KE|Taita (Kenya)

tg|Tajik

ta|Tamil

ta_IN|Tamil (India)

ta_MY|Tamil (Malaysia)

ta_SG|Tamil (Singapore)

ta_LK|Tamil (Sri Lanka)

twq|Tasawaq

twq_NE|Tasawaq (Niger)

tt|Tatar

te|Telugu

te_IN|Telugu (India)

teo|Teso

teo_KE|Teso (Kenya)

teo_UG|Teso (Uganda)

th|Thai

th_TH|Thai (Thailand)

th_TH_TH_#u-nu-thai|Thai (Thailand TH)

th_TH_TH_ICU4J|Thai (Thailand TH ICU4J)

bo|Tibetan

bo_CN|Tibetan (China)

bo_IN|Tibetan (India)

ti|Tigrinya

ti_ER|Tigrinya (Eritrea)

ti_ET|Tigrinya (Ethiopia)

to|Tongan

to_TO|Tongan (Tonga)

ts|Tsonga

tn|Tswana

tr|Turkish

tr_CY|Turkish (Cyprus)

tr_TR|Turkish (Turkey)

tk|Turkmen

tw|Twi

uk|Ukrainian

uk_UA|Ukrainian (Ukraine)

hsb|Upper Sorbian

hsb_DE|Upper Sorbian (Germany)

ur|Urdu

ur_IN|Urdu (India)

ur_PK|Urdu (Pakistan)

ug|Uyghur

ug__#Arab|Uyghur (Arabic)

ug_CN_#Arab|Uyghur (Arabic China)

ug_CN|Uyghur (China)

uz|Uzbek

uz_AF|Uzbek (Afghanistan)

uz__#Arab|Uzbek (Arabic)

uz_AF_#Arab|Uzbek (Arabic Afghanistan)

uz__#Cyrl|Uzbek (Cyrillic)

uz_UZ_#Cyrl|Uzbek (Cyrillic Uzbekistan)

uz__#Latn|Uzbek (Latin)

uz_UZ_#Latn|Uzbek (Latin Uzbekistan)

uz_UZ|Uzbek (Uzbekistan)

vai|Vai

vai__#Latn|Vai (Latin)

vai_LR_#Latn|Vai (Latin Liberia)

vai_LR|Vai (Liberia)

vai__#Vaii|Vai (Vai)

vai_LR_#Vaii|Vai (Vai Liberia)

ve|Venda

vi|Vietnamese

vi_VN|Vietnamese (Vietnam)

vo|Volapük

vun|Vunjo

vun_TZ|Vunjo (Tanzania)

wa|Walloon

wae|Walser

wae_CH|Walser (Switzerland)

cy|Welsh

cy_GB|Welsh (United Kingdom)

fy|Western Frisian

fy_NL|Western Frisian (Netherlands)

wo|Wolof

xh|Xhosa

yav|Yangben

yav_CM|Yangben (Cameroon)

ji|Yiddish

ji_001|Yiddish (World)

yo|Yoruba

yo_BJ|Yoruba (Benin)

yo_NG|Yoruba (Nigeria)

dje|Zarma

dje_NE|Zarma (Niger)

za|Zhuang

zu|Zulu

zu_ZA|Zulu (South Africa)

Number patterns

This page explains how to define a pattern to output a certain number in a certain way. You specify the pattern according to the rules and elements specified below.

You can specify custom number patterns in the formatNumber functions, or in the custom number option as described on this page:

ss356.png

Elements of a pattern

A pattern consists of numerical elements and, optionally, static elements. Numerical elements represent a digit, a currency sign, a percentage, a decimal separator etc. Static elements are parts you can include yourself, such as words.

Location of elements

Some elements can only be used in a specific location inside the pattern. Here are the locations:

  • Prefix - everything that comes before the number

  • Number - the number itself

  • Suffix - everything that comes after the number

For instance, in '€12' the euro sign is the prefix. In '12 dollars', dollars is the suffix.

Numerical elements

 symbol

meaning

location

extra info

0

forced digit

number

Forced means that even if it's zero, it will appear.

#

unforced digit

number

Unforced means that this digit will not be shown if it's zero and is at the beginning or the end of a number.

.

decimal separator

number

 

,

grouping separator

number

Also known as 1000 separator.

E

mantissa & exponent separator in scientific notation

number

 

;

subpattern separator

in between 2 subpatterns (see Subpatterns)

 

%

percentage

prefix or suffix

Including this will multiply the number by 100.

‰ (\u2030)

per mille

prefix or suffix

Including this will multiple the number by 1000.

¤ (\u00A4)

currency symbol

prefix or suffix

The used symbol depends on the locale as set on the Smart Flows server. If you use formatNumberR, you can specify the locale to use.

Static elements

You can use both symbols and letters as static elements. You can use the following symbols by putting them directly in the pattern:

/ * - + & ! ( ) { } [ ] , . ; : < > _ - # @

If you want to use a ' (apostrophe), you need to put 2 of them, like this:

''

If you want to use letters, you need to put them in between apostrophes, like this:

'a'  'dollars'  'a fistful of dollars'

Defining a pattern

In the mapping window

When you have a number in a field, or as the output of an expression, you can use the custom number option in the Format tab of the mapping window to specify a pattern:

image2018-6-27_12-25-12.png

In an expression

Defining a pattern in an expression is necessary for the formatNumber and formatNumberR functions:

formatNumber(512.4568,'##.##')formatNumber(512.4568,'000,000.000')

As always with expressions, you need to put strings (such as a number pattern) in between ' ' (apostrophes). This, however, makes it a bit harder to use letters in your patterns, as you can't simply use apostrophes, since those are used to delineate the beginning and ending of the pattern in an expression.

To remedy this, you can escape your apostrophes by putting a \ (backslash) in front of them. So, instead of...

## 'dollars' 

...you type this:

## \'dollars\' 

It may look a bit strange, but it will definitely get the job done. Here's an example of the above pattern: Notice the apostrophe before and after the entire pattern:

formatNumber(512,'## \'dollars\'')

Subpatterns

A pattern can consist of 2 subpatterns: one for the positive representation and one for the negative representation.

The negative subpattern is optional. If you don't include it, the localized minus sign (usually - ) is used in front of the positive representation to represent negative numbers.

Specifying a negative subpattern is done after putting a ; following the positive subpattern. If there is an explicit negative subpattern, it serves only to specify the negative prefix and suffix. The number of digits, minimal digits, and other characteristics are all the same as the positive pattern. That means that "#,##0.0#;#" produces precisely the same behavior as "#,##0.0#;#,##0.0#".

For instance, '##.##;°' will output °30.33 (for a value of -30.33).

Font

The Font tab in Smart Flows, is a feature that bears similarity to the font options in Microsoft Word. The Font tab in Smart Flows is not designed to replace Microsoft Word's styling options, but rather to complement them. A key point to note, is that users are encouraged to utilize Microsoft Word's options and can seamlessly use all of its styling tools within Smart Flows.

The Font tab is used to change the look of the mapped field. This is very similar to Microsoft Word's font options.

image2018-6-27_11-31-56.png

In here, you can change a mapped field's look by changing each setting to your liking.

The Font tab is not intended to replace Microsoft Word's styling options. In fact, we recommend that you use Microsoft Word's styling options as much as possible for your styling needs. The font tab comes in handy when working with conditional styling and formatting, where you, for example, display negative monetary values in red.

Inheritance

If you leave a setting on Default, the value for that setting is inherited from Microsoft Word. This means that every value you set explicitly here overwrites Microsoft Word's setting.

For the effects, you can either turn them off, on or set them to default:

ss1908.png

Styling with Microsoft Word

When styling your template, Microsoft Word doesn't differentiate between plain text and Smart Flows mappings. This means that you can use every styling tool there is available in Microsoft Word on Smart Flows' mappings.

You can add custom fonts other than those available in Microsoft Word. These custom fonts should be added as assets in OFT or TTF file format. You can use these assets in Template Builder.

To change the look of your mapping, simply select it like you would select plain text:

ss0306.png

Then, apply the look you want:

ss0307.png

This also applies to tables, where you can use Microsoft Word's table design tools to change the look of your tables, even if they include loops and groups:

ss0310.png

The applied style is a banded style where every other row gets a different background color. Smart Flows keeps that style intact:

ss0311.png