Difference between revisions of "Appendix: XML mapping GUI"

From 1Archive help
Jump to: navigation, search
(Identify XML)
(Define new XML Mapping in the application)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Goal=
+
==Goal==
Currently there is a wide range of standards for electronic invoices on the market.  
+
To be able to support as much e-invoicing formats as possible, we developed a solution that enables the users to create a custom mapping of XML files.
  
Ranging from UBL implementations (ubl allows custom implementations) to CENBII and custom implementations.
+
==Identify XML==
+
To be able to import different XML types, you have to identify which kind of XML is used. There are different identifiers available:
To be able to support the import of a broad range of e-invoicing we are proposing a solution that enables the users to create custom mapping of xml files.
+
* the name of the root element
 +
* the namespace of the root element
 +
<br/>{{note|It is discouraged to work with empty namespaces. If two vendors would use empty namespaces and their root element would be the same, XML's will be confused.}}<br/>
 +
* values of certain elements
 +
<br/>{{note|These elements are fixed for a certain root element (and its namespace).}}<br/>
  
=Identify XML=
+
===Examples===
To be able to import different xml types we have to setup some business rules to identify quickly which kind of xml we are handling.
+
'''Example 1'''<br/>
 +
<code><?xml version="1.0" encoding="UTF-8"?> <Invoice> <amount></amount> ... </Invoice></code><br/>
 +
* root element will be ''Invoice''
 +
* empty namespace
 +
* no other identifying elements
 +
<br/>{{warning|This setup is strongly discouraged}}<br/>
  
The first identifier of an xml is the name and namespace of the root element.
+
'''Example 2'''<br/>
It is therefore discouraged to work with xml’s with empty namespaces.  
+
<code><?xml version="1.0" encoding="UTF-8"?> <Invoice> <implementation>customer 1</implementation> <amount></amount> ... </Invoice></code><br/>
 +
* root element will be ''Invoice''
 +
* empty namespace
 +
* ''implementation'' is an additional identifier for this root
 +
<br/>
 +
Following XML defines its own mapping:<br/>
 +
<code><?xml version="1.0" encoding="UTF-8"?> <Invoice> <implementation>customer 2</implementation> <amountPaid></amountPaid> ... </Invoice></code><br/>
 +
<br/>
 +
'''Example 3'''<br/>
 +
<code><?xml version="1.0" encoding="UTF-8"?> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> <cbc:UBLVersionID>2.0</cbc:UBLVersionID> <cbc:CustomizationID>1.0</cbc:CustomizationID> <cbc:ProfileID>ExactOnline</cbc:ProfileID> ... </Invoice></code><br/>
 +
* root element will be ''Invoice''
 +
* namespace will be ''"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"''
 +
<br/>{{info|This is identical for UBL 2.0 and 2.1}}<br/>
 +
* identifiers will be:
 +
** UBLVersionID
 +
** CustomizationID
 +
** ProfileID
  
(if 2 vendors would use empty namespaces, and the name of their root element would be the same, xml’s will be confused)
+
==Define new XML mapping in the application==
 +
===Identifying mapping types===
 +
Via the [[image:xml.png|link=]] "XML mapping" button in the ''"Settings"'' menu, you are able to define the different XML mappings needed.<br/>
 +
A mapping type can be added via the ''"Add mapping type"'' button, which can be found in the ''"Actions"'' menu.<br/>
 +
<br/>[[image:add_mapping_type.png|link=]]<br/>
 +
<br/>
 +
Doing this results in a screen being opened on the right side of the screen:<br/>
 +
<br/>[[image:EditMappingType1.png|link=]]<br/>
 +
<br/>
 +
Here you can fill in a ''"Description"'' and upload an example XML file.
 +
<br/>{{info|This example XML file will be used to construct the tree of nodes for the mapping.}}<br/>
 +
{{warning|The root element and its namespace will be read from the file and can't be changed afterwards.}}<br/>
  
Next to the root element, values of certain elements can also be added to the xml identifier. But those elements are fixed for a certain root element (and its namespace).
+
Clicking ''"Next"'' results in the tree structure of the example file being showed:<br/>
 +
<br/>[[image:mapping_tree_struct.png|link=]]<br/>
 +
<br/>
 +
Every node is clickable. Depending upon the type of the node, there are 2 different pop-ups that appear when clicking:<br/>
 +
<br/>[[image:node_properties_folder.png|link=]]<br/>
 +
<br/>
 +
<br/>[[image:node_properties_file.png|link=]]<br/>
 +
<br/>
 +
The first pop-up will appear when a node is marked with the folder icon, the second will appear when a node is marked with the file icon.<br/>
 +
Both screens have the possibility to remove a node, but only the nodes marked with the file icon have the possibility to become and ID column. When doing so, the node will be marked with a [[image:add.png|link=]] key icon.<br/>
 +
<br/>
 +
By clicking the [[image:add.png|link=]] "Upload XML" button in the upper right corner of the screen, you are allowed to upload a new example file. This is mostly done when something was changed in the tree structure and needs to be re-uploaded. <br/>
  
Examples:
+
===Identifying mappings===
: 1. <code><?xml version="1.0" encoding="UTF-8"?><Invoice> <amount></amount> .</Invoice></code>
+
When a mapping type is added, it is available in the "Mapping types" menu.<br/>
:: Will be identified as an Xml with the root Element Invoice and an empty namespace, and no other identifying elements
+
<br/>[[image:mapping_types.png|link=]]<br/>
 +
<br/>
 +
There are three different buttons available:
 +
* [[image:magnifier.png|link=]] "View mappings": view the different mappings per mapping type.
 +
* [[image:edit.png|link=]] "Edit mapping type": edit the mapping type.
 +
* [[image:remove.png|link=]] "Remove mapping type": remove the concerning mapping type.
  
:: {{info|This setup is strongly discouraged.}}
+
Clicking one of the mapping types results in a screen being opened next to it, with all the defined mappings in it.<br/>
 +
<br/>[[image:mappings.png|link=]]<br/>
 +
<br/>
 +
A mapping can be added by clicking the [[image:add.png|link=]] "Add mapping" icon and can be defined per:
 +
* Document type
 +
* Company
 +
* Any possible combination of the identifying columns
 +
<br/>{{info|When the ''"Company"'' field is not filled in, the mapping is applicable to any company.}}<br/>
 +
{{note|When there is a company specified, this mapping is preferred to the general mapping for all companies.}}<br/>
  
: 2. <code><?xml version="1.0" encoding="UTF-8"?><Invoice><implementation>customer 1</implementation><amount></amount>……. </Invoice></code>
+
[[image:editMapping1.png|link=]]<br/>
:: Will be identified as an Xml with the root Element Invoice and an empty namespace, but this time we will define that the element “implementation” is an additional identifier for the Xml with this root element.
+
<br/>
:: The xml :
+
The mapping has a few required fields:
::<code><?xml version="1.0" encoding="UTF-8"?><Invoice><implementation>customer 2</implementation><amountPaid></amountPaid>…….</Invoice></code>
+
* Name
::Can in this case define it’s own mapping.
+
* Document type
: 3.For UBL the root element is “Invoice” with namespace “urn:oasis:names:specification:ubl:schema:xsd:Invoice-2”
+
* Any identifying fields available
::This is identical for UBL 2.0 and 2.1.  
+
<br/>
::But we can add additional identifiers “UBLVersion”, “CustomizationID” and “ProfileID” that identify the UBL version and the implementation of the UBL standard of a particular customer.
+
When selecting the ''"Document node"'' two additional tab pages appear:
::<code><?xml version="1.0" encoding="UTF-8"?><Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"            xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" ><cbc:UBLVersionID>2.0</cbc:UBLVersionID>  <cbc:CustomizationID>1.0</cbc:CustomizationID><cbc:ProfileID>ExactOnline</cbc:ProfileID>…</invoice></code>
+
* '''Header mappings''': used for mapping all the available header fields in 1Archive.
 +
* '''Other mappings''': used for mapping the image of the document.
 +
<br/>{{info|The ''"Document node"'' is the root node in the XML tree that represents the invoice.}}<br/>
  
=Define new XML Mapping in the application=
+
When selecting the ''"Posting line node"'', following tab page appears:
==Identifying mapping types==
+
* '''Posting line mappings''': used for mapping all the available posting line fields in 1Archive.
In the settings menu mapping types can be added and modified.
+
<br/>
 
[[File:MappingTypeMenu.png]]
 
  
A mapping type is identified by the root node of the xml and the namespace of this root node.  
+
When selecting the ''"Partner field"'', following tab page appears:
 +
* '''Partner mappings''': used for mapping all the available partner fields.
  
When adding a mapping type, a name must be specified and an example xml must be uploaded.
+
====Header mappings ====
 +
[[image:editHeaderMapping.png|link=]]<br/>
 +
<br/>
 +
The ''"Header mappings"'' tab page shows all available header fields in 1Archive. For each field, the [[image:listPicker.png|link=]] "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.<br/>
 +
A node can be selected to use by clicking on it.
 +
<br/>{{note|Not all header fields have to be mapped to a node.}}<br/>
 +
It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:
 +
* '''Date formatter YYYYxxMMxDD''': use this formatter when the dates in the XML are written like YYYYxMMMxDD.
 +
* '''UBL invoice type formatter''': use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
 +
* '''BE VAT formatter''': use this formatter to format the VAT code to a BE VAT code 1Archive allows.
 +
* '''Date formatter YYYYxDDxMM''': use this formatter when the dates in the XML are written like YYYYxDDxMM.
 +
* '''Date formatter DDxMMxYYYY''': use this formatter when the dates in the XML are written like DDxMMxYYYY.
 +
* '''Date formatter MMxDDxYYYY''': use this formatter when the dates in the XML are written like MMxDDxYYYY.
 +
* '''Date formatter YYxMMxDD''': use this formatter when the dates in the XML are written like YYxMMxDD.
 +
* '''Date formatter DDxMMxYY''': use this formatter when the dates in the XML are written like DDxMMxYY.
 +
* '''Date formatter MMxDDxYY''': use this formatter when the dates in the XML are written like MMxDDxYY.
 +
<br/>{{info|The ''"x"'' in the date formatters represent any character. This can for example be a / or a - or even nothing.}}<br/>
  
[[File:EditMappingType1.png]]
+
====Other mappings====
 +
[[image:editOtherMapping.png|link=]]<br/>
 +
<br/>
 +
The ''"Other mappings"'' tab page shows two different mapping fields:
 +
* '''Filename''': link the node which contains the filename of the image. '''This is used in case the image is not embedded in the XML'''.
 +
* '''Embedded XML''': link the node which contains the embedded image. '''This is the Base64 encoded string of the image'''.
  
The Root element and its namespace is read from the example Xml File and can’t be changed.  
+
====Posting line mappings ====
 +
[[image:editPostingLineMapping.png|link=]]<br/>
 +
<br/>
 +
The ''"Posting line mappings"'' tab page shows all available posting line fields in 1Archive. For each field, the [[image:listPicker.png|link=]] "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.<br/>
 +
A node can be selected to use by clicking on it.
 +
<br/>{{note|Not all posting line fields have to be mapped to a node.}}<br/>
 +
It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:
 +
* '''Date formatter YYYYxxMMxDD''': use this formatter when the dates in the XML are written like YYYYxMMMxDD.
 +
* '''UBL invoice type formatter''': use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
 +
* '''BE VAT formatter''': use this formatter to format the VAT code to a BE VAT code 1Archive allows.
 +
* '''Date formatter YYYYxDDxMM''': use this formatter when the dates in the XML are written like YYYYxDDxMM.
 +
* '''Date formatter DDxMMxYYYY''': use this formatter when the dates in the XML are written like DDxMMxYYYY.
 +
* '''Date formatter MMxDDxYYYY''': use this formatter when the dates in the XML are written like MMxDDxYYYY.
 +
* '''Date formatter YYxMMxDD''': use this formatter when the dates in the XML are written like YYxMMxDD.
 +
* '''Date formatter DDxMMxYY''': use this formatter when the dates in the XML are written like DDxMMxYY.
 +
* '''Date formatter MMxDDxYY''': use this formatter when the dates in the XML are written like MMxDDxYY.
 +
<br/>{{info|The ''"x"'' in the date formatters represent any character. This can for example be a / or a - or even nothing.}}<br/>
  
The tree structure of the xml file is shown.  
+
==== Partner mappings ====
 +
[[image:editPartnerMapping.png|link=]]<br/>
 +
<br/>
 +
The ''"Partner mappings"'' tab page shows all available partner fields in 1Archive. For each field, the [[image:listPicker.png|link=]] "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.<br/>
 +
A node can be selected to use by clicking on it.
 +
<br/>{{note|Not all partner fields have to be mapped to a node.}}<br/>
 +
It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:
 +
* '''Date formatter YYYYxxMMxDD''': use this formatter when the dates in the XML are written like YYYYxMMMxDD.
 +
* '''UBL invoice type formatter''': use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
 +
* '''BE VAT formatter''': use this formatter to format the VAT code to a BE VAT code 1Archive allows.
 +
* '''Date formatter YYYYxDDxMM''': use this formatter when the dates in the XML are written like YYYYxDDxMM.
 +
* '''Date formatter DDxMMxYYYY''': use this formatter when the dates in the XML are written like DDxMMxYYYY.
 +
* '''Date formatter MMxDDxYYYY''': use this formatter when the dates in the XML are written like MMxDDxYYYY.
 +
* '''Date formatter YYxMMxDD''': use this formatter when the dates in the XML are written like YYxMMxDD.
 +
* '''Date formatter DDxMMxYY''': use this formatter when the dates in the XML are written like DDxMMxYY.
 +
* '''Date formatter MMxDDxYY''': use this formatter when the dates in the XML are written like MMxDDxYY.
 +
<br/>{{info|The ''"x"'' in the date formatters represent any character. This can for example be a / or a - or even nothing.}}<br/>
  
[[File:EditMappingType2.png]]
+
By selecting a node for a field, 1Archive will try to identify the partner base on the value of that node in the XML.
 
+
For example: When linking the VAT ID field to a node in the XML which contains a VAT number, 1Archive will search the database for all partners with that VAT number.
The application allows to remove certain unused nodes, or to mark some nodes as identifying columns by clicking on the nodes.
+
<br/>{{note|If multiple fields are mapped the application will look for all partners complying any of the rules.}}<br/>
 
+
{{info|If multiple partners are found, 1Archive will propose the different values as a yellow field in the document view.}}<br/>
By clicking the [[File:addIcon.png]] icon, the xml (or another xml with same rootnode and namespace ) can be re-uploaded to add additional nodes.
+
{{info|The rules will be rechecked every time a document is opened in the archive. This means that when no partner was found when the document entered 1Archive, but it was added later, the partner will yet be proposed.}}<br/>
 
 
==Identify mappings==
 
[[File:addMapping.png]]
 
 
 
Once mapping types are defined we can go along and define the actual mappings.
 
 
 
A mapping can be added by clicking the [[File:addIcon.png]] icon, edited by clicking the [[File:editIcon.png]]  and removed by clicking the [[File:removeIcon.png]]  icon.
 
 
 
A mapping can be defined per :
 
 
*Document type
 
*Company. If the company is not filled out the mapping can apply to any company.
 
*Any possible combination of the identifying columns.
 
 
 
If a mapping is defined specifically for a company (company of the mapping is not null)  this mapping is preferred to the general mapping for all companies (company of the mapping is null).
 
 
 
[[File:editMapping1.png]]
 
 
 
The mapping name, document type and values for the identifying columns are mandatory to be able to save a mapping.
 
 
 
When selecting the document node (this is the node in the xml tree that represents an invoice), 2 additional tabs ‘Header Mappings’ and ‘Other Mappings’ are shown.
 
 
 
When selecting the postingline node (this is the node in the xml representing the invoice lines), an additional tab ‘Posting Line Mappings’ is shown.
 
 
 
The partner field allows to map the supplier or customer based on field in the xml. If this field is filled out another additional tab ‘Partner Mappings’ is shown. 
 
 
 
===Header Mappings ===
 
[[File:editHeaderMapping.png]]
 
 
 
When selecting the “Header Mappings” tab a list of all header fields will be shown.
 
 
 
For each header field a node can be selected by clicking the [[File:listIcon.png]] icon. If a node is selected the value of the header field will be filled out with the value of the node in the xml field.
 
 
 
Note : not all header fields have to be mapped to a node.
 
 
 
Eventually a formatter can be added. This formatter will format the data in the Xml file in a specific way to fill out the header field. (example date formatter)
 
 
 
===Other Mappings===
 
[[File:editOtherMapping.png]]
 
 
 
The ‘other mappings’ tabs allows to specify the nodes in the Xml that contains :
 
*The filename of the invoice image. This is used in case the invoice image is not embedded in the xml.
 
*The embedded invoice image. This is the base 64 encoded string of the invoice image.
 
 
 
 
 
===Posting Line Mappings ===
 
[[File:editPostingLineMapping.png]]
 
 
 
When selecting the “Posting Line Mappings” tab a list of all posting line fields will be shown.
 
 
 
For each field a node can be selected by clicking the [[File:listIcon.png]] icon. If a node is selected the value of the posting line field will be filled out with the value of the node in the xml field.
 
 
 
Note : not all fields have to be mapped to a node.
 
 
 
Eventually a formatter can be added. This formatter will format the data in the Xml file in a specific way to fill out the header field. (example date formatter)
 
 
 
=== Partner Mappings ===
 
[[File:editPartnerMapping.png]]
 
 
 
The partner mapping tab allows to identify the partner (customer or supplier) in the SCANPRO application by some identifying fields.
 
 
 
The screen shows all the fields defined in SCANPRO for a supplier/customer.
 
 
 
By selecting a node for a field the application will try to identify the supplier/customer based on that nodes’ value in the xml.
 
 
 
Example: when linking the VATID field to a node in the xml containing a VAT number. The application will look in the database for all partners with that VAT number.
 
 
 
If multiple fields are mapped to nodes. The application will look for all partners complying any of the rules.  
 
 
 
If more than one partner is found, the partners are stored in the field options allowing the user to select the correct partner when viewing the archive.
 
 
 
If no partner is found the field values are saved in field proposals.  
 
 
 
The rules will be rechecked every time the document is opened in the archive. So in case the correct partner is added between the upload and the opening of the document in the archive.
 
 
 
The partner can be completed by the system.
 

Latest revision as of 12:49, 9 November 2016

1 Goal

To be able to support as much e-invoicing formats as possible, we developed a solution that enables the users to create a custom mapping of XML files.

2 Identify XML

To be able to import different XML types, you have to identify which kind of XML is used. There are different identifiers available:

  • the name of the root element
  • the namespace of the root element

Note.png It is discouraged to work with empty namespaces. If two vendors would use empty namespaces and their root element would be the same, XML's will be confused.

  • values of certain elements

Note.png These elements are fixed for a certain root element (and its namespace).

2.1 Examples

Example 1
<?xml version="1.0" encoding="UTF-8"?> <Invoice> <amount></amount> ... </Invoice>

  • root element will be Invoice
  • empty namespace
  • no other identifying elements

Warning.png This setup is strongly discouraged

Example 2
<?xml version="1.0" encoding="UTF-8"?> <Invoice> <implementation>customer 1</implementation> <amount></amount> ... </Invoice>

  • root element will be Invoice
  • empty namespace
  • implementation is an additional identifier for this root


Following XML defines its own mapping:
<?xml version="1.0" encoding="UTF-8"?> <Invoice> <implementation>customer 2</implementation> <amountPaid></amountPaid> ... </Invoice>

Example 3
<?xml version="1.0" encoding="UTF-8"?> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> <cbc:UBLVersionID>2.0</cbc:UBLVersionID> <cbc:CustomizationID>1.0</cbc:CustomizationID> <cbc:ProfileID>ExactOnline</cbc:ProfileID> ... </Invoice>


Info.png This is identical for UBL 2.0 and 2.1

  • identifiers will be:
    • UBLVersionID
    • CustomizationID
    • ProfileID

3 Define new XML mapping in the application

3.1 Identifying mapping types

Via the Xml.png "XML mapping" button in the "Settings" menu, you are able to define the different XML mappings needed.
A mapping type can be added via the "Add mapping type" button, which can be found in the "Actions" menu.

Add mapping type.png

Doing this results in a screen being opened on the right side of the screen:

EditMappingType1.png

Here you can fill in a "Description" and upload an example XML file.


Info.png This example XML file will be used to construct the tree of nodes for the mapping.

Warning.png The root element and its namespace will be read from the file and can't be changed afterwards.

Clicking "Next" results in the tree structure of the example file being showed:

Mapping tree struct.png

Every node is clickable. Depending upon the type of the node, there are 2 different pop-ups that appear when clicking:

Node properties folder.png


Node properties file.png

The first pop-up will appear when a node is marked with the folder icon, the second will appear when a node is marked with the file icon.
Both screens have the possibility to remove a node, but only the nodes marked with the file icon have the possibility to become and ID column. When doing so, the node will be marked with a Add.png key icon.

By clicking the Add.png "Upload XML" button in the upper right corner of the screen, you are allowed to upload a new example file. This is mostly done when something was changed in the tree structure and needs to be re-uploaded.

3.2 Identifying mappings

When a mapping type is added, it is available in the "Mapping types" menu.

Mapping types.png

There are three different buttons available:

  • Magnifier.png "View mappings": view the different mappings per mapping type.
  • Edit.png "Edit mapping type": edit the mapping type.
  • Remove.png "Remove mapping type": remove the concerning mapping type.

Clicking one of the mapping types results in a screen being opened next to it, with all the defined mappings in it.

Mappings.png

A mapping can be added by clicking the Add.png "Add mapping" icon and can be defined per:

  • Document type
  • Company
  • Any possible combination of the identifying columns

Info.png When the "Company" field is not filled in, the mapping is applicable to any company.

Note.png When there is a company specified, this mapping is preferred to the general mapping for all companies.

EditMapping1.png

The mapping has a few required fields:

  • Name
  • Document type
  • Any identifying fields available


When selecting the "Document node" two additional tab pages appear:

  • Header mappings: used for mapping all the available header fields in 1Archive.
  • Other mappings: used for mapping the image of the document.

Info.png The "Document node" is the root node in the XML tree that represents the invoice.

When selecting the "Posting line node", following tab page appears:

  • Posting line mappings: used for mapping all the available posting line fields in 1Archive.


When selecting the "Partner field", following tab page appears:

  • Partner mappings: used for mapping all the available partner fields.

3.2.1 Header mappings

EditHeaderMapping.png

The "Header mappings" tab page shows all available header fields in 1Archive. For each field, the ListPicker.png "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.
A node can be selected to use by clicking on it.


Note.png Not all header fields have to be mapped to a node.

It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:

  • Date formatter YYYYxxMMxDD: use this formatter when the dates in the XML are written like YYYYxMMMxDD.
  • UBL invoice type formatter: use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
  • BE VAT formatter: use this formatter to format the VAT code to a BE VAT code 1Archive allows.
  • Date formatter YYYYxDDxMM: use this formatter when the dates in the XML are written like YYYYxDDxMM.
  • Date formatter DDxMMxYYYY: use this formatter when the dates in the XML are written like DDxMMxYYYY.
  • Date formatter MMxDDxYYYY: use this formatter when the dates in the XML are written like MMxDDxYYYY.
  • Date formatter YYxMMxDD: use this formatter when the dates in the XML are written like YYxMMxDD.
  • Date formatter DDxMMxYY: use this formatter when the dates in the XML are written like DDxMMxYY.
  • Date formatter MMxDDxYY: use this formatter when the dates in the XML are written like MMxDDxYY.

Info.png The "x" in the date formatters represent any character. This can for example be a / or a - or even nothing.

3.2.2 Other mappings

EditOtherMapping.png

The "Other mappings" tab page shows two different mapping fields:

  • Filename: link the node which contains the filename of the image. This is used in case the image is not embedded in the XML.
  • Embedded XML: link the node which contains the embedded image. This is the Base64 encoded string of the image.

3.2.3 Posting line mappings

EditPostingLineMapping.png

The "Posting line mappings" tab page shows all available posting line fields in 1Archive. For each field, the ListPicker.png "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.
A node can be selected to use by clicking on it.


Note.png Not all posting line fields have to be mapped to a node.

It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:

  • Date formatter YYYYxxMMxDD: use this formatter when the dates in the XML are written like YYYYxMMMxDD.
  • UBL invoice type formatter: use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
  • BE VAT formatter: use this formatter to format the VAT code to a BE VAT code 1Archive allows.
  • Date formatter YYYYxDDxMM: use this formatter when the dates in the XML are written like YYYYxDDxMM.
  • Date formatter DDxMMxYYYY: use this formatter when the dates in the XML are written like DDxMMxYYYY.
  • Date formatter MMxDDxYYYY: use this formatter when the dates in the XML are written like MMxDDxYYYY.
  • Date formatter YYxMMxDD: use this formatter when the dates in the XML are written like YYxMMxDD.
  • Date formatter DDxMMxYY: use this formatter when the dates in the XML are written like DDxMMxYY.
  • Date formatter MMxDDxYY: use this formatter when the dates in the XML are written like MMxDDxYY.

Info.png The "x" in the date formatters represent any character. This can for example be a / or a - or even nothing.

3.2.4 Partner mappings

EditPartnerMapping.png

The "Partner mappings" tab page shows all available partner fields in 1Archive. For each field, the ListPicker.png "Select node" button is available. Clicking this button results in the opening of the pop-up screen with the different nodes that were available in your example XML.
A node can be selected to use by clicking on it.


Note.png Not all partner fields have to be mapped to a node.

It's also possible to define a formatter for the field. A formatter will format the data in the XML file to a value that 1Archive allows. There are different formatters available:

  • Date formatter YYYYxxMMxDD: use this formatter when the dates in the XML are written like YYYYxMMMxDD.
  • UBL invoice type formatter: use this formatter to format the UBL invoice type to the invoice type 1Archive allows.
  • BE VAT formatter: use this formatter to format the VAT code to a BE VAT code 1Archive allows.
  • Date formatter YYYYxDDxMM: use this formatter when the dates in the XML are written like YYYYxDDxMM.
  • Date formatter DDxMMxYYYY: use this formatter when the dates in the XML are written like DDxMMxYYYY.
  • Date formatter MMxDDxYYYY: use this formatter when the dates in the XML are written like MMxDDxYYYY.
  • Date formatter YYxMMxDD: use this formatter when the dates in the XML are written like YYxMMxDD.
  • Date formatter DDxMMxYY: use this formatter when the dates in the XML are written like DDxMMxYY.
  • Date formatter MMxDDxYY: use this formatter when the dates in the XML are written like MMxDDxYY.

Info.png The "x" in the date formatters represent any character. This can for example be a / or a - or even nothing.

By selecting a node for a field, 1Archive will try to identify the partner base on the value of that node in the XML. For example: When linking the VAT ID field to a node in the XML which contains a VAT number, 1Archive will search the database for all partners with that VAT number.


Note.png If multiple fields are mapped the application will look for all partners complying any of the rules.

Info.png If multiple partners are found, 1Archive will propose the different values as a yellow field in the document view.

Info.png The rules will be rechecked every time a document is opened in the archive. This means that when no partner was found when the document entered 1Archive, but it was added later, the partner will yet be proposed.