<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><p><strong>In this guide we will cover:</strong></p><p><strong>- What is the SFTP CSV imports Integration?</strong></p><p><strong>- Enabling the module </strong></p><p><strong>- Setting up SFTP CSV imports</strong></p><p><strong>- The Halo Integrator</strong></p><p><br></p><p><br></p><p><span style="font-size: 14pt;"><strong>SFTP CSV imports Integration<br></strong></span></p><p>When a Supplier updates product<span style="color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;" data-pasted="true">s</span> on a file in a FTP sever, the SFTP CSV imports Integration connects to a SFTP Server to import these changes into Halo, allowing you to effectively manage your products and keep inventory up-to-date. </p><p><br></p><p><span style="font-size: 14pt;"><strong>Enabling the module</strong></span></p><p>In Configuration > Integrations > Miscellaneous, hover over the SFTP CSV imports module, and click the plus (+) sign to enable it.</p><p><br></p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ2MDI5N2JjLWZmYjMtNDFhYi05ZDc2LTVmNWZkODI5ODQ5OCJ9.wAFP-GhkXRIHlFc7clKhGysqXw6CYBM8Tv6U9Vd-wFo" class="fr-fic fr-fil fr-dib" width="1155" style="width: 1157px; height: 236.241px;" height="236"></strong></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 1. Enabling the module </strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 14pt;"><strong>Setting up SFTP CSV imports</strong></span></p><p>Click into the module to start configuring your SFTP CSV imports. </p><p>First you will need to authenticate your connection by providing the name, host, username, and password for your connection. Next determine if you are importing Clients, Custom Tables, Items, or Sites using the "Type" dropdown, and set the path following the format "FolderNameA/FolderNameB/FileName.csv". Finally specify the field used to separate each column value in the CSV as the Delimiter. </p><p><br></p><p>The SFTP Host is the hostname of the SFTP server which holds your CSV file. Setting this informs Halo which Server to connect to in order to retrieve data from the CSV file. Setting the path tells Halo where specifically within the Server to locate the file. </p><p><br></p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE2YjA4ZGM0LTg5MTYtNDgwYi1iMDBjLTU2YmZhNTVkZjJiOSJ9.8N4gLZzJWENdvBYBIPkiWIkGShUiqSl8B3UsLzeOGDk" class="fr-fic fr-fil fr-dib" width="1149" style="width: 1151px; height: 464.16px;" height="464"></strong><br></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 2. Connecting SFTP</strong></span></p><p><br></p><p>Now head into the Settings tab. Here you can specify the CSV template to use. These templates can be created and edited by clicking the "Edit CSV Templates" button, or by heading into Configuration > Billing > Recurring Invoices > XLS Import Profile, and choosing the relevant entity.</p><p><br></p><p>When creating your template you will need to add Field Mappings to inform Halo which column headings in your file match to fields in Halo. If a field is set as a Matching Field it will be used to identify the correct record. </p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgxNWJlNjFhLTNlMzAtNGZkOS1iZWI4LTUwNGZlNDBiMjRhMSJ9.NGpNkC_FtMgnqBexyO3y4boDfeSyBdAcwb0v1ErpFZ4" class="fr-fic fr-fil fr-dib" width="1148" style="width: 1150px; height: 678.052px;" height="678"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 3. CSV Template mappings </strong></span></p><p><br></p><p>Back in the Integration setup, If you are importing Items you will also be able to set the default Item Group for unmatched Items or prevent these being imported by checking the "Only Import Matched Items" checkbox. You can also set the Supplier to use to override the price and cost of Items if no Supplier name is found in the CSV. This sets the overriding Cost, Price and/or Stock against the Item (found in the Costing & Pricing tab of an Item) to those specified in the CSV for the Supplier specified in this field. To use this you must map the relevant option from the following in your XLS Import profile: Item Supplier Cost, Item Supplier Price, and Item Supplier Stock. </p><p><br></p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjAzZDM2YjU5LTE2OTgtNDYzOC1hNDk4LWQyZDQ5NmIwM2E1MCJ9.rTwd4zvCkklv_7E_qVoIJJMTu5vLvLIGCREUsEv94ho" class="fr-fic fr-fil fr-dib" width="1146" style="width: 1148px; height: 465.594px;" height="466"></strong></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 4. CSV settings for Item imports </strong></span></p><p><br></p><p data-pasted="true"><span style="font-size: 14pt;"><strong>The Halo Integrator</strong></span></p><p>In the Imports tab you can enable the Halo Integrator. When enabled the Integrator will import CSVs on a recurring schedule.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUzZWViODIwLTkxOGEtNDNlNC05MDgyLTNiMDgyODY4ODYxMSJ9.PSnYjxapfQFl-i7zkbTrfZF2F7v7feM-EN5Fjp7sSYI" class="fr-fic fr-fil fr-dib" width="1149" style="width: 1151px; height: 462.221px;" height="462"></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 5. Enabling the Halo Integrator </strong></span></p><p><br></p><p>Enabling "Send notifications for errors with Incoming/Outgoing Email, the Halo Integrator and other backend services" in the notifications section of an Agents preferences will send an email if the integrator encounters any errors with the import.<span data-pasted="true"><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEwYTE3MjRjLWU1MzQtNGVmYy1iODFmLThhZWU5NGM2YzBkOCJ9.DyfloWjM_RJ-IUARnv2XrKf8_8iizGqj7i_F1bM9SCs" class="fr-fic fr-fil fr-dib" width="1007" style="width: 1009px; height: 656.584px;" height="657"></strong></span></p><p data-pasted="true"><span style="font-size: 10pt;" data-pasted="true"><strong>Fig 6. Integrator error notifications </strong></span></p>