JAIX EDI - Standard Training Reference
Overview
This document contains reference material to be used in conjunction with the EDI – Level 1 Standard Training Module. This is an entry level overview of EDI functions and basic manipulation within the JAIX Format Builder.
Glossary
EDI | Electronic Data Interchange. Transfer of files to create or update transactional records from one system to another without Human interaction. |
CSV,XML,JSON,TXT | Different file formats that can be imported and exported through JAIX EDI |
EDI Format | Mapping used to match fields within file to JAIX fields |
EDI Profile | Mapping used to link EDI Format with Debtor and Monitored Folder |
Monitored Folder | Folder scanned by JAIX service looking for new files |
Primary Reference | Unique value to identify imported record |
Command String | Function that allows manipulation of field data prior to import |
Format String | Pattern used to import and export date and numeric fields correctly |
Regular Expression | Pattern used to define which sections of field data is to be used |
Delimiter | Character used to identify the break between fields |
Prefix | Characters added to the start of the field |
Suffix | Characters added to the end of the field |
Field Conversion | Table that allows specific values to be swapped to another value |
UNC Path | Network address to specific folder |
XML Node/Tag | Individual field header. Eg. <Address>123 EDI St</Address> |
EDI Basics
What is EDI?
Electronic Data Interchange (EDI) is the electronic interchange of business information using a standardized format; a process which allows one company to send information to another company electronically rather than with paper.
But what does that mean?
Put simply, EDI allows one system to transfer transactional information to another system without Human interaction. This negates Human error and double handling of data. Transactional Data can be anything from an Invoice, Consignment, Pick Docket etc.
Establishing an EDI
For any EDI to be established, communication is required between both parties to determine:
- What data is to be exchanged?
- What format(s) are to be used?
- Which method of transfer will be used?
Once this has been confirmed and agreed by both parties and their system vendors, an implementation timeline can be discussed usually leading up to a testing phase prior to implementation into the live environments.
What Data Can Be Exchanged?
The JAIX ERP offers a number of areas where EDI can be utilized.
For Import:
- Pickups/Consignments/Jobs
- WMS Dockets (Pick/Put)
- Sender/Receivers
- Asset Odometer/Meter Readings
- Consignment POD
- Consignment Delivery Status
- GL Journal/Transactions
- General Invoice
For Export:
- Pickup/Consignment Tracking Status Events
- Pickup/Consignment POD
- WMS Dockets (Pick/Put) Status Events
- Manifest Consignment Data (to Subcontractors or Delivery Depots)
- Invoices
For Update:
- Pickup/Consignment Update of Delivery Date/Time & POD data from external sources
- Pickup/Consignment Update of forwarding costs
- Pickup/Consignment Pickup/Delivery Allocated Date/Time
- Pickup/Consignment Detail Items
EDI Options
Before using EDI, there are a number of fundamental settings that should be considered. These can dramatically change how your EDI system functions.
JAIX Admin > Tools > System Setup > EDI Imports
Imported Folder | This is where successfully imported files are transferred to after being processed. This directory can be overridden within the EDI Profile setup. |
Unknown Profile | Files will be transferred here if the file prefix did not match any active EDI Profile. |
Error Folder | If an imported file was unable to be processed successfully, it will be transferred here. |
Email EDI Notifications To | This is a high level EDI notification email contact. Branch level notifications can also be setup and will be covered later in this document. Multiple email addresses can be entered here by using the semi-colon character ( ; ). |
Watch Sub-Folders | If an EDI Profile is monitoring a folder looking for files to import, this setting will allow the JAIX service to also scan any folder within the parent. This option should be turned on with care, as it could result in the JAIX Service importing unintended files. |
Disable Suburb Best Match | Address information imported into JAIX will always be cross-referenced against Australia Post Locations to confirm accurate data. If data has been imported that does not match official locations, JAIX will attempt a "Best Match" and set the Suburb/Postcode/State combination based on what is most probable. With this setting turned on, JAIX will simply error an Import when the Address data cannot be matched against a Location. |
EDI Object Builder Settings | This section contains all hardcoded EDI Formats. These are custom created Formats based on specific and complex requirements that could not be covered under the JAIX EDI Module as standard. These formats are only accessible by JAIX staff. |
EDI Notifications
The Global EDI Notification Email is set within JAIX Admin > Tools > System Setup > EDI Imports. This was covered in the EDI Options section.
There are two additional EDI Notification settings that are set at Branch Level. Multiple email addresses can be entered here by using the semi-colon character (;)
JAIX Admin > System > Branch List
Email Imported Consignments To – This will email a full listing of all Imported Consignments from a single EDI Imported file. The email sent will report on the following details:
CN No | Despatch | Senders Ref | From | Sender | To | Receiver | Charge To | Service | Unit | Description | Qty | Weight | Cube |
Email Imported Dockets To – This will email a full listing of all Imported Dockets from a single EDI Imported file. The email sent will report on the following details:
Docket No. | Type | Movement Date | Charge To | Sender/Receiver | Order No. | Invoice No. | Reference | Allocation Result |
Should an EDI Update occur, the same Branch level notification emails will be used to report on the record changes.
CN No | Result | Field Name | Old Value | New Value |
EDI Configuration
EDI Formats
An EDI Format is like a map, which tells JAIX how to read/write individual fields within a file. Without an EDI Format, JAIX has no way to determine what each field is. Every Import and Export requires an EDI Format to function correctly.
JAIX Admin > System > EDI Format Builder > New
Field | Information |
Type | Select the desired type this format will be used for - Import, Export or Update. |
Format Name | Enter an appropriate name for the Format. |
Data Type | Select what Data Type this format relates to. E.g Consignment. |
File Format | Select the relevant File Format. |
Delimiter | Select the appropriate Delimiter, only required if File Format = Delimited. For example if using a CSV format then the Delimiter = , (comma). |
Use Advanced Grouping | This function is for Docket Export formats only. Docket Detail lines will group based on Picked LPN and Product Code by default. With Advanced Grouping on, when no unique Serial or Batch number is present, JAIX will group the Detail lines and sum Quantity. |
Line Mapper > Click New
This is where the data fields coming in from the file to the relevant JAIX fields are mapped. For a format such as CSV this process is as simple as entering the column number against the relevant JAIX Field Name. For XML format this column will change to a Tag Name instead to specify the exact tag/element representing the field.
If the format contains multiple line formats then multiple Line Mappers will be required to read the file correctly.
Field | Information |
Name | Select the desired name for the Line Mapper. For XML formats this name must represent EXACTLY the name of the Parent XML node that you are reading the field data from and cannot contain space characters. For other formats the name is purely reference only. |
Start at Line Number | If your file contains headers in the first line, or other similar data that you do not want to import, you can enter the line number to start reading from here. |
Stop at Line Number | Select if the data being read within the file is limited to a certain number of lines. |
Line Identifier | This function is used if the file that is being imported has multiple line formats. For example if the file has a Header line identified by an 'H' and a Detail line identified by a "D", you can create 2 Line Mappers and set the Line Identifiers accordingly. This enables the system to identify which Line Mapper to apply to which line. |
Is Default | Select if you want the Line Mapper to be the default. All formats must have a default. |
Include Column Headers | This is an export function to include the header tag names on the first row of the file. |
Here is an example of the fields that have been mapped from a test file.
Unit of Measure
This will activate for fields such as Weight, Cubic and Dimensions to specify the Unit of Measure the imported value is to be treated as. It is mandatory to select a Unit of Measure if mapping these fields.
Field Options
For each field mapping you can specify additional options to apply to that field.
Field | Information |
Column Header | This applies to Export Formats only to add column header text to the exported data. |
Default Value | A value can be specified here to use should the field value be empty. |
Format String | This field will enable for Date/Time and Numeric fields allowing you to specify the formatting for the value. This is very important when importing Date/Time values as the system will need to know the exact formatting string to apply. Some default values are loaded here but for more complicated formats a custom format string can be entered. Contact JAIX Support for assistance with Date/Time format strings if required. |
Command String | This allows for specific hardcoded commands to be applied to fields. Commands currently implemented include:
Command string functions are case sensitive and must be upper case
|
Command String – Math Function | Starting the Command string with an "=" character will allow for basic calculations to be made. Operators supported are:
|
Regular Expression | Regular Expressions can be used to match a specific character or string and return the characters that match the expression. An example would be to match all characters before a decimal. Eg. (?:(?!\.).)* |
Delimiter | Used only for fields that contain delimited values. An example is the Additional References field in the JAIX Standard Consignment Format which can contain multiple references separated by a PIPE character. |
Prefix | Will automatically add a Prefix to any Imported Value. |
Suffix | Will automatically add a Suffix to any Imported Value. |
Remove if Line is Blank | This option can be used to clean up unwanted lines within a file if they are missing key data. |
Allow Update | If allow updates is turned on, a file is imported through EDI and the primary reference number exists in JAIX. As long as the record is still in the New/Awaiting Validation status, JAIX will update the value using the new data. |
Repeat With Child | XML Export toggle which allows a Parent Node to repeat with its child. This allows for multi-nested nodes on Export formats. Eg. Toggling this on for <Line> would allow it to repeat for each <Detail> tag. |
Field Value Conversions | Allows setup of a conversion table of values being Imported into the system or Exported from the system. A common example here is converting service codes from your client system into valid JAIX Service Code values. |
Attributes | XML Export function to include attributes on specific XML tag based on requirements. |
Once the formats are created they can be used within the relevant EDI setup areas throughout the system which are covered in more detail below.
Hardcoded EDI Formats
There are a number of EDI Formats that were created specifically by JAIX to handle custom requirements. These formats can only be activated by a JAIX staff member, and cover a range of functionality.
The two most notable Hardcoded Formats are; WMS Product Import and WMS Stock Import.
XML & JSON Export Formats and Levels / Nesting
Unlike CSV, both XML and JSON file formats can be nested. That is some tags can be children of other tags. When importing from this structure the tags can be addressed by the Import Format, however when creating an Export Format this structure will need to be defined completly.
In an XML or JSON Export Format, there can be only one Line Mapper. But within that there can be many levels of nesting.
Nesting is created by use of the 'Add Child' button in the Line Mapper which will add a new level of nesting under the currently selected Field Mapping.
For example, the below example XML structure:
<Consignment>
<ConsignmentNumber>SC10423</ConsignmentNumber>
<Sender>
<Name>SendCo</Name>
<Address>1 Sender Street</Address>
<Suburb>Senderville</Suburb>
<Postcode>1234</Postcode>
</Sender>
</Consignment>
Could be created with the below format:
Note the indentation going down the list. 'ConsignmentNumber' is a child of 'Consignment' and so is indented one level. Likewise, the address details are a child of 'Sender' and so are further indented.
The Up and Down buttons allow the order of the lines to be moved up and down the list if need be.
In this way the structure of a complete XML or JSON export file can be defined.
EDI Profiles
An EDI Profile is required for each file to be imported. It is a connection between the Imported File, the EDI Format and the Monitored Folder. There are also a number of settings that can be set at Profile level.
JAIX Admin > System > EDI Profiles
Click New.
Field | Information |
Enabled | Select to enable the EDI Profile |
Entity | Select the system Entity relevant to the Profile. |
Profile Name | Enter a name for the Profile. |
Debtor | Select the Debtor that the data is to be imported for. This can also be bound within the EDI Format and will override the Profile setting. |
Default Branch | Select the Default Branch that data should be imported to. This only applies to data types where Branch is relevant (e.g Consignments and Dockets). |
Use Address to Determine Branch | Select this option to enable the system to determine the Branch based on the relevant address in the data file. For example if importing consignments the system will look at the Sender Address for each consignment and determine the correct branch from that. |
Default Sender/Receiver to Depot if Empty | This will allow the EDI Import to still succeed when the Sender/Receiver information is incomplete or empty. JAIX will substitute the Depot Address details into the record in order to complete the import. |
Do Not Save ADHOC Sender/Receiver | JAIX will by default save all unique Sender Receiver records with the status set to New. When toggled, JAIX will not save any Sender/Receivers that are imported through this EDI Profile. |
Force Auto Increment | This will set the Primary Reference field (Eg. Consignment Number) to the next incrementing number generated by JAIX. This will include a prefix set within JAIX and the next available number. |
File Prefix | Enter the prefix for the file that is being imported. This is how the system determines which profile to use when importing a file. We recommend at least 3 characters for the prefix, more if possible. The system will not allow setting up multiple profiles for the same Import Folder where prefixes conflict. |
Import Format | Select the Format that the system will use to read the file. Refer to "EDI Formats" section earlier in the manual. |
Import Folder | Select the relevant location that the data files will be saved into. The JAIX Service will monitor this folder automatically and attempt to import any file that is dropped in. Important Note: The location entered here must be accessible by the JAIX Service so we highly recommend the use of UNC paths. |
Imported Override | This will force successfully imported EDI files to a location other than the default set in Tools > System Setup. |
Output Options | These are additional options that will customize your profile for the specific requirements. You can select to automatically Print or Email the relevant documents after import, including labels for Consignments or Dockets. Important Note: If Printing, the selected Printer must be installed and available from the JAIX Service machine. |
Freight Options | Additional options available for the Consignment Data Type.
|
WMS Options | Additional options available for the Docket Data Type.
|
EDI Functionality
Test File
A test File Function can be accessed from the Profile window enabling testing and review of mappings before importing live data. The system will prompt for a test file and will display results on screen. For detailed information click "Yes" to view the log.
This is a great tool for ensuring mappings are correct and ensuring data from clients is accurate.
Blank fields are shown in Orange. If the field is not mandatory a blank value will not prevent a successful import.
EDI Updates
There are two methods of EDI Updates;
Detail Updates – This method requires an EDI Import Format which allows the same Format to be used for both Import and detail updates. Any Consignment or Job can have their details updated through EDI until Admin Status Validated. If Auto Validate is used within the EDI Profile, the Consignment or Job can be updated until Manifested. Only fields marked as "Allow Updates" will be modified using this method.
Note:
Any update to Detail Lines requires a match on the pre-existing Detail Reference field.Status Update – This method requires an EDI Update Format. Any Consignment or Job can have their Status updated, along with populating various fields that are usually populated during Pickup or Delivery completion. The only restriction is that the Status cannot be regressed. JAIX matches on the Primary Reference field (Consignment Number) and allows the following fields to be imported.
Exporting EDI Import Notifications
Notifications can be sent to Debtor Account Contacts when an EDI Import is processed against that Debtor record. This requires an EDI Format to be created. The Format is Type – Export, Data Type – Import File Response. The fields within this format are global, so the export can be triggered for any EDI Import type.
Field | Information |
File Name | This will contain the name of the file that was processed through EDI |
Current Date/Time | The Date Time that the EDI Import occurred |
Event Type | Whether the import was successful or failed. By default this will present as 1 = Error, 0 = Success. A user can set a Field Conversion should they require a different naming convention |
Event Description | This description will include whether the EDI Import was successful, but also details if the import failed. A reason will be given should the import fail, including when this occurs due to duplication. |
Usage Count | The total number of times that a file has been processed by the specific EDI Profile |
EDI Profile Name | The name of the EDI Profile that was used to process the file |
Exporting Data to Debtors
The JAIX EDI module can be used to automatically export data to customers in the formats they require. This configuration is available when creating/editing a Contact under relevant Debtors. Refer to the "EDI Export Options" on the right hand side. By having the setup in the Contact (rather than the Debtor overall) it allows creation of multiple exports, formats and methods for each Customer.
Below is a simple example of a Customer Export EDI. The following would email this contact a PDF of the Consignment & POD immediately after one of their Consignments is delivered.
Note:
If the customer requires files to be transferred to their FTP site, their site details must first be set up underJAIX Admin > System FTP Sites.
Field | Information |
Method | Transfer method required. The selection here will decide which other options are available for selection. Methods include: Email, FTP, UNC, API. |
Data Type | Data Types refer to the different records that can be exported using JAIX EDI. |
Format Type | Report – PDF – This will run a specific Report based on Data Type and export as PDF |
API Site | Setup within JAIX Admin > System > API Sites and covered under JAIX Services STM |
API End Point | Setup within JAIX Admin > System > API End Points and covered under JAIX Services STM |
FTP Site | Setup within JAIX Admin > System > FTP Sites and covered under JAIX Services STM |
Include Attachments | This toggle will only function with Export Method – Email and includes any scanned attachment files with the sent email |
UNC Path | Enter directory address here for UNC Method. NOTE: JAIX service must have access to this location |
File Prefix | When Format Type = Data File. This prefix will be added to the start of the filename created. |
File Extension | When Format Type = Data File. This extension will be set against the file created. |
Exporting Data To Subcontractors
This configuration is available in the main Subcontractor Settings. Only one format is supported per Subcontractor. This export will trigger from any Linehaul Manifests or ADM's where this Subcontractor is the Carrier. Set the "Only Export After" time to prevent Exports from occurring too early.
For each Manifest exported – the data file will include all consignments on that manifest.
Any additionally Manifested or Allocated Consignments will generate a new export. But this will occur on an hourly time instead of live like other EDI Data Event Triggers.
Exporting Data To Depots
This configuration is available in the Depot Setup screen. For export will trigger for any Manifests where the depot is selected as the "Delivery Depot".
For each Manifest exported – the data file will include all consignments on that manifest.
Note:
Visibility of exports to both Subcontractors and Depots can be seen in each Manifest on the Status Bar with direct access to the files sent.XML Formats Matching on Parent Child Tags
EDI Import Formats with File Type = XML can match on child tags when the LineMapper Name also contains the parent tag. This can be useful to differentiate two <Address> tags to bind "Sender" and "Receiver". To bind on a Parent tag, simply enter the tag name within the Line Mapper name followed by a fullstop. Eg. {ParentTag}.{ChildTag}
<consignment> |
Update Consignment Detail Lines
EDI Imports can be used to update existing Consignment records. This will require a Type – Import EDI Format that has a minimum of one field marked to "Allow Updates". All fields that to be updated will require the Allow Updates toggle on.
The Consignment record will match an existing record using the imported Consignment Number. JAIX will match on an existing Consignment Number or Original Consignment Number. The Consignment Detail Lines will match on the Detail Line Reference field. Should the Detail Line Reference field not exist, JAIX will create a new Detail Line based on the information provided in the imported file. If a Detail Line Reference does exist, JAIX will update all fields marked to Allow Updates for that line.
Note:
Any Detail Line where Detail Reference could not be matched with the Update File Values will be removed from the ConsignmentAdvanced Grouping
If you are exporting a Docket EDI files and the WMS user picked the product from multiple license plates within the warehouse, the EDI file will split into two rows (one per License Plate). Advanced Grouping will merge those Docket Item detail lines together when all other reference fields are equal.
Any Docket EDI Export format can have Advanced Grouping turned on.
Navigate to JAIX Admin > System > EDI Format Builder
Open existing EDI Docket Export Format or create New – Use Advanced Docket Item Grouping
The Advanced Docket Item Grouping will check every Docket Item during the EDI export and compare all of the below fields. When all fields are equal, the quantity will be added together and the rows will be merged as one.
- Batch
- Product Code
- Product Description
- Serial
- Date Requirement
- GTN 8, 13, 14
- Pick/Put Unit
- SSCC
- Third Party Reference
- Handling Unit
When Advanced Docket Item Grouping is turned off, JAIX will create a new record within the EDI export file for every unique license plate and Pick/Put UOM. This means that if the products for a docket were part-picked from multiple pallets (which means unique license plates) there will be multiple lines generated within the Docket EDI export file.
Email Subject & Filename Binding
This functionality will allow JAIX users to bind fields directly from the records being exported into the File Name and Email Subject as appropriate.
Bindings must be set against an EDI Format from with JAIX Admin > System > EDI – Format Builder
Keep in mind there are a number of requirements that should be considered.
- The Format Type must be "Export"
- Any Data Type can be used
- Any File Format can be used
- The field bindings will be in relation to the Data Type selected
File Name: (Consignment Data)
Depending on the Data Type selected, the field list will populate with all relevant fields. To add these fields to the Format section, simply double-click the field. For additional fields, double-click additional fields.
Email Subject: (Docket Data)
Depending on the Data Type selected, the field list will populate with all relevant fields. To add these fields to the Format section, simply double-click the field. For additional fields, double-click additional fields.
Additional formatting strings can be added to the field bindings in order to change how the data is presented. There are four types of usable format strings.
Date Format String – Used to change how a Date is presented. This can change what information is shown, like only the day and month. Or this can be used to change the separating character, like forward slashes or hyphens. It can also be used to change the order of the date, like showing Month/Day/Year.
Eg. {Consignment.Despatch:d/MM/yy} – This would not show a leading zero on days, but would on months, and present the year as the last two digits (5/08/19)
Time Format String – Used to change how a Time value is presented.
Eg. {Consignment.TimeSlotTime:HH:mm} – This would show the time using the 24 hour method (16:20)
Number Format String – Used to change the number formatting. This includes whether commas are included, and the number of decimal places shown.
Eg. {Consignment.TimeSlotWindowHours:#0.00} – This would show the value up to 2 decimal places (3.00)
Non-Variable String – Used to add descriptive text to the output. This is simply text inserted between the field bindings in order to add context or denote a split between fields.
Eg. Sender {Sender.Name} – This would print "Sender " prior to the sender name on the Consignment (Sender Bob)