<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.newhavensoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Russ+horton</id>
	<title>NewHaven Software Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.newhavensoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Russ+horton"/>
	<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php/Special:Contributions/Russ_horton"/>
	<updated>2026-04-04T02:56:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Server_Update&amp;diff=2727</id>
		<title>Server Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Server_Update&amp;diff=2727"/>
		<updated>2021-05-03T16:24:48Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for updating CMS to version 8, 9, and 10. &lt;br /&gt;
&lt;br /&gt;
=Preparing for the Installation=&lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your Server please review the list below. &lt;br /&gt;
&lt;br /&gt;
== Updating reports == &lt;br /&gt;
&lt;br /&gt;
If you are updating from CMS version 10.0.4 or older and you use custom CMS forms or crystal reports. We will need to update those reports. Please contact support@newhavensoftware.com directly so we can review this with you.&lt;br /&gt;
&lt;br /&gt;
==Backing up CMS==&lt;br /&gt;
&lt;br /&gt;
Below is information about backing up your CMS information before updating. &lt;br /&gt;
&lt;br /&gt;
===Creating backups if doing a CMS 8 or later update===&lt;br /&gt;
&lt;br /&gt;
Before updating CMS to a new version from v8 or 9, you will want to create a Database backup. To do this please review the instructions in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
==Download the CMS Installer==&lt;br /&gt;
Please visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
==Time to Update the Server==&lt;br /&gt;
Newer versions of CMS can typically be updated in roughly 10 min to 1 hour, depending on the size of your database. &lt;br /&gt;
&lt;br /&gt;
==Workstation Updates==&lt;br /&gt;
&#039;&#039;&#039;Note: If you are updating CMS 9 to CMS 10, you will be required to run a Workstation update on all of your Windows 10 CMS Workstations.&lt;br /&gt;
&lt;br /&gt;
For information on this process please click the link below. http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
==Release Notes==&lt;br /&gt;
Please take your time to review our release notes after an update. You can do so by clicking on the link below https://updates.newhavensoftware.com/release_notes.htm&lt;br /&gt;
&lt;br /&gt;
=Server Update=&lt;br /&gt;
Note: Once you have verified that you meet the above prerequisites, follow the instructions below to Update your Server. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BEFORE GOING ANY FURTHER PLEASE MAKE SURE EVERYONE IS LOGGED OUT OF CMS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate2.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Serverupdate9.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2726</id>
		<title>Sales Tax and CMS</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2726"/>
		<updated>2021-04-27T15:33:47Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction to Taxing and Nexus=&lt;br /&gt;
Traditionally how and where you collected sales tax was pretty straightforward. If you had a physical presence in a state, this established a sales tax [https://www.avalara.com/us/en/blog/2016/05/everything-you-wanted-to-know-about-nexus-but-were-afraid-to-ask-a-sales-tax-guide-for-small-businesses.html nexus], meaning your sales were taxable.  For those states, you’d enter the corresponding rates into CMS, including the county and city rates where applicable. As e-commerce rose in prominence, however, the traditional rules for physical nexus became insufficient and started to change to suit new business models. Your nexus could now also be affected by some of the following:&lt;br /&gt;
&lt;br /&gt;
*Where you are dropshipping from (including Fulfillment by Amazon - FBA)&lt;br /&gt;
*Affiliate relationships&lt;br /&gt;
*Number of days spent in a state for tradeshows/selling&lt;br /&gt;
*New economic nexus rules for sales into a state&lt;br /&gt;
&lt;br /&gt;
=Economic Nexus=&lt;br /&gt;
&lt;br /&gt;
With the 2018 [http://multichannelmerchant.com/ecommerce/wayfair-decision-bringing-clarity-uncertainty-equal-measure/ South Dakota vs Wayfair ruling], you can now also establish something called “economic nexus” merely by the amount of business you do with customers in that state. It’s important to note that this new economic nexus for tax responsibility is in addition to the aforementioned qualifications for nexus.&lt;br /&gt;
&lt;br /&gt;
In an effort to protect small sellers from undue tax reporting burdens (think eBay) South Dakota established a threshold of 200 transactions or $100,000 in sales to customers in their state to establish this economic nexus. They’ve established Oct 1, 2018 as the effective date for this economic nexus rule.&lt;br /&gt;
&lt;br /&gt;
Other states, waiting on the Wayfair decision, were poised to follow suit. Some have even set an aggressive start date of July 1, 2018 including VT, KY, and HI. So far it appears states will not be able to collect taxes retroactively for earlier dates. States with similar laws to South Dakota: AL, CT, GA, IA, IL, IN, LA, MA, ME, MS, ND, OH, PA, RI, SC, TN, WA, and WY with different effective dates and financial triggers. Avalara has an excellent resource explaining each of the state’s current position on economic nexus in [https://www.avalara.com/us/en/learn/sales-tax/South-Dakota-Wayfair.html this article].&lt;br /&gt;
&lt;br /&gt;
=Determining Your Nexus=&lt;br /&gt;
When assessing transactional volume in a given state, you&#039;ll have to look to the state to understand not only the volume but also the dates they are concerned with. For example, VT considers economic nexus established if you met their thresholds in any previous 12 month period. HI and KY, however, are only looking at the current or previous calendar year.&lt;br /&gt;
&lt;br /&gt;
Also, it’s worth pointing out that for some states all sales are being considered when establishing economic nexus. This includes non-taxable sales including tax-exempt products and customers, even if for resale. &lt;br /&gt;
&lt;br /&gt;
To help with your determination of economic nexus, we have developed a new report called the State Tax Nexus Summary report that will show you sales dollars and the number of transactions per state for a selected range of dates. This report will soon be in CMS but, in the interim, is available via our [https://updates.newhavensoftware.com/ Support Downloads] site. Note that this is not an accounting report and should only be used for the determination of Nexus due to the methods it needs to use to determine shipping charges per recipient (data that is not explicitly stored in CMS).&lt;br /&gt;
&lt;br /&gt;
Once you’ve determined that you must collect tax for a given you must then register with that state, which for most states is free but can cost up to $100. It may be helpful to use this report in conjunction with a [https://www.avalara.com/us/en/learn/nexus.html resource from Avalara which will help you understand each state&#039;s requirements].&lt;br /&gt;
&lt;br /&gt;
It seems unlikely that we will see a simplification or unification of these taxes any time soon. We’ll need to contend with each state and their unique rules, rates, and compliance reporting.&lt;br /&gt;
&lt;br /&gt;
=The Tax Challenge=&lt;br /&gt;
As you move from collecting tax for a state or two to having to collect tax for multiple states, the effort required to do this can become daunting. Trying to stay on top of changing tax rates and tax laws can be challenging enough. Even with that done, you&#039;ll then need to file your tax compliance reports to pay those taxes on a regular basis possibly monthly or quarterly. &lt;br /&gt;
&lt;br /&gt;
Like PCI, this is not something small business was looking forward to. A lot of compliance effort without a lot of ROI but it is something we&#039;ll need to contend with. The last thing you want are tax audits and having to pay back taxes, especially for orders you never collected taxes on. For many of our clients, it is time to find a better tax solution.&lt;br /&gt;
&lt;br /&gt;
=CMS Tax Compliance Module=&lt;br /&gt;
&lt;br /&gt;
We’ve all known or feared that this day would come where we’d need to collect taxes for the majority of states. To address and simplify the increasingly complex nature of taxation and reporting we looked to partner and integrate with a third-party tax solution that specialized in servicing these needs. We originally partnered with a company called Exactor (recently purchased by Intuit to be their dedicated tax solution for their applications) and then subsequently with Avalara and their well-known [https://www.avalara.com/us/en/products/sales-and-use-tax/avatax.html AvaTax solution].&lt;br /&gt;
&lt;br /&gt;
To work with these services we&#039;ve developed the *Tax Compliance Module* for CMS. This module currently works with both Exactor (now defunct) and Avalara (Avatax) allowing you to get current accurate tax rates with a single click in Order Entry (and Returns) without having to set up and maintain any tax tables in CMS.&lt;br /&gt;
&lt;br /&gt;
Perhaps more importantly, these companies also provide [https://www.avalara.com/us/en/products/sales-and-use-tax/returns.html tax filing services] for you. It may be hard to imagine the overhead for your business having to do the filings for each state yourself. Not only will you have peace of mind that the returns and payments are filed on time and are accurate, you’ll also reduce your exposure to audits. CMS has a &amp;quot;Commits&amp;quot; feature that allows you to submit all shipped invoices for a range of dates to Avalara to facilitate their sales tax filing on your behalf.&lt;br /&gt;
&lt;br /&gt;
These services also provide tools to help you manage exemption certificates/documentation for your tax-exempt clients to ensure the exemption documents are stored and appropriately considered for transactions in applicable date ranges.&lt;br /&gt;
&lt;br /&gt;
==Current limitations==&lt;br /&gt;
This beta module for CMS has a couple of known limitations that you should be aware of:&lt;br /&gt;
&lt;br /&gt;
*Multiships - CMS is somewhat unique in its handling of multiple recipients (e.g. gift orders) orders as a single order. This gets complicated from a tax perspective when considering how to distribute shipping charges (some states charge tax on shipping). This is something we’re working on a solution for.&lt;br /&gt;
*We are currently not passing COD, Insurance, or Service charges to the tax service. These are not used much so they were left out of the initial module design in the interest of getting the module to market quickly. Let us know if these are a concern for you.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2725</id>
		<title>Sales Tax and CMS</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2725"/>
		<updated>2021-04-27T15:22:25Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* South Dakota vs Wayfair */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction to Taxing and Nexus=&lt;br /&gt;
Traditionally how and where you collected sales tax was pretty straightforward. If you had a physical presence in a state, this established a sales tax [https://www.avalara.com/us/en/blog/2016/05/everything-you-wanted-to-know-about-nexus-but-were-afraid-to-ask-a-sales-tax-guide-for-small-businesses.html nexus], meaning your sales were taxable.  For those states, you’d enter the corresponding rates into CMS, including the county and city rates where applicable. As e-commerce rose in prominence, however, the traditional rules for physical nexus became insufficient and started to change to suit new business models. Your nexus could now also be affected by some of the following:&lt;br /&gt;
&lt;br /&gt;
*Where you are dropshipping from (including Fulfillment by Amazon - FBA)&lt;br /&gt;
*Affiliate relationships&lt;br /&gt;
*Number of days spent in a state for tradeshows/selling&lt;br /&gt;
*New economic nexus rules for sales into a state&lt;br /&gt;
&lt;br /&gt;
=Economic Nexus=&lt;br /&gt;
&lt;br /&gt;
With the 2018 [http://multichannelmerchant.com/ecommerce/wayfair-decision-bringing-clarity-uncertainty-equal-measure/ South Dakota vs Wayfair ruling], you can now also establish something called “economic nexus” merely by the amount of business you do with customers in that state. It’s important to note that this new economic nexus for tax responsibility is in addition to the aforementioned qualifications for nexus.&lt;br /&gt;
&lt;br /&gt;
In an effort to protect small sellers from undue tax reporting burdens (think eBay) South Dakota established a threshold of 200 transactions or $100,000 in sales to customers in their state to establish this economic nexus. They’ve established Oct 1, 2018 as the effective date for this economic nexus rule.&lt;br /&gt;
&lt;br /&gt;
Other states, waiting on the Wayfair decision, were poised to follow suit. Some have even set an aggressive start date of July 1, 2018 including VT, KY, and HI. So far it appears states will not be able to collect taxes retroactively for earlier dates. States with similar laws to South Dakota: AL, CT, GA, IA, IL, IN, LA, MA, ME, MS, ND, OH, PA, RI, SC, TN, WA, and WY with different effective dates and financial triggers. Avalara has an excellent resource explaining each of the state’s current position on economic nexus in [https://www.avalara.com/us/en/learn/sales-tax/South-Dakota-Wayfair.html this article].&lt;br /&gt;
&lt;br /&gt;
=Determining Your Nexus=&lt;br /&gt;
When assessing transactional volume in a given state, you&#039;ll have to look to the state to understand not only the volume but also the dates they are concerned with. For example, VT considers economic nexus established if you met their thresholds in any previous 12 month period. HI and KY, however, are only looking at the current or previous calendar year.&lt;br /&gt;
&lt;br /&gt;
Also, it’s worth pointing out that for some states all sales are being considered when establishing economic nexus. This includes non-taxable sales including tax-exempt products and customers, even if for resale. &lt;br /&gt;
&lt;br /&gt;
To help with your determination of economic nexus, we have developed a new report called the State Tax Nexus Summary report that will show you sales dollars and the number of transactions per state for a selected range of dates. This report will soon be in CMS but, in the interim, is available via our [https://updates.newhavensoftware.com/ Support Downloads] site. Note that this is not an accounting report and should only be used for the determination of Nexus due to the methods it needs to use to determine shipping charges per recipient (data that is not explicitly stored in CMS).&lt;br /&gt;
&lt;br /&gt;
Once you’ve determined that you must collect tax for a given you must then register with that state, which for most states is free but can cost up to $100. It may be helpful to use this report in conjunction with a [https://www.avalara.com/us/en/learn/nexus.html resource from Avalara which will help you understand each state&#039;s requirements].&lt;br /&gt;
&lt;br /&gt;
It seems unlikely that we will see a simplification or unification of these taxes any time soon. We’ll need to contend with each state and their unique rules, rates, and compliance reporting.&lt;br /&gt;
&lt;br /&gt;
=CMS Tax Compliance Module=&lt;br /&gt;
&lt;br /&gt;
We’ve all known or feared that this day would come where we’d need to collect taxes for the majority of states. To address and simplify the increasingly complex nature of taxation and reporting we looked to partner and integrate with a third party tax solution that specialized in servicing these needs. We originally partnered with a company called Exactor (recently purchased by Intuit to be their dedicated tax solution for their applications) and then subsequently with Avalara and their well known [https://www.avalara.com/us/en/products/sales-and-use-tax/avatax.html AvaTax solution].&lt;br /&gt;
&lt;br /&gt;
To work with these services we&#039;ve developed the *Tax Compliance Module* for CMS. This module currently works with both Exactor (now defunct) and Avalara (Avatax) allowing you to get current accurate tax rates with a single click in Order Entry (and Returns) without having to set up and maintain any tax tables in CMS.&lt;br /&gt;
&lt;br /&gt;
Perhaps more importantly, these companies also provide [https://www.avalara.com/us/en/products/sales-and-use-tax/returns.html tax filing services] for you. It may be hard to imagine the overhead for your business having to do the filings for each state yourself. Not only will you have peace of mind that the returns and payments are filed on time and are accurate, you’ll also reduce your exposure to audits. CMS has a &amp;quot;Commits&amp;quot; feature that allows you to submit all shipped invoices for a range of dates to Avalara to facilitate their sales tax filing on your behalf.&lt;br /&gt;
&lt;br /&gt;
These services also provide tools to help you manage exemption certificates/documentation for your tax-exempt clients to ensure the exemption documents are stored and appropriately considered for transactions in applicable date ranges.&lt;br /&gt;
&lt;br /&gt;
==Current limitations==&lt;br /&gt;
This beta module for CMS has a couple of known limitations that you should be aware of:&lt;br /&gt;
&lt;br /&gt;
*Multiships - CMS is somewhat unique in its handling of multiple recipients (e.g. gift orders) orders as a single order. This gets complicated from a tax perspective when considering how to distribute shipping charges (some states charge tax on shipping). This is something we’re working on a solution for.&lt;br /&gt;
*We are currently not passing COD, Insurance, or Service charges to the tax service. These are not used much so they were left out of the initial module design in the interest of getting the module to market quickly. Let us know if these are a concern for you.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2724</id>
		<title>Sales Tax and CMS</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Sales_Tax_and_CMS&amp;diff=2724"/>
		<updated>2021-04-27T15:20:38Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Introduction to Taxing and Nexus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction to Taxing and Nexus=&lt;br /&gt;
Traditionally how and where you collected sales tax was pretty straightforward. If you had a physical presence in a state, this established a sales tax [https://www.avalara.com/us/en/blog/2016/05/everything-you-wanted-to-know-about-nexus-but-were-afraid-to-ask-a-sales-tax-guide-for-small-businesses.html nexus], meaning your sales were taxable.  For those states, you’d enter the corresponding rates into CMS, including the county and city rates where applicable. As e-commerce rose in prominence, however, the traditional rules for physical nexus became insufficient and started to change to suit new business models. Your nexus could now also be affected by some of the following:&lt;br /&gt;
&lt;br /&gt;
*Where you are dropshipping from (including Fulfillment by Amazon - FBA)&lt;br /&gt;
*Affiliate relationships&lt;br /&gt;
*Number of days spent in a state for tradeshows/selling&lt;br /&gt;
*New economic nexus rules for sales into a state&lt;br /&gt;
&lt;br /&gt;
=South Dakota vs Wayfair=&lt;br /&gt;
&lt;br /&gt;
With the 2018 [http://multichannelmerchant.com/ecommerce/wayfair-decision-bringing-clarity-uncertainty-equal-measure/ South Dakota vs Wayfair ruling], you can now also establish something called “economic nexus” merely by the amount of business you do with customers in that state. It’s important to note that this new economic nexus for tax responsibility is in addition to the aforementioned qualifications for nexus.&lt;br /&gt;
&lt;br /&gt;
In an effort to protect small sellers from undue tax reporting burdens (think eBay) South Dakota established a threshold of 200 transactions or $100,000 in sales to customers in their state to establish this economic nexus. They’ve established Oct 1, 2018 as the effective date for this economic nexus rule.&lt;br /&gt;
&lt;br /&gt;
Other states, waiting on the Wayfair decision, were poised to follow suit. Some have even set an aggressive start date of July 1, 2018 including VT, KY, and HI. So far it appears states will not be able to collect taxes retroactively for earlier dates. States with similar laws to South Dakota: AL, CT, GA, IA, IL, IN, LA, MA, ME, MS, ND, OH, PA, RI, SC, TN, WA, and WY with different effective dates and financial triggers. Avalara has an excellent resource explaining each of the state’s current position on economic nexus in [https://www.avalara.com/us/en/learn/sales-tax/South-Dakota-Wayfair.html this article].&lt;br /&gt;
&lt;br /&gt;
=Determining Your Nexus=&lt;br /&gt;
When assessing transactional volume in a given state, you&#039;ll have to look to the state to understand not only the volume but also the dates they are concerned with. For example, VT considers economic nexus established if you met their thresholds in any previous 12 month period. HI and KY, however, are only looking at the current or previous calendar year.&lt;br /&gt;
&lt;br /&gt;
Also, it’s worth pointing out that for some states all sales are being considered when establishing economic nexus. This includes non-taxable sales including tax-exempt products and customers, even if for resale. &lt;br /&gt;
&lt;br /&gt;
To help with your determination of economic nexus, we have developed a new report called the State Tax Nexus Summary report that will show you sales dollars and the number of transactions per state for a selected range of dates. This report will soon be in CMS but, in the interim, is available via our [https://updates.newhavensoftware.com/ Support Downloads] site. Note that this is not an accounting report and should only be used for the determination of Nexus due to the methods it needs to use to determine shipping charges per recipient (data that is not explicitly stored in CMS).&lt;br /&gt;
&lt;br /&gt;
Once you’ve determined that you must collect tax for a given you must then register with that state, which for most states is free but can cost up to $100. It may be helpful to use this report in conjunction with a [https://www.avalara.com/us/en/learn/nexus.html resource from Avalara which will help you understand each state&#039;s requirements].&lt;br /&gt;
&lt;br /&gt;
It seems unlikely that we will see a simplification or unification of these taxes any time soon. We’ll need to contend with each state and their unique rules, rates, and compliance reporting.&lt;br /&gt;
&lt;br /&gt;
=CMS Tax Compliance Module=&lt;br /&gt;
&lt;br /&gt;
We’ve all known or feared that this day would come where we’d need to collect taxes for the majority of states. To address and simplify the increasingly complex nature of taxation and reporting we looked to partner and integrate with a third party tax solution that specialized in servicing these needs. We originally partnered with a company called Exactor (recently purchased by Intuit to be their dedicated tax solution for their applications) and then subsequently with Avalara and their well known [https://www.avalara.com/us/en/products/sales-and-use-tax/avatax.html AvaTax solution].&lt;br /&gt;
&lt;br /&gt;
To work with these services we&#039;ve developed the *Tax Compliance Module* for CMS. This module currently works with both Exactor (now defunct) and Avalara (Avatax) allowing you to get current accurate tax rates with a single click in Order Entry (and Returns) without having to set up and maintain any tax tables in CMS.&lt;br /&gt;
&lt;br /&gt;
Perhaps more importantly, these companies also provide [https://www.avalara.com/us/en/products/sales-and-use-tax/returns.html tax filing services] for you. It may be hard to imagine the overhead for your business having to do the filings for each state yourself. Not only will you have peace of mind that the returns and payments are filed on time and are accurate, you’ll also reduce your exposure to audits. CMS has a &amp;quot;Commits&amp;quot; feature that allows you to submit all shipped invoices for a range of dates to Avalara to facilitate their sales tax filing on your behalf.&lt;br /&gt;
&lt;br /&gt;
These services also provide tools to help you manage exemption certificates/documentation for your tax-exempt clients to ensure the exemption documents are stored and appropriately considered for transactions in applicable date ranges.&lt;br /&gt;
&lt;br /&gt;
==Current limitations==&lt;br /&gt;
This beta module for CMS has a couple of known limitations that you should be aware of:&lt;br /&gt;
&lt;br /&gt;
*Multiships - CMS is somewhat unique in its handling of multiple recipients (e.g. gift orders) orders as a single order. This gets complicated from a tax perspective when considering how to distribute shipping charges (some states charge tax on shipping). This is something we’re working on a solution for.&lt;br /&gt;
*We are currently not passing COD, Insurance, or Service charges to the tax service. These are not used much so they were left out of the initial module design in the interest of getting the module to market quickly. Let us know if these are a concern for you.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2723</id>
		<title>Workstation Install</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2723"/>
		<updated>2021-03-31T16:14:21Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for installing or updating a CMS 8, 9, or TEN Workstation.&lt;br /&gt;
&lt;br /&gt;
=Prerequisite= &lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your workstation please check that you meet the requirements for all the steps below.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Workstation System Requirements ==&lt;br /&gt;
&lt;br /&gt;
To verify that your system meets CMS system requirements please review : http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#CMS_workstations&lt;br /&gt;
&lt;br /&gt;
==Step 2: Setup a mapped drive to the CMS server==&lt;br /&gt;
Ensure that you have a drive mapped to the \NewHaven Software share on the server and that it is using the same drive letter as other workstations on the network. Workstations should be joined to the network domain.&lt;br /&gt;
&lt;br /&gt;
For Information on how to set up a mapped drive please review the video : http://youtu.be/D1IBcjWCmPs&lt;br /&gt;
&lt;br /&gt;
==Step 3: Obtain the CMS Installer==&lt;br /&gt;
&lt;br /&gt;
*Locate the last CMS update used, typically found in the \Updates subdirectory of the \NewHaven Software share (where you should now have a drive mapped to)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A (Note: The video is focused on Windows XP, however, the setup steps are the same for Windows 7/10.&lt;br /&gt;
&lt;br /&gt;
=Workstation Install/Update=&lt;br /&gt;
Note: The steps between updating or installing a CMS workstation are the same. Once you have verified that you meet the above prerequisites, follow the instructions below to Install/Update your workstation. &lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation2.png]] &lt;br /&gt;
&lt;br /&gt;
===Workstation Install Option===&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: There is no need to fill in the customer number and release code. Those are only needed for server installs.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
If you receive an error installing or you are unable to browse to the shared drive when asked for the path to CMS.exe, there is a good chance that the installer is not able to reach the mapped drive, even if it appears you mapped it correctly. To resolve this you&#039;ll need to add a registry setting as described here:&lt;br /&gt;
&lt;br /&gt;
# Click Start, type regedit in the Start Search box, and then press ENTER.&lt;br /&gt;
# Locate and then right-click the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System&lt;br /&gt;
# Point to New, and then click DWORD Value.&lt;br /&gt;
# Type EnableLinkedConnections, and then press ENTER.&lt;br /&gt;
# Right-click EnableLinkedConnections, and then click Modify.&lt;br /&gt;
# In the Value data box, type 1, and then click OK.&lt;br /&gt;
# Exit Registry Editor, and then restart the computer.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2722</id>
		<title>Workstation Install</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2722"/>
		<updated>2021-03-31T16:13:55Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for installing or updating a CMS 8, 9, or TEN Workstation.&lt;br /&gt;
&lt;br /&gt;
=Prerequisite= &lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your workstation please check that you meet the requirements for all the steps below.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Workstation System Requirements ==&lt;br /&gt;
&lt;br /&gt;
To verify that your system meets CMS system requirements please review : http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#CMS_workstations&lt;br /&gt;
&lt;br /&gt;
==Step 2: Setup a mapped drive to the CMS server==&lt;br /&gt;
Ensure that you have a drive mapped to the \NewHaven Software share on the server and that it is using the same drive letter as other workstations on the network. Workstations should be joined to the network domain.&lt;br /&gt;
&lt;br /&gt;
For Information on how to set up a mapped drive please review the video : http://youtu.be/D1IBcjWCmPs&lt;br /&gt;
&lt;br /&gt;
==Step 3: Obtain the CMS Installer==&lt;br /&gt;
&lt;br /&gt;
*Locate the last CMS update used, typically found in the \Updates subdirectory of the \NewHaven Software share (where you should now have a drive mapped to)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A (Note: The video is focused on Windows XP, however, the setup steps are the same for Windows 7/10.&lt;br /&gt;
&lt;br /&gt;
=Workstation Install/Update=&lt;br /&gt;
Note: The steps between updating or installing a CMS workstation are the same. Once you have verified that you meet the above prerequisites, follow the instructions below to Install/Update your workstation. &lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation2.png]] &lt;br /&gt;
&lt;br /&gt;
===Workstation Install Option===&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: There is no need to fill in the customer number and release code. Those are only needed for server installs.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
If you receive an error installing or you are unable to browse to the shared drive when asked for the path to CMS.exe, there is a good chance that the installer is not able to reach the mapped drive, even if it appears you mapped it correctly. To resolve this you&#039;ll need to add a registry setting as described here:&lt;br /&gt;
&lt;br /&gt;
1. Click Start, type regedit in the Start Search box, and then press ENTER.&lt;br /&gt;
2. Locate and then right-click the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System&lt;br /&gt;
3. Point to New, and then click DWORD Value.&lt;br /&gt;
4. Type EnableLinkedConnections, and then press ENTER.&lt;br /&gt;
5. Right-click EnableLinkedConnections, and then click Modify.&lt;br /&gt;
6. In the Value data box, type 1, and then click OK.&lt;br /&gt;
7. Exit Registry Editor, and then restart the computer.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Barcode_Scanners&amp;diff=2721</id>
		<title>Barcode Scanners</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Barcode_Scanners&amp;diff=2721"/>
		<updated>2021-02-17T20:16:14Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* USB HID POS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview of scanning methods==&lt;br /&gt;
&lt;br /&gt;
There are two primary modes of communication for a scanner to communicate: serial (USB) or keystrokes. If the scanner is configured/connected as a serial scanner, it transmits all of the scanned data to the software and lets the software determine what to do with the data. If the scanner is operating in a keyboard emulation (aka keyboard-wedge), the software is out of the loop for any interpretation of the scan and just processes the keystrokes as if you had typed them in.&lt;br /&gt;
&lt;br /&gt;
Keyboard emulation is great in a lot of ways because there are no drivers for Windows or settings for the software. Very little to go wrong. Its strength is also its weakness though. While operating in keyboard mode, the software does not know when you are scanning and thus cannot do anything to help. This is the reason we&#039;ve elected to use scanners in the serial mode for CMS&#039;s POS module and also the shipping manifest. With serial scans CMS can know when you are scanning and can do more for you. &lt;br /&gt;
&lt;br /&gt;
The benefits of operating in serial mode currently include:&lt;br /&gt;
&lt;br /&gt;
You can scan a barcode from anywhere on the Item screen. Say, for example, your cursor is in the qty or price field. CMS will recognize your scan as an &#039;Add new item&#039; operation and will add the item you&#039;ve scanned. (In keyboard mode you would have to make sure your cursor is always in the Product field, again, the same as if you were typing it in.)&lt;br /&gt;
&lt;br /&gt;
Other such &amp;quot;smart&amp;quot; solutions are available to us in the shipping manifest as CMS can add a package when you scan, regardless of where you are on the manifest screen. It can also automatically bring in the weight from the scale as part of the scan. In keyboard wedge mode, you would have to be sure your cursor was in the Add A Single Package field.&lt;br /&gt;
&lt;br /&gt;
With the way the serial-mode scans work in POS now, you merely scan the barcode and the cursor jumps to the qty field with a qty of 1. From there you can change the qty if it is other than 1 or, if 1 is correct, you can just move on to scanning the next product and not have to press Enter or click + to be ready for the next item. In other words, you can just scan products with no keyboard interaction unless the qty &amp;gt; 1. We saw this as a very efficient means of scanning while not making the qty field required since most items will be qty = 1.&lt;br /&gt;
&lt;br /&gt;
If you prefer, you can reprogram the scanner to use keyboard emulation instead. As stated above though, it comes at the cost of operator having to make sure they are in the Product field when scanning. In the hectic POS/Retail environment, we did not think this was acceptable. Much the same holds true for shipping stations and the use of serial scanners there.&lt;br /&gt;
&lt;br /&gt;
==Scanners==&lt;br /&gt;
As described above, scanners can work in a serial mode (serial emulation for USB) or keyboard emulation. Most any scanner can be programmed to work with either method. Changing between them is typically just a matter of scanning barcodes in the scanner&#039;s manual to program the options you want to use. Some scanners, however, will require specific cables for different communication types and, to facilitate these, most scanners&#039; cables can be replaced.&lt;br /&gt;
&lt;br /&gt;
Not sure what mode your scanner is in? Open Notepad and scan any barcode (coke can, candy bar, tracking number, etc.) and if the text shows up in Notepad, the scanner is in keyboard emulation mode. If you see nothing, chances are it is in serial emulation mode.&lt;br /&gt;
&lt;br /&gt;
Presently CMS will work with serial scanners (again this includes USB scanners operating in serial emulation mode) in the following places:&lt;br /&gt;
&lt;br /&gt;
*POS Module (all CMS versions)&lt;br /&gt;
*Manifest (all CMS versions)&lt;br /&gt;
*Products (CMS Ten+)&lt;br /&gt;
*Stock Manager (CMS Ten+)&lt;br /&gt;
&lt;br /&gt;
===USB HID POS===&lt;br /&gt;
Support for this mode of scanning was added in CMS TEN and should be your first choice where possible. It is also the only mode supported in Windows 10 currently. Despite the name, scanners running in the HID POS mode are not limited to use in point of sale (POS.) They can be used wherever CMS supports scanner input. HID POS scanners are faster to setup and use with no driver software to install. They are about as close as you&#039;ll get to plug and play.&lt;br /&gt;
&lt;br /&gt;
Not all scanners support this mode but many of the popular ones do and should only require a single programming code scan to put your scanner in this mode. Look for USB HID or HID POS in your scanners programming guide if you&#039;re using an unsupported scanner otherwise contact NewHaven Software for a programming instruction sheet for one of our supported scanners.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;SUPPORTED SCANNER MODELS:&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;[[WINDOWS 10 USERS]]&#039;&#039;&#039; - Honeywell has been unable to get USB Serial Emulation to work on Win10. If you expect to need a barcode scanner on a Win10 machine, please choose a scanner model that supports USB HID POS mode (below):&lt;br /&gt;
&lt;br /&gt;
**Honeywell 1300G (replaced the 3800G) - &#039;&#039;Supports only USB HID POS&#039;&#039;&lt;br /&gt;
**Honeywell (Metrologic) Fusion MS3780 - &#039;&#039;Supports both USB serial and USB HID POS&#039;&#039;&lt;br /&gt;
**Honeywell (HandHeld) 3800G - &#039;&#039;Supports both USB serial and USB HID POS&#039;&#039; (this model has been replaced by the 1300g above)&lt;br /&gt;
**Honeywell Voyager MS9520 (no trigger) - &#039;&#039;Supports only USB serial&#039;&#039;&lt;br /&gt;
**Honeywell (Metrologic) Voyager MS9540 (has trigger) - Works only with the MX009 USB cable only and then only known to work with USB Serial, not USB HID POS)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCANNERS THAT SHOULD ALSO WORK BUT HAVE NOT BEEN TESTED:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;CMS TEN&#039;&#039;&#039; added support for USB HID POS interface which works in lieu of USB serial emulation. Not all scanners support USB HID POS but, for those that do, its configuration should be easier and you may have more scanner models to choose from. The following &#039;&#039;&#039;Honeywell&#039;&#039;&#039; models support USB HID POS and should work with CMS (with no programming other than putting the scanner into HID POS mode), but these models have not been specifically tested by NewHaven Software:&lt;br /&gt;
**MS5145 Eclipse&lt;br /&gt;
**MS9590 VoyagerGS&lt;br /&gt;
**MS9591 VoyagerGS HD&lt;br /&gt;
**MS9521 VoyagerHD&lt;br /&gt;
**MS9524 VoyagerPDF&lt;br /&gt;
**MS9540 VoyagerCG&lt;br /&gt;
**MS9541 VoyagerHD&lt;br /&gt;
**MS9544 VoyagerPDF&lt;br /&gt;
**MS9535 VoyagerBT&lt;br /&gt;
**MS1633 FocusBT&lt;br /&gt;
**MS1690 Focus&lt;br /&gt;
**MS1691 FocusHD&lt;br /&gt;
**MS9590i VoyagerGS&lt;br /&gt;
**MS1890 Focus&lt;br /&gt;
**MS7120 Orbit&lt;br /&gt;
**MS7180 OrbitCG&lt;br /&gt;
**MS3580 QuantumT &lt;br /&gt;
While these scanners do have to be programmed to work in the USB HID POS mode (aka USB HID serial mode, &#039;&#039;&#039;not&#039;&#039;&#039; USB HID SurePOS or USB HID keyboard) there should be no driver installation necessary as there is with USB serial emulation. You&#039;ll just need to find the proper bar code to scan in the scanner&#039;s programming guide for USB HID. You can purchase a scanner and ship it to us if you&#039;d like us to add it to our supported scanner list. We can then provide documentation on proper setup and help with troubleshooting any future issues.&lt;br /&gt;
&lt;br /&gt;
===Serial Scanner Programming===&lt;br /&gt;
&lt;br /&gt;
While NewHaven Software offers support and programming instructions for a select number of scanner models (available from [http://updates.newhavensoftware.com/ Support Downloads]), chances are most any scanner can be programmed to work with CMS. If you&#039;d like NewHaven Software to certify your preferred scanner model, just have one shipped to us. In return we will provide step by step setup instructions and ongoing support for your use of that scanner model. If we get it to work, we keep the unit for future testing and support. If we cannot get it to work, we&#039;ll ship it back. Contact your account rep or technical support for more details.&lt;br /&gt;
&lt;br /&gt;
If instead, you&#039;d like to take a crack at it on your own, here are the elements we look for when programming a scanner:&lt;br /&gt;
&lt;br /&gt;
#Get the manual - If you don&#039;t have it handy, download a copy from the manufacture&#039;s website. Most are available in a .pdf format.&lt;br /&gt;
#Get the Windows driver - Here again, download from the manufacture&#039;s website if you do not have a driver disk or know the location of the driver file&lt;br /&gt;
#Reset Product Defaults - scan the code that resets the scanner back to factory defaults&lt;br /&gt;
#USB Com Port Emulation - If the scanner is connected by USB (recommended), scan the code to enable USB Com Port Emulation. When programming a scanner to operate in serial mode, Windows will immediately recognize it, assign a COM port, and prompt you to install new hardware. Be prepared for this and have the driver handy, ideally in a sub-directory of NewHaven Software on the network for easy access to all workstations (each workstation using a serial scanner will need its own driver). Drivers for supported scanners are included on CMS CD&#039;s that we ship and are available on request along with the scanner&#039;s PDF manuals used for programming the scanners.&lt;br /&gt;
#Add a Carriage Return (CR) suffix - scan the code in the programming guide that appends a carriage return after every scan&lt;br /&gt;
#Remove the Line Feed (LF) suffix - Not all scanners default to include this but if yours does, you&#039;ll want to disable it&lt;br /&gt;
#Configure CMS to work with your scanner - In CMS the setup for serial scanners is in Workstation Specific under the Serial Dev tab. There you can click test to confirm it is working properly (you will see the contents of your scan in the box next to Test.) Refer to Device Manager in Windows if you are unsure of the com port assigned to the scanner. Default baud is typically 9600.&lt;br /&gt;
&lt;br /&gt;
==Where scanners are used==&lt;br /&gt;
There are several places in CMS where scanning barcodes is supported and even encouraged. If you consider barcodes in keyboard emulation mode though, your imagination is your limit on what could be done to help automate anything you might do repeatedly in CMS that can be keyboard navigated.&lt;br /&gt;
&lt;br /&gt;
*Order Entry/POS - In CMS&#039;s optional POS module we support serial/usb scans. In other words, CMS knows that a scan in Order Entry translates to the following steps&lt;br /&gt;
#Add new product&lt;br /&gt;
#product code added&lt;br /&gt;
#Advance cursor to the Qty field (defaults to 1)&lt;br /&gt;
There the operator can enter a quantity (if other than 1) or just scan the next item. Note that with the POS module, CMS will recognize either product codes or UPC codes. UPC codes can even be typed in. UPC codes for products can be entered in the Products section.&lt;br /&gt;
&lt;br /&gt;
*Shipping - UPS Worldship and FedEx Ship Manager will work only with keyboard emulation and this works nicely with the barcoded package number CMS can print on your fulfillment forms. This also works well in CMS&#039;s Manifest screen for use with Endicia or general USPS manifesting. As of version 5.2 CMS can also support serial scanners in the manifest. Here again this means you do not have to be in the &#039;add new package&#039; field and the weight can automatically be brought in from a connected scale.&lt;br /&gt;
&lt;br /&gt;
*Products (v10) - Scan a product or UPC barcode while the Products window is open and CMS will jump to that product in the list.&lt;br /&gt;
&lt;br /&gt;
*Stock Manager (v10) - Scan a product or UPC barcode in Stock Manager and CMS will jump to that product in the list.&lt;br /&gt;
&lt;br /&gt;
==Printing Barcodes==&lt;br /&gt;
CMS can print barcoded package numbers on CMS forms and can also be done with Crystal as described in our [https://updates.newhavensoftware.com/v5release_notes.htm#crystalinv|5.0 Release Notes]&lt;br /&gt;
&lt;br /&gt;
CMS does not yet print product barcodes. In the mean time, if you&#039;d like to print barcodes we&#039;re recommending [http://www.seagullscientific.com/aspx/btw_table_of_contents.aspx Bartender]. The Professional version allows you to connect to CMS via ODBC and can print anything from our database. You may opt for Basic at the sacrifice of ODBC connectivity. Either way, this is great software that lets you design your own label formats and contents.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Product_Costs&amp;diff=2720</id>
		<title>Product Costs</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Product_Costs&amp;diff=2720"/>
		<updated>2021-01-20T15:53:53Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* PO Receiving */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Costs&amp;quot; are discussed typically in three contexts:&lt;br /&gt;
*Cost of goods sold&lt;br /&gt;
*Value of inventory on hand&lt;br /&gt;
*Cost to be used when ordering from your vendor or receiving stock&lt;br /&gt;
&lt;br /&gt;
This article will expand on each of these.&lt;br /&gt;
&lt;br /&gt;
=Costs for Purchasing and Receiving=&lt;br /&gt;
==Purchasing==&lt;br /&gt;
When adding an item to a PO, CMS will use costs in the following order based on the presence of data:&lt;br /&gt;
&lt;br /&gt;
#Vendor SKU Cost&lt;br /&gt;
#Expected Cost&lt;br /&gt;
#Last Lot Cost&lt;br /&gt;
&lt;br /&gt;
Vendor Cost: This is the Cost field found in the Vendor SKU record (click + button from the Inventory sub-tab under Price/Inventory.&lt;br /&gt;
&lt;br /&gt;
Expected Cost: CMS will use this field when no Vendor SKU is associated with a product. Its primary purpose is for Drop ship  and non-inventory items that would never have lots. This is field is updated by the closing of received PO&#039;s but is otherwise set and maintained manually. &lt;br /&gt;
&lt;br /&gt;
Last Lot Cost: This cost is associated with the cost of the last lot received. If no Vendor or Expected cost is found, CMS will use the cost from the last lot found when adding the item to a PO. This field is updated and created when a lot is received its value is set by either the expected cost (if no vendor cost exists), by Vendor Cost, or hand entered when the lot is created.&lt;br /&gt;
&lt;br /&gt;
===PO Receiving===&lt;br /&gt;
The receiving of a PO will create a lot for each item received and CMS will set the unit cost in the lot equal to the cost the PO was received at (which may differ from the cost ordered at and can include &amp;quot;landing fees&amp;quot; like shipping and tax.) The costs for all associated lots will be updated as it is common for actual costs to be set some time after the PO was received (e.g. invoice for the order arrives by mail to your accounting office days after the shipment was received.) Also worth noting is that in the PO the item cost can be padded with landing fees so the lot unit cost includes associated shipping or other charges. NOTE: As of 9.0.5, if you edit a closed PO, that cost will now update its corresponding lots and itemsord records (this only used to happen at the time you closed.)&lt;br /&gt;
&lt;br /&gt;
==Receiving (manually)==&lt;br /&gt;
Using Stock Manager to receive stock, including increasing stock with &#039;Adjust All Inventory&#039;, CMS will set the unit cost based on the most recently received lot. This is our most recent and best known landed cost. &lt;br /&gt;
&lt;br /&gt;
It will not consider Vendor or Expected cost as those two are designed to be used in conjunction with Purchasing and they do not include the landed/padded costs as Lot costs do (see paragraph above.)&lt;br /&gt;
&lt;br /&gt;
==Return Lots==&lt;br /&gt;
Return lots are those lots created when stock is received via a merchandise return (a return against an order where the checkbox for &amp;quot;Restock&#039; was checked.) If the lot that this item was originally pulled from is still active (meaning is has some quantity available) the return will simply restock that lot. If the lot is now inactive though (no quantity available) a return lot will be created using the same criteria as the old lot (cost, vendor, etc.) &lt;br /&gt;
&lt;br /&gt;
In the case where you are cancelling an unshipped order, stock will always be returned to the original lot even if inactive. A return lot would never be created in this scenario.&lt;br /&gt;
&lt;br /&gt;
=Value of Inventory on Hand=&lt;br /&gt;
This is figure is useful at the end of year or accounting period where you would need to tell your accountant the value of all of the inventory you have on hand. This value is shown in the Lot Summary and Order Processing Summary reports and is calculated but looking at the available quantity in each lot and multiplying that by the unit cost for that lot. (each lot may have a different cost). CMS does not use average costs as some other systems do and thus is a strength of CMS.&lt;br /&gt;
&lt;br /&gt;
=Cost of Goods Sold (COGS) in the database=&lt;br /&gt;
These are set in the Itemsord record at the time the item was sold. The field is t_cost which represents the total cost for the line item (qty ordered x unit cost).&lt;br /&gt;
&lt;br /&gt;
==Stocked==&lt;br /&gt;
The t_cost is equal to the sum of the lot_item records which detail what stock was pulled from which lots and at what cost. &lt;br /&gt;
&lt;br /&gt;
==Non-inv==&lt;br /&gt;
If this item was non_inventory, CMS will instead set the itemsord.t_cost using the Expected Cost field from the Product setup.&lt;br /&gt;
&lt;br /&gt;
==Dropship==&lt;br /&gt;
For dropships CMS will initially set the itemsord.t_cost to the Expected Cost value. If a dropship PO is created, that PO will use the cost as described in the section below. When the dropship PO is confirmed (received) it will update the itemord.t_cost to whatever cost was entered during confirming/receiving. This last step is provided to allow for a true cost to be set based on what invoice/confirmation you receive from the drop shipper, should it differ from the cost you ordered at.&lt;br /&gt;
&lt;br /&gt;
Note: if the items is both stocked AND dropshipped, something CMS allows but we do not support, the t_cost will = SUM(lot + expected cost). This is true both before and after the po confirm.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Product_Costs&amp;diff=2719</id>
		<title>Product Costs</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Product_Costs&amp;diff=2719"/>
		<updated>2021-01-20T15:51:50Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* PO Receiving */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Costs&amp;quot; are discussed typically in three contexts:&lt;br /&gt;
*Cost of goods sold&lt;br /&gt;
*Value of inventory on hand&lt;br /&gt;
*Cost to be used when ordering from your vendor or receiving stock&lt;br /&gt;
&lt;br /&gt;
This article will expand on each of these.&lt;br /&gt;
&lt;br /&gt;
=Costs for Purchasing and Receiving=&lt;br /&gt;
==Purchasing==&lt;br /&gt;
When adding an item to a PO, CMS will use costs in the following order based on the presence of data:&lt;br /&gt;
&lt;br /&gt;
#Vendor SKU Cost&lt;br /&gt;
#Expected Cost&lt;br /&gt;
#Last Lot Cost&lt;br /&gt;
&lt;br /&gt;
Vendor Cost: This is the Cost field found in the Vendor SKU record (click + button from the Inventory sub-tab under Price/Inventory.&lt;br /&gt;
&lt;br /&gt;
Expected Cost: CMS will use this field when no Vendor SKU is associated with a product. Its primary purpose is for Drop ship  and non-inventory items that would never have lots. This is field is updated by the closing of received PO&#039;s but is otherwise set and maintained manually. &lt;br /&gt;
&lt;br /&gt;
Last Lot Cost: This cost is associated with the cost of the last lot received. If no Vendor or Expected cost is found, CMS will use the cost from the last lot found when adding the item to a PO. This field is updated and created when a lot is received its value is set by either the expected cost (if no vendor cost exists), by Vendor Cost, or hand entered when the lot is created.&lt;br /&gt;
&lt;br /&gt;
===PO Receiving===&lt;br /&gt;
The receiving of a PO will create a lot for each item received and CMS will set the unit cost in the lot equal to the cost the PO was received at (which may differ from the cost ordered at and can include &amp;quot;landing fees&amp;quot; like shipping and tax.) When the PO is closed, the costs for all associated lots will be updated as it is common for actual costs to be set some time after the PO was received (e.g. invoice for the order arrives by mail to your accounting office some time after the shipment was received.) Also worth noting is that in the PO the item cost can be padded with landing fees so the lot unit cost includes associated shipping or other charges. NOTE: As of 9.0.5, if you edit a closed PO, that cost will now update its corresponding lots and itemsord records (this only used to happen at the time you closed.)&lt;br /&gt;
&lt;br /&gt;
==Receiving (manually)==&lt;br /&gt;
Using Stock Manager to receive stock, including increasing stock with &#039;Adjust All Inventory&#039;, CMS will set the unit cost based on the most recently received lot. This is our most recent and best known landed cost. &lt;br /&gt;
&lt;br /&gt;
It will not consider Vendor or Expected cost as those two are designed to be used in conjunction with Purchasing and they do not include the landed/padded costs as Lot costs do (see paragraph above.)&lt;br /&gt;
&lt;br /&gt;
==Return Lots==&lt;br /&gt;
Return lots are those lots created when stock is received via a merchandise return (a return against an order where the checkbox for &amp;quot;Restock&#039; was checked.) If the lot that this item was originally pulled from is still active (meaning is has some quantity available) the return will simply restock that lot. If the lot is now inactive though (no quantity available) a return lot will be created using the same criteria as the old lot (cost, vendor, etc.) &lt;br /&gt;
&lt;br /&gt;
In the case where you are cancelling an unshipped order, stock will always be returned to the original lot even if inactive. A return lot would never be created in this scenario.&lt;br /&gt;
&lt;br /&gt;
=Value of Inventory on Hand=&lt;br /&gt;
This is figure is useful at the end of year or accounting period where you would need to tell your accountant the value of all of the inventory you have on hand. This value is shown in the Lot Summary and Order Processing Summary reports and is calculated but looking at the available quantity in each lot and multiplying that by the unit cost for that lot. (each lot may have a different cost). CMS does not use average costs as some other systems do and thus is a strength of CMS.&lt;br /&gt;
&lt;br /&gt;
=Cost of Goods Sold (COGS) in the database=&lt;br /&gt;
These are set in the Itemsord record at the time the item was sold. The field is t_cost which represents the total cost for the line item (qty ordered x unit cost).&lt;br /&gt;
&lt;br /&gt;
==Stocked==&lt;br /&gt;
The t_cost is equal to the sum of the lot_item records which detail what stock was pulled from which lots and at what cost. &lt;br /&gt;
&lt;br /&gt;
==Non-inv==&lt;br /&gt;
If this item was non_inventory, CMS will instead set the itemsord.t_cost using the Expected Cost field from the Product setup.&lt;br /&gt;
&lt;br /&gt;
==Dropship==&lt;br /&gt;
For dropships CMS will initially set the itemsord.t_cost to the Expected Cost value. If a dropship PO is created, that PO will use the cost as described in the section below. When the dropship PO is confirmed (received) it will update the itemord.t_cost to whatever cost was entered during confirming/receiving. This last step is provided to allow for a true cost to be set based on what invoice/confirmation you receive from the drop shipper, should it differ from the cost you ordered at.&lt;br /&gt;
&lt;br /&gt;
Note: if the items is both stocked AND dropshipped, something CMS allows but we do not support, the t_cost will = SUM(lot + expected cost). This is true both before and after the po confirm.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=ECommerce_Integrations&amp;diff=2718</id>
		<title>ECommerce Integrations</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=ECommerce_Integrations&amp;diff=2718"/>
		<updated>2021-01-07T16:29:16Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Integration with your Website - eCMS Module (Best) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
Users of CMS most always have an eCommerce site for order taking and may in fact have multiple stores or channels. This article discusses the various options available to you in progressing levels of sophistication and efficiency gains. Here we have listed several options available to improve the efficiency of managing your orders and related data with your site(s).&lt;br /&gt;
&lt;br /&gt;
==Manual - For Starters (Good)==&lt;br /&gt;
For companies with low daily volumes of web orders, you may choose to just hand enter those orders into CMS. Chances are, however, that you have enough orders coming in via your website(s) to warrant some form of automation...&lt;br /&gt;
&lt;br /&gt;
==File Importing (Better)==&lt;br /&gt;
Usually, the first step for a smaller business wanting to get away from hand-entering orders is to import orders into CMS. CMS has options available for:&lt;br /&gt;
&lt;br /&gt;
*importing orders and catalog requests in an [http://wiki.newhavensoftware.com/index.php/CMS_XML_specification XML format] (included with CMS)&lt;br /&gt;
*order files from Amazon (optional beta module)&lt;br /&gt;
&lt;br /&gt;
In these cases, the process is simply to download a file of your orders from your site and point CMS to that file to import those orders. Contact us for additional information on our XML specification.&lt;br /&gt;
&lt;br /&gt;
==Integration with your Website - [http://wiki.newhavensoftware.com/index.php/ECMS_Module eCMS Module] (Best)==&lt;br /&gt;
Most of our clients using CMS have a significant volume of orders coming from their websites and will benefit from further automation and integration. With such integrations you&#039;ll bypass the file import method and can have CMS communicate directly with your site. These communications can include order and catalog request downloads, posting updated product information including pricing and stock availability, and uploading order status updates. We have developed a module for CMS called [http://wiki.newhavensoftware.com/index.php/ECMS_Module eCMS] to address the requirements of these more robust eCommerce integrations. No files to download or sites to log into, just click of a button or configure CMS to run these automatically on a schedule. &lt;br /&gt;
&lt;br /&gt;
You can purchase our [http://wiki.newhavensoftware.com/index.php/ECMS_Module eCMS Module] and use one of our stock Plug-ins to connect to either [http://www.commercev3.com/ CommerceV3], [http://www.magentocommerce.com/ Magento], [https://www.volusion.com/ Volusion], or Amazon (beta).&lt;br /&gt;
&lt;br /&gt;
==Order Importing with CMS==&lt;br /&gt;
Orders imported into CMS, from any source (eCMS or a file), flow into the Verify Orders section of CMS. This temporary holding section for imports is used to allow an operator to review the order for completeness and accuracy before committing stock, issue drop-ship purchase orders, and/or processing payment. For most orders this is a matter of just two clicks and thus can be very efficient (unless modifications to the order are needed.)&lt;br /&gt;
&lt;br /&gt;
The Verify Imports section is multi-user so if you have a large volume of orders you can have any number of operators verifying them simultaneously. CMS will maintain locks on orders that are currently being reviewed to prevent the same order from being opened by more than one operator. Also see the Automated Imports Module below for additional information on how to streamline high volumes of order imports.&lt;br /&gt;
&lt;br /&gt;
Orders can remain in the Verify Imports section until any problem is resolved. Alternately, the order may be saved as a proforma (quote) or placed on Hold using any one or more of predefined and user-defined hold reasons.&lt;br /&gt;
&lt;br /&gt;
CMS employs [[http://wiki.newhavensoftware.com/index.php/Address_Matching_in_CMS sophisticated logic]] to both determine if the imported order is for a customer already in your list and if the recipient is the purchaser. This helps CMS match orders to existing customers when it should and know when the order should be processed as a gift order.&lt;br /&gt;
&lt;br /&gt;
==Options for Further Efficiency Gains==&lt;br /&gt;
CMS also offers two additional modules to improve the efficiency of your import order processing:&lt;br /&gt;
&lt;br /&gt;
*[[http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]] - Setup validation checks to determine which orders should receive manual review. Those passing your checks are allowed to automatically convert to real orders and will enter your fulfillment processing.&lt;br /&gt;
&lt;br /&gt;
*[[http://wiki.newhavensoftware.com/index.php/Address_Validation_Module Address Validation Module]] - This module is used to validate the deliverability of the addresses on your orders. This is done by CMS communicating with Endicia’s web service of all USPS addresses in the United States. You can validate either manually as you enter or review orders or this can also be automated for orders as they are imported.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Magento_Integration&amp;diff=2717</id>
		<title>Magento Integration</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Magento_Integration&amp;diff=2717"/>
		<updated>2021-01-05T17:35:32Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Magento 2.x (Work in Progress) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NewHaven Software has created an optional Magento Extension to expand the core capabilities of the Magento API and improve integration with CMS. For basic Magento deployments this extension is optional but it is required for products configured to use attributes (e.g. size and color) and Magento custom fields for data like ad code.&lt;br /&gt;
&lt;br /&gt;
=Magento version requirements=&lt;br /&gt;
==Minimum==&lt;br /&gt;
*Enterprise 1.12.0.x&lt;br /&gt;
*Community 1.7.0.x&lt;br /&gt;
*Go 1.1.2.x (limited support)&lt;br /&gt;
&lt;br /&gt;
==Maximum==&lt;br /&gt;
Latest tested version is 1.9.3.6&lt;br /&gt;
&lt;br /&gt;
==Magento 2.x (unlikely to be supported in CMS)==&lt;br /&gt;
Magento 2.x is a significant departure for 1.x both for your site and the API that CMS communicates with. There is not a good transition path to get to 1.x to 2.x for either your site or our integration so research and plan accordingly before deciding to jump to 2.x. Be sure to find out what is involved to get your new site created and coordinate with us on our timeline for support for 2.x.&lt;br /&gt;
&lt;br /&gt;
Magento 1.x is end of life (EoL) as of June 2020. &lt;br /&gt;
&lt;br /&gt;
We are evaluating our integration options for 2.x but at this moment do not have a scheduled release date. Be advised, due to the complexity of the integration and how much has to be done from scratch, it is possible that 2.x support may not come. &lt;br /&gt;
&lt;br /&gt;
In the meantime, we have explored alternatives for CMS users moving to Magento 2.x in advance of our support for it. There is a company called [https://www.xtento.com/magento-2-extensions.html Xtento] that produces inexpensive Magento extensions (for both 1.x and 2.x, Community and Enterprise) that looks promising. We&#039;ve reviewed our XML requirements with them and they seem quite capable of delivering.&lt;br /&gt;
&lt;br /&gt;
Perhaps most interesting about Xtento&#039;s suite of extensions is that they allow CMS to work with Magento in a non-synchronizing mode, for better or worse. In other words, instead of synchronizing invoices and packages with Magento which allows Magento to process the payments, it instead operates more like a standard integration where the order downloads into CMS &#039;&#039;&#039;with the credit card info&#039;&#039;&#039; so that CMS can handle payment processing. This is particularly beneficial for backorder and future ship (split order) processing and simplifying the integration. To accomplish this you&#039;d need to use three of Xtento&#039;s extensions:&lt;br /&gt;
&lt;br /&gt;
*[https://www.xtento.com/magento-extensions/magento-order-export-module.html Magento Order Export Module] - Allowing orders to be imported (not downloaded) - Downloads and imports can be done manually or in conjunction with our [http://wiki.newhavensoftware.com/index.php/ECMS_Module#Generic_File_Based File Based eCMS plug-in] (sold separately). To be clear, this extension pulls new Magento orders and posts a file to an FTP site in an XML format which they can modify to meet our spec (fees from Xtento apply for this translation.)&lt;br /&gt;
*[https://www.xtento.com/magento-extensions/saved-credit-cards-ccsave-for-magento2.html Magento Saved Credit Cards Module] - Enabling Magento to pass credit card data to CMS for processing&lt;br /&gt;
*[https://www.xtento.com/magento-extensions/magento-tracking-number-import-module.html Magento Tracking Number Import Module] - Import shipped item data with tracking numbers to update status in Magento - - CMS is not currently producing output suitable for use with this module but could be done outside of CMS (by you or us.)&lt;br /&gt;
*[https://www.xtento.com/magento-extensions/magento-stock-inventory-import-module.html Magento Stock Import Module] (optional) - For uploading updated stock levels - CMS is not currently producing output suitable for use with this module but could be done outside of CMS (by you or us.)&lt;br /&gt;
&lt;br /&gt;
It is worth noting:&lt;br /&gt;
&lt;br /&gt;
*Multiships - Magento does not support single orders with multiple recipients. This is a strength of CMS and common for B2C companies shipping gift orders. Magento instead treats each recipient as a separate order (meaning the buyer gets charged separately for each order instead of one payment for all orders.) In Magento 1.x our Magento extension stitches these separate orders together so this is another important difference to be aware of between 1.x and 2.x at the moment.&lt;br /&gt;
*Product Data Uploads - With their extension only supports inventory level uploads, not any other product data.&lt;br /&gt;
*CMS would not be communicating with a web service. These are all file-based operations so would involve either manual import/exporting of files or using our eCMS module to read/write files to an FTP site. This will require some level of file management for someone to archive processed files periodically (CMS will ignore duplicate files so file archiving doesn&#039;t have to be done multiple times a day, for example.)&lt;br /&gt;
&lt;br /&gt;
=Current capabilities of the base Magento Plug-in=&lt;br /&gt;
==Order Downloads==&lt;br /&gt;
*Credit card payments are processed in Magento via Authorize.net CIM. CMS will provide Magento with shipped item data to facilitate related captures, include split and delayed shipments (back order or future ship.) These updates take place as part of the invoice creation process which takes place during order status updates. &lt;br /&gt;
**Credit card data is not available from Magento hosted solutions (Go and Enterprise) due to PCI concerns on their side. In a future version of CMS we will add support for downloading credit card data from their user-hosted solutions (Community and Professional.) This is currently scheduled to be included with our next submission of CMS for PA-DSS validation Q4 2013. &lt;br /&gt;
*Shipcode mapping from Magento codes to CMS codes&lt;br /&gt;
*Order level gift messages&lt;br /&gt;
*Supports Magento’s coupon codes (imported as ad code)&lt;br /&gt;
*Magento order-level custom field support (requires the NHS Extension, see the [https://docs.google.com/document/d/1shdEoLAXp8VlD75_HWhT-70lN4mQcFQOOp_ONTrr5vc/pub NHS Magento Setup Guide] for more info)&lt;br /&gt;
&lt;br /&gt;
==Order Status Updates==&lt;br /&gt;
*Invoice creation (facilitates Magento’s payment processing)&lt;br /&gt;
*Support for back order invoicing&lt;br /&gt;
*Global support for billing delayed items now&lt;br /&gt;
*Status updates&lt;br /&gt;
*Shipment updates with tracking numbers&lt;br /&gt;
&lt;br /&gt;
==Product Data Uploads==&lt;br /&gt;
*Support for Simple and Configurable products&lt;br /&gt;
*Creation of new products and updates to existing&lt;br /&gt;
**Product code/sku&lt;br /&gt;
**Descriptions&lt;br /&gt;
**Pricing&lt;br /&gt;
**Inventory&lt;br /&gt;
**Weight&lt;br /&gt;
**Status (enabled/disabled)&lt;br /&gt;
**Attributes (requires the NHS Extension)&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=CMS_System_Requirements&amp;diff=2716</id>
		<title>CMS System Requirements</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=CMS_System_Requirements&amp;diff=2716"/>
		<updated>2020-12-04T18:06:08Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CMS system requirements are fairly meager considering the capabilities of today&#039;s machines. As such, most anything you buy or already own may be more than adequate. You do, however, want to make sure you&#039;re meeting the following system requirements.&lt;br /&gt;
&lt;br /&gt;
=64-bit vs 32-bit=&lt;br /&gt;
This option affects both your hardware and software. Some Windows operating systems are available in either a 32-bit or 64-bit version. Either will work both with CMS and CMS&#039;s database server software - Sybase SQL Anywhere. The 64-bit version does not offer any benefits to CMS over its 32-bit counterpart for the workstations. Sybase, on the other hand, would stand to benefit from a 64-bit OS on the server, not the least of which is its support of additional RAM. If you&#039;re looking at running Windows Vista we&#039;d recommend sticking with the 32-bit editions. If you&#039;re considering Windows 7, 8.1, or 2008 Server you may opt for either the 32 or 64-bit editions. Note that Windows Server 2008 R2 and Server 2012 are only available in 64-bit.&lt;br /&gt;
&lt;br /&gt;
=Hardware=&lt;br /&gt;
==Servers==&lt;br /&gt;
This section applies to machines that are operating as pure servers or for stand-alone installations which are acting as both a server and workstation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimum Requirements&#039;&#039;&#039;&lt;br /&gt;
 For small volume companies with one or few workstations&lt;br /&gt;
* Pentium 4 - 1.8 GHz or faster CPU&lt;br /&gt;
* 8 Gigabyte RAM &lt;br /&gt;
* 500 GB Hard Drive with &#039;&#039;&#039;at least&#039;&#039;&#039; 2x your CMS database size always available in disk space&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Database Server - Additional Recommendations&#039;&#039;&#039;&lt;br /&gt;
 Server enhancements to consider as your server demands increase (higher volume, more workstation connections, larger/multiple databases)&lt;br /&gt;
#The best things you can do to improve the performance and capability of your CMS server is to maximize your RAM, purchase fast hard drives, and ensure adequate available disk space. The speed and number of processors/cores have less to do with CMS performance than does I/O (disk read/write speed) and being able to cache some or all of the database into RAM. This should be your first goal when purchasing a new server or optimizing an existing server. &lt;br /&gt;
#Solid State Drives (SSD) can be an attractive option/addition to your server. They are essentially RAM and are extremely fast.&lt;br /&gt;
#Isolate your CMS database onto its own drive so it is not sharing a drive with your operating system or other server files.&lt;br /&gt;
#Isolate CMS onto its own server so is not also being used for Exchange, file shares, etc. to achieve optimal performance (also recommended for PCI compliance)&lt;br /&gt;
#Disable Windows Themes (typically is disabled or not installed at all on server operating systems)&lt;br /&gt;
#Check your Power Options (Control Panel&amp;gt;Hardware&amp;gt;Power Options) and select High Performance (not necessary to do this and running in Balanced mode may be fine but consider this if experiencing performance issues)&lt;br /&gt;
#Fast network cards - Especially useful if you run a lot of reports from your workstations. In conjunction, evaluate the speed and age of switches (replace hubs) and network cabling.&lt;br /&gt;
#[http://en.wikipedia.org/wiki/RAID RAID] 6 or other drive arrays. Prioritize redundancy over striping if going with a different RAID configuration. Your server is at the heart of your company&#039;s operation and you need to make sure you can keep it going. Redundancy will help you sleep at night.&lt;br /&gt;
#Backups - While not a performance issue, this is an important consideration for a new server. You&#039;ll want to have an automated system in place to move the nightly CMS backup (must be turned on and configured in CMS) to other storage locations. Ideally, you&#039;d have a rolling backup routine that allows you to store backups for each night without overwriting the previous backups and then move the last backup of the week off-site (DVD, tape, or online backup location). This way even if your place of business was in a natural disaster or your server was stolen, you would reasonably be able to recover. We had, unfortunately, a customer of ours go out of business because they were unable to recover when their server was lost in a fire. Please protect yourself from the same fate.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When running directly on a Windows server (2003 and up), CMS will not be able to make web service calls until the following configuration change is made. This can impact some CMS integrations so the following setting should be made on your server. Go into Control Panel-&amp;gt;System &amp;amp; Security-&amp;gt;System-&amp;gt;advanced System Settings-&amp;gt;Performance-&amp;gt;Settings and choose the Data Execution Prevention tab. &lt;br /&gt;
&lt;br /&gt;
The default setting is Turn on DEP for all programs and services except those I select, and there is no reason to change it for CMS. However, you need to add CMS to the exception list, which will then allow CMS to communicate with web services.&lt;br /&gt;
&lt;br /&gt;
*Themes - CMS 8.0 and later requires Windows Themes be enabled if you are running CMS on your server (including Terminal Services).&lt;br /&gt;
&lt;br /&gt;
==CMS workstations==&lt;br /&gt;
Workstations are those machines that are running CMS from a server on your network. If you are running CMS on only one machine or that machine is your server, please see the Server requirements above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimum Requirements&#039;&#039;&#039;&lt;br /&gt;
* Pentium III 500 MHz or faster&lt;br /&gt;
* 2 GB RAM&lt;br /&gt;
* 20GB Hard Drive with 2GB available&lt;br /&gt;
* 10Mbps Network Card(s) or faster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CMS Workstation Recommendations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Very little processing, disk space, or hardware is required to run CMS on a workstation. Most everything takes place on the server or in memory so your workstation requirements are reasonably small. Our only recommendation, beyond the above minimums, is to upgrade your RAM to 8+ Gig to support operations on large sets of data (e.g. mail list filtering, reporting, exporting).&lt;br /&gt;
&lt;br /&gt;
==[http://en.wikipedia.org/wiki/Peripheral Peripherals]==&lt;br /&gt;
CMS will work with most any peripheral (e.g. printers) as long as the manufacture still supports it and offers drivers for your operating system. If the manufacture does not support your device and offer drivers for your operating system, NewHaven Software cannot assist you with it. It may work with CMS but, if not, you must upgrade your device to a currently supported model.&lt;br /&gt;
&lt;br /&gt;
While this may seem like we&#039;re just washing our hands of supporting older hardware, there is really more to it. CMS, like most other Windows applications, relies on Windows to operate as an intermediary with its peripherals. CMS communicates to Windows and then Windows handles the communication with the peripheral. If Windows does not have a current driver, that communication may fail or operate in unexpected ways. In other words, any problems with the peripheral are outside of our software and control.&lt;br /&gt;
&lt;br /&gt;
===[[POS Module]]===&lt;br /&gt;
The only place where CMS has more specific hardware requirements are the peripherals used with its POS Module. The Point of Sale Module only supports specific models of printers, cash drawers, credit card swipes and UPC bar code scanners.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Printers&#039;&#039;&#039; - Most any Windows compatible printer should work but the following are the 80 column thermal printers we have tested and can support:&lt;br /&gt;
**Star TSP143II&lt;br /&gt;
**Samsung SRP-350&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Barcode Scanners]]&#039;&#039;&#039; - CMS requires either USB serial emulation mode or USB HID POS. Contact Support for a programming guide suitable for your model of scanner. If you are not purchasing these models through NewHaven Software, &#039;&#039;&#039;be sure that you are supplied with a proper cable to allow USB serial emulation if USB HID POS is not supported&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cash Drawer&#039;&#039;&#039;&lt;br /&gt;
**APG 320 MultiPro&lt;br /&gt;
**MMC 225151644204 &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Credit card swipe/reader&#039;&#039;&#039; - Magtek model 21040102 (many look the same but are not, it must be this model)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Pole Display&#039;&#039;&#039; - Logic Controls PD-3000 series&lt;br /&gt;
&lt;br /&gt;
Other hardware may work with CMS but these are the only models we have tested and can support or offer configuration instructions for. The credit card reader, however, is unlikely to work unless you have the specific model we have recommended.&lt;br /&gt;
&lt;br /&gt;
===Shipping Station===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Barcode scanners&#039;&#039;&#039;====&lt;br /&gt;
CMS supports the USB HID POS, USB/serial, and keyboard wedge style scanner (albeit with reduced capability, not recommended). Read this article on [[Barcode Scanners]] for more information and a list of supported models.&lt;br /&gt;
&lt;br /&gt;
We also provide a [http://updates.newhavensoftware.com/Manifest_Function_Key_Bar_Codes.pdf sheet of barcodes] suitable for use at the shipping station. Print this and tape it to your monitor for fast and easy hands-free shipping.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Scales&#039;&#039;&#039;====&lt;br /&gt;
*CMS version 7 or earlier - CMS will work with most any scale that connects via a serial connection and can emulate a Mettler Toledo (models 8213 or PS60) or the UPS Fairbanks scale.&lt;br /&gt;
*CMS 8.0 or later - USB connections are supported for the Toledo models PS60 and PS90 (in addition to supporting serial connections for the scale models mentioned above.)&lt;br /&gt;
*[http://updates.newhavensoftware.com/v9release_notes.htm#link-1-9 CMS 9.0.5] or later - Any of the above plus the Adam brand scale - CPWplus models (e.g. CPWplus 35). These scales require a serial connection with &#039;&#039;&#039;null modem cable&#039;&#039;&#039; which is not included or can be used in conjunction with a USB-serial converter if your computer has no serial port (although a $15 serial card is cheaper and better.)&lt;br /&gt;
*CMS 10.0.14.270 adds support for the Mettler Toledo BC-30 and BC-60 models which replace the model PS60 in Mettler Toledo&#039;s lineup (both are available in CMS.)&lt;br /&gt;
&lt;br /&gt;
If you are using a scale provided by UPS or FedEx, you may need to change a setting in the scale&#039;s menu to restore it to default settings (so it is no longer using a proprietary communication protocol).&lt;br /&gt;
&lt;br /&gt;
Other scanners or scales may work with CMS but these are the ones we support and can assist you with configuration. Please contact us if you&#039;d like us to evaluate other hardware (typically requires shipping a unit to us for testing.)&lt;br /&gt;
&lt;br /&gt;
See our article on [[Shipping_Station_-_Best_Practices]] for more tips!&lt;br /&gt;
&lt;br /&gt;
=Operating Systems=&lt;br /&gt;
The following are operating systems currently supported by Microsoft and NewHaven Software for use with CMS. NewHaven Software will only support use of CMS on operating systems currently supported by Microsoft. Noting also the PCI Compliance requires that your payment application (CMS) be used on an operating system that has current security updates.&lt;br /&gt;
==Servers==&lt;br /&gt;
*Windows Server 2008 - (Note: TLS 1.2 must be enabled, it is not by default. See https://technet.microsoft.com/en-us/library/dn786418.aspx#BKMK_SchannelTR_TLS12)&lt;br /&gt;
**Server 2008 R2 Editions supported - Standard, Small Business Server, Enterprise&lt;br /&gt;
Server 2008 is end of life January 2020&lt;br /&gt;
*Windows Server 2012 (CMS v9.0.9 or later)&lt;br /&gt;
**Server 2012 R2 Editions supported - Essentials, Standard&lt;br /&gt;
NOTE: Our experience has been that the server OS has never presented an issue for CMS or Sybase (our database server software.) Newer versions of Windows Server would be expected to work equally as well for editions corresponding to those listed above.&lt;br /&gt;
&lt;br /&gt;
==Workstations or CMS Solo (i.e. single-user)==&lt;br /&gt;
*Windows 8.1 Pro (only) - Supported only in CMS 9.0.9 or later. An updated Sybase database driver is required to support Win 8.1 and workstation updates will be required.&lt;br /&gt;
*Windows 10 - CMS 10.0.5 or later (noting that some barcode scanners do not work with Windows 10 due to a manufacture&#039;s driver issue. Please see the above section on scanners for more information.&lt;br /&gt;
&lt;br /&gt;
NOTE: Microsoft ended support for Windows XP Professional on April 8, 2014 and Vista on April 11, 2017, and Windows 7 on January 14th 2020.&lt;br /&gt;
&lt;br /&gt;
=Remote Connections=&lt;br /&gt;
There are many options available to you when wanting to run CMS remotely. The core issue that must be observed is that CMS must be running on a machine that is connected locally to its database server. As long as that is true, you&#039;ll have no troubles running CMS remotely. You cannot, however, have CMS running locally on your workstation and connect to a remote server. The following are some remote access solutions and tips.&lt;br /&gt;
&lt;br /&gt;
==Remote Access Software==&lt;br /&gt;
Software like TeamViewer, LogMeIn, and GoToMyPC are inexpensive remote access tools that allow you to connect to your PC via their website, thus from any other PC. Performance is a little slower than other solutions but is low cost, flexible and easy to use.&lt;br /&gt;
&lt;br /&gt;
==[http://en.wikipedia.org/wiki/Remote_Desktop_Services Remote Desktop and Terminal Server]==&lt;br /&gt;
*Our preferred method is to use Windows&#039; built-in remote access options. Remote Desktop (RDP) allows you to connect to your work machine with CMS on it and control it remotely. To do this you must first establish a [https://en.wikipedia.org/wiki/Virtual_private_network virtual private network (VPN) connection].&lt;br /&gt;
*[http://www.emazzanti.net/the-12-advantages-of-terminal-services/ Terminal Services] or Remote Desktop Services (RDS) is also an option that will allow you to VPN into your server and create/run a remote session right on the server and without the need for a dedicated workstation. This is also a popular option but does require purchasing Windows client access licenses (CALs). Note: Running CMS 8.0 or later on terminal services will require that you enable Windows themes (usually off or not installed with Windows Server OS&#039;s). Also note that when running CMS in terminal services, all users share the same &#039;Workstation Specific&#039; settings (In CMS see Setup&amp;gt;General&amp;gt;Workstation Specific to review these settings and assess if this trade-off is acceptable.)&lt;br /&gt;
*We&#039;ve written a separate article on configuration recommendations for RDP - http://wiki.newhavensoftware.com/index.php/CMS_over_Microsoft_Remote_Desktop&lt;br /&gt;
&lt;br /&gt;
Printing can present some challenges under Terminal Services, not to CMS but in general. Here is an excellent resource to help address them - http://wiki.newhavensoftware.com/index.php/CMS_over_Microsoft_Remote_Desktop#Printing&lt;br /&gt;
&lt;br /&gt;
===Warning===&lt;br /&gt;
At this time Endicia&#039;s Dazzle software is not supported by Endicia for use on a Terminal Services server. Please take into account your use of peripherals and integrations to make sure they are supported and will work as expected under Terminal Services.&lt;br /&gt;
&lt;br /&gt;
==Cloud Computing==&lt;br /&gt;
===Licensing===&lt;br /&gt;
Only one database server can be running concurrently. Connections to that database server must come from the same domain. As stated above, CMS must be run on network local to the database server (i.e. you can remote into a vm, machine, or terminal server hosting CMS). You cannot run CMS locally and connect to a remote server.&lt;br /&gt;
&lt;br /&gt;
===Peripherals and Integrations===&lt;br /&gt;
While cloud deployment does not present any inherent challenges to CMS, there can be complications with getting a remote instance of CMS to properly interact with local hardware. While printers are commonly used and not typically a problem, communication with serial or USB devices (e.g. bar code scanners, scales, card swipes, pole displays) can be more challenging. Testing of existing/needed peripherals must be done before launching into production to ensure all users can continue to operate efficiently. We recommend you read our separate article on running CMS via RDP, including peripheral sharing, for some guidance that may be helpful - http://wiki.newhavensoftware.com/index.php/CMS_over_Microsoft_Remote_Desktop&lt;br /&gt;
&lt;br /&gt;
If you are using any other integrations with CMS, specifically if they are not done with web services, you&#039;ll also want to test those to ensure expected operation is possible.&lt;br /&gt;
&lt;br /&gt;
===PCI Compliance===&lt;br /&gt;
There are PCI implications when moving your CMS database (which stores credit card data) to the cloud. It will add risk and corresponding cost/effort to mitigate that risk in order to remain PCI compliant. Here is a document from the PCI Council for guidance - https://www.pcisecuritystandards.org/pdfs/PCI_DSS_v2_Cloud_Guidelines.pdf&lt;br /&gt;
&lt;br /&gt;
From the security experts, Coalfire Systems who validated CMS for PA-DSS, comes this [https://www.coalfire.com/Resources/White-Papers/Cloud-Security-Intelligence-Report Cloud Deployment Intelligence report] which provided valuable insight to consider before launching in the cloud.&lt;br /&gt;
&lt;br /&gt;
=Network Requirments=&lt;br /&gt;
During the Setup of CMS on your network, you need to also ensure that your network security software is set to allow the following through it: &lt;br /&gt;
*TCP/IP   2638&lt;br /&gt;
*HTTP   80&lt;br /&gt;
*HTTPS   443&lt;br /&gt;
*CMS.exe&lt;br /&gt;
=Virtual Machines=&lt;br /&gt;
NewHaven Software will support CMS running on a virtual machine as long as the operating system (OS) running in the virtual machine is also supported. However, if NHS is unable to reproduce an issue, the customer may be asked to reproduce the problem running natively on the supported OS, outside the virtual environment. NHS does not explicitly test or certify products running in a virtual environment.&lt;br /&gt;
&lt;br /&gt;
In other words, NHS can support CMS running in virtual environments but not the environments themselves. We strongly recommend that if you decide to pursue running virtual machines that you have someone with related expertise to assist with the setup and administration of these, much the same as you would network administration.&lt;br /&gt;
&lt;br /&gt;
==Recommendations==&lt;br /&gt;
CMS can run on a virtual machine/server as long as it is provided enough resources (e.g. disk space, memory, processor). We in fact run CMS here at NewHaven Software on a virtual server and have had great success with it. We have been using VMware ESXi v4.0 and have also had successful tests with Xen Server 5.6 Feature Pack 1 although have yet to run CMS in production on Xen Server. We do have several CMS clients running live on virtual servers presently as well.&lt;br /&gt;
&lt;br /&gt;
As a rule, CMS and the database server will run with no particular technical issues although performance may not be as good as running on a dedicated non-virtual server. Reinforcing what has been said above, lots of RAM and fast drives (disk I/O) are the biggest factors that impact CMS performance. Our recommendations for running CMS on a virtual server is simply to ensure that sufficient resources are allocated.&lt;br /&gt;
&lt;br /&gt;
If you think virtualization is in your future, please contact us for assistance in setting up a test environment. Before deploying into production we of course strongly recommend testing. You&#039;ll want to validate that performance is acceptable and that all connectivity, including from peripherals (if applicable), and all integrations are working and performing at acceptable levels.&lt;br /&gt;
&lt;br /&gt;
=3rd Party Software=&lt;br /&gt;
Many 3rd party software solutions can be used in conjunction with CMS but it is important to note that we do not support these software solutions. Examples of 3rd party software include Crystal Software, Microsoft Access, Mapforce, etc. The NHS technical staff is not responsible for answering any questions about features/functionality or bugs within these software programs. Please view your Software License and Support Agreement for details.&lt;br /&gt;
&lt;br /&gt;
We are, however, happy to provide assistance as a professional service. For more details, please contact your account manager.&lt;br /&gt;
&lt;br /&gt;
=FAQ&#039;s=&lt;br /&gt;
==Can I use Windows 10?==&lt;br /&gt;
We support running CMS on Windows 10 workstations under CMS versions 10.0.5 and later.&lt;br /&gt;
&lt;br /&gt;
NOTE: If you&#039;re using older peripherals (scales/printers) the manufacture may never release a Win10 compatible driver. Something to consider before replacing a machine or updating its operating system. Either research to make sure compatible drivers are available or be prepared to replace the peripherals with newer models that are compatible.&lt;br /&gt;
&lt;br /&gt;
SCANNERS: We&#039;ve learned that Honeywell is not yet able to get serial emulation working with the USB bar code scanners. If you are using a scanner on a machine you intend to upgrade to Win10 you will need to obtain a scanner that can work in USB HID POS mode. Read the [http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#POS_Module POS section of our System Requirements] page for more details.&lt;br /&gt;
&lt;br /&gt;
==Do I need a new machine to run CMS?==&lt;br /&gt;
Probably not. The operating system is far more important than your hardware. If your operating system is no longer supported by Microsoft, you may be able to update it or reinstall a supported operating system on your current machine. Please consult Microsoft for their minimum requirements for the operating system your selecting. Generally if it meets Microsoft&#039;s requirements for their operating system, it will be good enough for CMS as well. From there, you need to decide if good enough is in fact really good enough and that will be clear in the performance of Windows, CMS or other applications. Often times poor performance is a factor of limited memory and, since memory is typically quite cheap, you should consider maximizing RAM before replacing a machine (and on any new machine).&lt;br /&gt;
&lt;br /&gt;
==My operating system is currently supported, do I need a new machine?==&lt;br /&gt;
Hardware is rarely an issue with CMS and you could be running old machines and still experience reasonable performance. If you&#039;re satisfied with the speed of CMS, you&#039;re able to run a supported operating system without errors, and you have adequate disk space, you may choose to continue to run on your existing machine(s).&lt;br /&gt;
&lt;br /&gt;
If you were to do only one thing, it should be to max the amount of RAM your machine will take. RAM is cheap, too cheap to not have plenty of it.&lt;br /&gt;
&lt;br /&gt;
Secondarily, a CMS server needs a lot of disk space not just for its database but also requires additional free gigabytes of space for temp files that the database server creates and destroys through normal usage to optimize performance. You should never have less than 2x your database size in free drive space on your server (and this only considers CMS&#039;s needs, not Windows or other processes). Here too, drive space is too cheap for this to be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
There may be other compelling reasons to upgrade your machines, be it for speed, other applications or compatibility with other new technologies. New machines that are capable of running 64-bit operating systems, for example, are capable of handling more than 4 Gigabytes of RAM. While this would rarely be a CMS consideration for a workstation, if you have a database (.db file) that is larger than 2 Gig, you should seriously consider a server with more than 4G of RAM.&lt;br /&gt;
&lt;br /&gt;
As a rule, the performance you need from CMS is merely a factor of hardware. As your company grows, CMS can scale perfectly well with you but may require improved hardware to keep up with the increased server load. Evaluating CPU/memory usage and free disk space during the heat of the day will give you an indication of how well your server is handling the load and if more resources are needed.&lt;br /&gt;
&lt;br /&gt;
==Why can&#039;t I continue to use an older operating system?==&lt;br /&gt;
Even if has worked fine with CMS for years, if Microsoft no longer supports it, you really don&#039;t want to be using it. Once Microsoft stops offering security patches, as they have for Windows XP and 2003 Server, you become vulnerable to new threats (viruses, hacks, etc.) and you may find that new versions of CMS will no longer work. Such was the case with Windows 2000 as it did not contain the encryption components needed for newer versions of CMS to run properly and satisfy PCI requirements. [http://wiki.newhavensoftware.com/index.php/Windows_2000_and_CMS This link] provides more information on this subject.&lt;br /&gt;
&lt;br /&gt;
PCI requirements also dictate that your systems must be kept up to date with current security patches. In other words, you cannot be PCI compliant while running CMS on machines with unsupported operating systems.&lt;br /&gt;
&lt;br /&gt;
==Can I run CMS on my Mac?==&lt;br /&gt;
&lt;br /&gt;
CMS does not run natively on a Mac but there are solutions for running Windows applications on a Mac.&lt;br /&gt;
&lt;br /&gt;
*Microsoft’s free [http://www.techrepublic.com/article/pro-tip-remote-desktop-on-mac-what-you-need-to-know/ remote desktop solution] can run on non-Intel Macs running OS 10.5.8 or later. This is desktop sharing (connecting to a remote PC/server).&lt;br /&gt;
&lt;br /&gt;
*[http://www.parallels.com/landingpage/pd/windows-on-mac/ Parallels] is one of several solutions worth exploring if you prefer not to remote into a Windows machine. They have a 14 day free trial. &lt;br /&gt;
&lt;br /&gt;
In either case, there is no USB/HID support, meaning printers are the only supported peripherals (no scale, scanner, card reader, or pole display).&lt;br /&gt;
&lt;br /&gt;
==What about my network?==&lt;br /&gt;
Our recommendations here are pretty generic. If you&#039;re still on the old 10mbps cards you should consider upgrading. 1Gbps is pretty standard these days. CMS doesn&#039;t need a lot of bandwidth but could benefit from 100mbps over 10mbps...depending on what other network traffic you might expect. If you have hubs or old switches, that would be a good place to look at upgrading.&lt;br /&gt;
&lt;br /&gt;
==Will CMS work with wireless?==&lt;br /&gt;
Yes, although CMS must maintain a constant connection with its database and even momentary interruptions in that connection can be enough to cause errors. As such, we do not recommend running CMS over a wireless network connection. You can, however, use Remote Desktop via wireless to connect to a machine that is on your physical network and, in that scenario, you would not be subject to disconnect issues.&lt;br /&gt;
&lt;br /&gt;
==Can I run CMS remotely?==&lt;br /&gt;
Yes, but it must be done using RDP (remote desktop), terminal services or remote access software like Logmein. CMS must be running on the same network/domain as its database server. You&#039;ll need to remote into Windows first and then run CMS from that machine. You cannot have CMS installed locally and connect to a remote network/server. See the section on [http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#Remote_Connections remote connections] above.&lt;br /&gt;
&lt;br /&gt;
==Can NewHaven Software assist with purchasing or configuring my hardware/network?==&lt;br /&gt;
We can make recommendations, like we have in this article, but the actual purchase, configuration and maintenance of your hardware and network must be performed by someone at your location. This would either be done by someone on staff that is capable or a local contractor that can provide these services and expertise to you. We&#039;re happy to consult with your staff or contractors on any CMS related configurations.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2715</id>
		<title>Workstation Install</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2715"/>
		<updated>2020-11-24T20:11:16Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Workstation Install/Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for installing or updating a CMS 8, 9, or TEN Workstation.&lt;br /&gt;
&lt;br /&gt;
=Prerequisite= &lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your workstation please check that you meet the requirements for all the steps below.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Workstation System Requirements ==&lt;br /&gt;
&lt;br /&gt;
To verify that your system meets CMS system requirements please review : http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#CMS_workstations&lt;br /&gt;
&lt;br /&gt;
==Step 2: Setup a mapped drive to the CMS server==&lt;br /&gt;
Ensure that you have a drive mapped to the \NewHaven Software share on the server and that it is using the same drive letter as other workstations on the network. Workstations should be joined to the network domain.&lt;br /&gt;
&lt;br /&gt;
For Information on how to set up a mapped drive please review the video : http://youtu.be/D1IBcjWCmPs&lt;br /&gt;
&lt;br /&gt;
==Step 3: Obtain the CMS Installer==&lt;br /&gt;
&lt;br /&gt;
*Locate the last CMS update used, typically found in the \Updates subdirectory of the \NewHaven Software share (where you should now have a drive mapped to)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A (Note: The video is focused on Windows XP, however, the setup steps are the same for Windows 7/10.&lt;br /&gt;
&lt;br /&gt;
=Workstation Install/Update=&lt;br /&gt;
Note: The steps between updating or installing a CMS workstation are the same. Once you have verified that you meet the above prerequisites, follow the instructions below to Install/Update your workstation. &lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation2.png]] &lt;br /&gt;
&lt;br /&gt;
===Workstation Install Option===&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: There is no need to fill in the customer number and release code. Those are only needed for server installs.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2714</id>
		<title>Workstation Install</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2714"/>
		<updated>2020-11-24T20:10:37Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Workstation Install/Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for installing or updating a CMS 8, 9, or TEN Workstation.&lt;br /&gt;
&lt;br /&gt;
=Prerequisite= &lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your workstation please check that you meet the requirements for all the steps below.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Workstation System Requirements ==&lt;br /&gt;
&lt;br /&gt;
To verify that your system meets CMS system requirements please review : http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#CMS_workstations&lt;br /&gt;
&lt;br /&gt;
==Step 2: Setup a mapped drive to the CMS server==&lt;br /&gt;
Ensure that you have a drive mapped to the \NewHaven Software share on the server and that it is using the same drive letter as other workstations on the network. Workstations should be joined to the network domain.&lt;br /&gt;
&lt;br /&gt;
For Information on how to set up a mapped drive please review the video : http://youtu.be/D1IBcjWCmPs&lt;br /&gt;
&lt;br /&gt;
==Step 3: Obtain the CMS Installer==&lt;br /&gt;
&lt;br /&gt;
*Locate the last CMS update used, typically found in the \Updates subdirectory of the \NewHaven Software share (where you should now have a drive mapped to)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A (Note: The video is focused on Windows XP, however, the setup steps are the same for Windows 7/10.&lt;br /&gt;
&lt;br /&gt;
=Workstation Install/Update=&lt;br /&gt;
Note: The steps between updating or installing a CMS workstation are the same. Once you have verified that you meet the above prerequisites, follow the instructions below to Install/Update your workstation. &lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: There is no need to fill in the customer number and release code. Those are only needed for server installs.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2713</id>
		<title>Workstation Install</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Workstation_Install&amp;diff=2713"/>
		<updated>2020-11-24T20:09:59Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Workstation Install/Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for installing or updating a CMS 8, 9, or TEN Workstation.&lt;br /&gt;
&lt;br /&gt;
=Prerequisite= &lt;br /&gt;
&lt;br /&gt;
Before you begin installing or updating your workstation please check that you meet the requirements for all the steps below.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Workstation System Requirements ==&lt;br /&gt;
&lt;br /&gt;
To verify that your system meets CMS system requirements please review : http://wiki.newhavensoftware.com/index.php/CMS_System_Requirements#CMS_workstations&lt;br /&gt;
&lt;br /&gt;
==Step 2: Setup a mapped drive to the CMS server==&lt;br /&gt;
Ensure that you have a drive mapped to the \NewHaven Software share on the server and that it is using the same drive letter as other workstations on the network. Workstations should be joined to the network domain.&lt;br /&gt;
&lt;br /&gt;
For Information on how to set up a mapped drive please review the video : http://youtu.be/D1IBcjWCmPs&lt;br /&gt;
&lt;br /&gt;
==Step 3: Obtain the CMS Installer==&lt;br /&gt;
&lt;br /&gt;
*Locate the last CMS update used, typically found in the \Updates subdirectory of the \NewHaven Software share (where you should now have a drive mapped to)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*visit http://updates.newhavensoftware.com/&lt;br /&gt;
For information on using the update page and downloading the installer please review the video : http://youtu.be/dBbd94k7b0A (Note: The video is focused on Windows XP, however, the setup steps are the same for Windows 7/10.&lt;br /&gt;
&lt;br /&gt;
=Workstation Install/Update=&lt;br /&gt;
Note: The steps between updating or installing a CMS workstation are the same. Once you have verified that you meet the above prerequisites, follow the instructions below to Install/Update your workstation. &lt;br /&gt;
&lt;br /&gt;
To begin double click the CMS installer, then follow the screenshots shown below. &lt;br /&gt;
&lt;br /&gt;
[[image:Workstation1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation2.png]] &lt;br /&gt;
&lt;br /&gt;
==Workstation Install Option==&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation3.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: There is no need to fill in the customer number and release code. Those are only needed for server installs.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation6.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:Workstation9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you should now be able to sign into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=CMS_XML_specification&amp;diff=2712</id>
		<title>CMS XML specification</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=CMS_XML_specification&amp;diff=2712"/>
		<updated>2020-11-23T14:25:37Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Transforms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
CMS uses XML as its primary means of order importing and also is used for assorted other data imports and exports. A full specification is defined in our document CMSXML.xsd. This document is available on request from NewHaven Software with a signed non-disclosure agreement. &lt;br /&gt;
&lt;br /&gt;
For more information on order file importing and eCommerce integration capabilities please see our [http://wiki.newhavensoftware.com/index.php/ECommerce_Integrations related article].&lt;br /&gt;
&lt;br /&gt;
==The [http://www.w3schools.com/xml/xml_whatis.asp XML]==&lt;br /&gt;
XML is our file format of choice. It is extremely flexible, robust, and widely used. If you are unable to obtain your orders in our described XML format, NewHaven Software can be contracted to write a transform for you that will convert your current file format (ASCII, other XML, etc.) into our XML for importing into CMS. This can be done with a few clicks or, with our [http://wiki.newhavensoftware.com/index.php/ECommerce_Integrations eCMS module], fully automated.&lt;br /&gt;
&lt;br /&gt;
The balance of this guide provides additional information about the preparation and use of XML with CMS.&lt;br /&gt;
&lt;br /&gt;
==Transforms==&lt;br /&gt;
It is unlikely CMS will support other specifications/formats in the future. Instead, whenever we need to import from a source that cannot provide XML in our format, we would instead put that data through a transform process to convert it from their native format into CMS&#039;s expected XML format.&lt;br /&gt;
&lt;br /&gt;
Transforms like this are currently done with our eCommerce integrations: CommerveV3, Magento, and Volusion, for example. When importing a file from one of those sources, the [http://wiki.newhavensoftware.com/index.php/ECMS_Module#Generic_File_Based CMS plug-in] for that store calls a .dll to transform the file on the fly into our spec and then the file is imported. This process is transparent to the user. Something similar is possible using a .xslt transform in conjunction with our generic plug-in.&lt;br /&gt;
&lt;br /&gt;
Another solution is to use a tool called [http://www.altova.com/mapforce.html MapForce] that can be purchased (not from us) and used by our clients if they wish to write/execute their own transforms. This includes converting not only from other XML formats but also from ASCII, spreadsheets, etc.&lt;br /&gt;
&lt;br /&gt;
Your first choice, however, should be to work with the company providing your data and establish if they can do the transform on their side.&lt;br /&gt;
&lt;br /&gt;
=XML Standards=&lt;br /&gt;
There are two distinct phases of ensuring that the XML you produce will work with the merchant&#039;s system.&lt;br /&gt;
&lt;br /&gt;
#Ensure your XML is valid (covered by this section) - Your XML must be valid,  both per XML standards and meeting the requirement of our XSD specification&lt;br /&gt;
#Address the merchant&#039;s specific data requirements&lt;br /&gt;
&lt;br /&gt;
==Data Validation==&lt;br /&gt;
The CMSXML.xsd file we supply outlines the specific needs of our system including structure of the XML, required elements and the sequence they appear in, definitions of the types of data allowed in an element (length, numeric, etc.).&lt;br /&gt;
&lt;br /&gt;
Data validation should be employed on your site to ensure customers are entering data suitable for that field (e.g. numbers in a phone field.)&lt;br /&gt;
&lt;br /&gt;
==Handling Special Characters==&lt;br /&gt;
There are also generic XML standards not explicitly expressed in the XSD that should be followed. A common issue is the use of special characters as data that are reserved for XML encoding. Your system should be able to find and properly escape (encode) these characters to ensure your XML file can be properly parsed. This wiki is a good resource for the list of characters:&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Salt &amp;amp; Pepper should instead be passed as Salt &amp;lt;code&amp;gt;&amp;amp;amp;amp;&amp;lt;/code&amp;gt; Pepper.&lt;br /&gt;
&lt;br /&gt;
==Validating Your XML==&lt;br /&gt;
Before submitting your XML for testing, please validate it against our CMSXML.xsd (provided on request with NDA). If you do not have your own tool for doing so, there are [http://www.xmlvalidation.com/index.php free online tools] available that allow you to load your file and our XSD to show you where there are problems with the structure of the file.&lt;br /&gt;
&lt;br /&gt;
=Merchant Data Requirements=&lt;br /&gt;
The information listed here addresses common questions and mistakes made when preparing XML for importing orders and/or catalog requests into CMS.&lt;br /&gt;
&lt;br /&gt;
===Tech Tips===&lt;br /&gt;
*Orders imported are treated as new orders. You cannot use XML to import order history.&lt;br /&gt;
*Imported catalog requests will not update a customer&#039;s address if a customer number is being passed to match it to an existing customer.&lt;br /&gt;
*Matching&lt;br /&gt;
**CMS will attempt to match imported orders and catalog requests to existing customers based on [http://wiki.brodieware/wiki/index.php/How_CMS_matches_Customers_During_an_Import this logic] when a customer number is not passed.&lt;br /&gt;
**New customer records will be created if no match can be established.&lt;br /&gt;
*All orders must be manually verified before saved as new orders or use the optional [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module] to validate as many as can pass your chosen validation checks.&lt;br /&gt;
*Inventory for imported orders is allocated at the time of validating.&lt;br /&gt;
*CMS order numbers are assigned to imported orders at the time of saving the validated order, not when imported. CMS will retain the order number generated by your site (or source of the order) in a field called Reference Order ID which can be searched on, printed, exported with orders, or even passed through some shipping integrations to appear on shipping labels.&lt;br /&gt;
*Catalog requests do not require nor can they be manually verified. They are automatically processed.&lt;br /&gt;
*Catalog requests and orders both require unique identification numbers (ID and Reforderid respectively)&lt;br /&gt;
&lt;br /&gt;
==Intro==&lt;br /&gt;
Every effort should be made to ensure the product codes, taxing, and shipping &amp;amp; handling charges are setup to match what is in CMS (or that CMS is setup to match the site&#039;s config). CMS will expect your XML to contain all financial elements of the order including product pricing, discounts, shipping and handling, insurance, and payment. While we also encourage you to include tax in your XML, this is the only charge the CMS will override during import. In other words, your XML will dictate all of the financials of the order and CMS will not override or recalculate any of your financials with the exception of tax. Tax will be calculated as orders are imported. As such, you should plan on including all pertinent financials in your XML and configure your system to calculate tax in the same way as your client as configured CMS to calculate tax.&lt;br /&gt;
&lt;br /&gt;
==Products==&lt;br /&gt;
The most important and potentially challenging aspect of website integration is ensuring the products are identified the same way in both systems. If both are setup at the same time and have the same capabilities this may not be so difficult but often they are disparate systems that were set up independent of each other and potentially with different product options.&lt;br /&gt;
&lt;br /&gt;
In most situations the goal is to facilitate not only order downloads from the site into CMS but also product data uploads from CMS to the site which would include new products, price changes, current stock availability, etc. In other words, it&#039;s critical that both CMS and the site can identify products in the same way.&lt;br /&gt;
&lt;br /&gt;
Products are uniquely identified by CMS&#039;s product code in most integrations. Where applicable there may also be a size/color type attribute. In more advanced integrations like we have with Magento, it is also possible to use an underlying SKU_ID to match up products that do not share the same product code or structure (e.g. your site does not support size/color attributes but you use them in CMS.)&lt;br /&gt;
&lt;br /&gt;
Determining your strategy for matching products between the two systems should be your first order of business. If any changes are required, and you have a lot of products, this can be a time consuming task that you don&#039;t want to put off and risk launch delays or unexpected results.&lt;br /&gt;
&lt;br /&gt;
==Shipping Methods==&lt;br /&gt;
For the shipping methods we recommend you use the &#039;hotkeys&#039; the user has setup for each shipping method in CMS and pass it in the XML as such:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DefaultShipMethod IndexBy=&amp;quot;Code&amp;quot;&amp;gt;FG&amp;lt;/DefaultShipMethod&amp;gt; &lt;br /&gt;
&lt;br /&gt;
where FG is the hotkey they&#039;ve setup in CMS to represent FedEx Ground, for example.&lt;br /&gt;
&lt;br /&gt;
The above corresponds to the order&#039;s default shipping method and will be used for all packages on the order. &lt;br /&gt;
&lt;br /&gt;
You can additionally pass a shipping method at the recipient/package level if a recipient on the order must ship via an method other than the order default. We recommend only setting this when they differ since CMS treats this explicit setting of a recipient method as an override that cannot be automatically updated by any changes the user makes to the order&#039;s default shipping method (an edit that would otherwise cascade to alter the shipping methods on all recipients not explicitly set.)&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
At minimum an address should be passed in the &amp;lt;Customer&amp;gt; node (this is the primary address) and the &amp;lt;Recipient&amp;gt; node (this is the shipping address). The billing address is optional and will default to the address passed in the Customer node if a billing address is not passed. In CMS, AddressLine3 is the primary address line. Any additional address lines should go onto AddressLine2 and only use AddressLine2 if 3 and 2 are already used.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;Notes&amp;gt; should be used for notes to the buyer. &amp;lt;GiftMessage&amp;gt; should be used for notes to a gift recipient (when the recipient is not the buyer.)&lt;br /&gt;
&lt;br /&gt;
==Countries==&lt;br /&gt;
If you do not pass a country CMS will assume the country is the same as that defined in CMS Setup for the company&#039;s address. If you are passing the country you should use &amp;lt;CountryID&amp;gt; and use [https://en.wikipedia.org/wiki/ISO_3166-1 ISO3166-1 codes]. CMS will recognize [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 alpha-2], [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3 alpha-3], or the [https://en.wikipedia.org/wiki/ISO_3166-1_numeric numeric codes] (3 digit).&lt;br /&gt;
&lt;br /&gt;
CountryName can be used but requires an EXACT match with the [https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes ISO3166] or [https://www.ups.com/worldshiphelp/WS18/ENU/AppHelp/Codes/Country_Territory_and_Currency_Codes.htm UPS list of country names] (names, not the 2 digit code) which has a much lower chance of matching correctly, particularly if you allow free form entry of country name instead of choosing from a list.&lt;br /&gt;
&lt;br /&gt;
==Payment Methods==&lt;br /&gt;
Payment methods they must be passed in the XML using the following names: (note - XML is case sensitive)&lt;br /&gt;
&lt;br /&gt;
*American Express&lt;br /&gt;
*Check&lt;br /&gt;
*JCB&lt;br /&gt;
*MasterCard&lt;br /&gt;
*Diner&#039;s Club&lt;br /&gt;
*Money Order&lt;br /&gt;
*Discover&lt;br /&gt;
*Visa&lt;br /&gt;
*PayPal&lt;br /&gt;
*GoogleCheckout&lt;br /&gt;
&lt;br /&gt;
Any user-defined payment methods created in CMS that are to be used on the website must also have their names match identically, including letter case.&lt;br /&gt;
&lt;br /&gt;
==Encryption==&lt;br /&gt;
CMS does not currently support a method of field or file level encryption with XML. You may consider using PGP as a solution for encryption and then decrypt just before importing into CMS.&lt;br /&gt;
&lt;br /&gt;
When using our [http://wiki.newhavensoftware.com/index.php/ECMS_Module eCMS Module] to connect to your web site&#039;s web service or an FTP location, CMS can enforce the use of secure connections (TLS) for orders that contain credit card data. This method ensures that a file with unencrypted card data never resides on your machine/network. The order data goes straight into the database (never saved as a file) and is encrypted before it is written to the table.&lt;br /&gt;
&lt;br /&gt;
CMS is a PA-DSS validated application (2010 - present, v7 - 10.x) and you can rest assured that the credit card data will be managed in a PCI compliant manner once imported into CMS.&lt;br /&gt;
&lt;br /&gt;
==Credit Card Processing==&lt;br /&gt;
Our XML supports importing unapproved, approved or even captured credit cards. We strongly discourage capturing credit cards outside of CMS, however. On import, CMS can adjust the payment amount to match the new amount of the order if the order total needs to be adjusted down due to items on backorder, for example. It can also account for small variations in tax amounts (as can happen if your site cannot calc tax the same way CMS can.) &lt;br /&gt;
&lt;br /&gt;
If you&#039;ll be authorizing on your site and capturing in CMS (recommended) you&#039;ll need to use the same payment gateway and merchant account on both sides. You&#039;ll also need to pass additional data fields like a transaction_id to ensure CMS is able to capture the payment. Contact us for more details specific to your processor (Authorize.net, MPS/Vantiv, TransFirst).&lt;br /&gt;
&lt;br /&gt;
Also, make sure your expiration dates are in the proper format of YYYY-MM. Improper formatting of the expiration date is probably the most common error we see.&lt;br /&gt;
&lt;br /&gt;
==Testing==&lt;br /&gt;
===Data Provider===&lt;br /&gt;
#We can provide a sample xml file with orders that reflect a number of common product and order scenarios. You should discuss specific needs with the client to see which scenarios you should prepare for (e.g. multiple recipient orders, catalog requests, future shipping orders, credit card payments, etc.)&lt;br /&gt;
#As stated above, please ensure your XML validates against the provided XSD. CMS is tolerant of nodes and elements in the wrong sequence, which would normally raise errors when validating, but best to get those right just the same.&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
We can assist you with setting up a test database to facilitate testing of imports before they are used in production. When testing, you should both be testing for:&lt;br /&gt;
*the success of the import (no errors)&lt;br /&gt;
*ensure all required data is being received in the right places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2711</id>
		<title>Updating the CMS License Code</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2711"/>
		<updated>2020-11-20T16:17:21Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Preparing to update your CMS license */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the manual instructions for updating your CMS license code. This process used to be required when you had been provided a new license code to update your support, you have added or changed models in CMS, or you are adding workstation licenses to CMS.&lt;br /&gt;
&lt;br /&gt;
=Method 1 - Updating your license code if your workstation/seat count has not changed=&lt;br /&gt;
This license code updating now happens automatically after you&#039;ve installed the CMS Licensing Service, which is an option any time you install a CMS update. Once installed, CMS will automatically update it&#039;s license code every two weeks. &lt;br /&gt;
&lt;br /&gt;
You can also tell CMS to immediately retrieve the latest code by logging in as PCI Administrator, clicking on PCI Administration and then Licensing.&lt;br /&gt;
&lt;br /&gt;
[[image:PCIlicense.png]]&lt;br /&gt;
&lt;br /&gt;
=Method 2 - Updating your license code if your workstation/seat count has changed=&lt;br /&gt;
This article remains to describe the manual means updating your license code in cases where the CMS Licensing Service did not function, you are unable to log into CMS as PCI Administrator, or you need to change the number of seats.&lt;br /&gt;
&lt;br /&gt;
==Preparing to update your CMS license==&lt;br /&gt;
&lt;br /&gt;
# Please make sure everyone is signed out of CMS. &lt;br /&gt;
*TIP: If you can delete the CMSNET.dat file, everyone is out of CMS (and CMS will recreate this file automatically next time someone logs in.) If you are unable to delete CMSNET.dat and you&#039;re sure that everyone is out and/or you are unable to get the remaining users to exit CMS, you can force them out on the server by going to Computer Management in Windows, select Shared Folders and then Open Files. Select all files open that are in the \NewHaven Software directory and then right-click and choose Close Open File(s). This will disconnect everyone from the CMS files and allow a successful update installation or license update.&lt;br /&gt;
# Make sure you are on your CMS Server and not a workstation.&lt;br /&gt;
&lt;br /&gt;
== Updating your CMS license via Manage CMS ==&lt;br /&gt;
Note: These instructions assume you are on CMS version 7 or later. Also you will need to be on your CMS Server. &lt;br /&gt;
&lt;br /&gt;
[[image:license1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:license3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license6.png]]&lt;br /&gt;
Typically your customer number and last known code will be pre-populated for you here. If you&#039;ve obtained a new code from NewHaven Software, you can paste it in here.&lt;br /&gt;
[[image:license7.png]]&lt;br /&gt;
We recommend selecting this option to install the CMS Licensing Service to allow CMS to automatically update (bi-weekly) it&#039;s code with new purchases, license extensions, etc. &amp;lt;br&amp;gt;&lt;br /&gt;
See the top of this article for info on how to tell CMS to immediately update your code.&lt;br /&gt;
&lt;br /&gt;
[[image:license8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions your license will be updated and you can sign back into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2710</id>
		<title>Updating the CMS License Code</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2710"/>
		<updated>2020-11-20T16:17:11Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Preparing to update your CMS license */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the manual instructions for updating your CMS license code. This process used to be required when you had been provided a new license code to update your support, you have added or changed models in CMS, or you are adding workstation licenses to CMS.&lt;br /&gt;
&lt;br /&gt;
=Method 1 - Updating your license code if your workstation/seat count has not changed=&lt;br /&gt;
This license code updating now happens automatically after you&#039;ve installed the CMS Licensing Service, which is an option any time you install a CMS update. Once installed, CMS will automatically update it&#039;s license code every two weeks. &lt;br /&gt;
&lt;br /&gt;
You can also tell CMS to immediately retrieve the latest code by logging in as PCI Administrator, clicking on PCI Administration and then Licensing.&lt;br /&gt;
&lt;br /&gt;
[[image:PCIlicense.png]]&lt;br /&gt;
&lt;br /&gt;
=Method 2 - Updating your license code if your workstation/seat count has changed=&lt;br /&gt;
This article remains to describe the manual means updating your license code in cases where the CMS Licensing Service did not function, you are unable to log into CMS as PCI Administrator, or you need to change the number of seats.&lt;br /&gt;
&lt;br /&gt;
==Preparing to update your CMS license==&lt;br /&gt;
&lt;br /&gt;
# Please make sure everyone is signed out of CMS. &lt;br /&gt;
**TIP: If you can delete the CMSNET.dat file, everyone is out of CMS (and CMS will recreate this file automatically next time someone logs in.) If you are unable to delete CMSNET.dat and you&#039;re sure that everyone is out and/or you are unable to get the remaining users to exit CMS, you can force them out on the server by going to Computer Management in Windows, select Shared Folders and then Open Files. Select all files open that are in the \NewHaven Software directory and then right-click and choose Close Open File(s). This will disconnect everyone from the CMS files and allow a successful update installation or license update.&lt;br /&gt;
# Make sure you are on your CMS Server and not a workstation.&lt;br /&gt;
&lt;br /&gt;
== Updating your CMS license via Manage CMS ==&lt;br /&gt;
Note: These instructions assume you are on CMS version 7 or later. Also you will need to be on your CMS Server. &lt;br /&gt;
&lt;br /&gt;
[[image:license1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:license3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license6.png]]&lt;br /&gt;
Typically your customer number and last known code will be pre-populated for you here. If you&#039;ve obtained a new code from NewHaven Software, you can paste it in here.&lt;br /&gt;
[[image:license7.png]]&lt;br /&gt;
We recommend selecting this option to install the CMS Licensing Service to allow CMS to automatically update (bi-weekly) it&#039;s code with new purchases, license extensions, etc. &amp;lt;br&amp;gt;&lt;br /&gt;
See the top of this article for info on how to tell CMS to immediately update your code.&lt;br /&gt;
&lt;br /&gt;
[[image:license8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions your license will be updated and you can sign back into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2709</id>
		<title>Updating the CMS License Code</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2709"/>
		<updated>2020-11-20T16:11:01Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the manual instructions for updating your CMS license code. This process used to be required when you had been provided a new license code to update your support, you have added or changed models in CMS, or you are adding workstation licenses to CMS.&lt;br /&gt;
&lt;br /&gt;
=Method 1 - Updating your license code if your workstation/seat count has not changed=&lt;br /&gt;
This license code updating now happens automatically after you&#039;ve installed the CMS Licensing Service, which is an option any time you install a CMS update. Once installed, CMS will automatically update it&#039;s license code every two weeks. &lt;br /&gt;
&lt;br /&gt;
You can also tell CMS to immediately retrieve the latest code by logging in as PCI Administrator, clicking on PCI Administration and then Licensing.&lt;br /&gt;
&lt;br /&gt;
[[image:PCIlicense.png]]&lt;br /&gt;
&lt;br /&gt;
=Method 2 - Updating your license code if your workstation/seat count has changed=&lt;br /&gt;
This article remains to describe the manual means updating your license code in cases where the CMS Licensing Service did not function, you are unable to log into CMS as PCI Administrator, or you need to change the number of seats.&lt;br /&gt;
&lt;br /&gt;
==Preparing to update your CMS license==&lt;br /&gt;
&lt;br /&gt;
# Please make sure everyone is signed out of CMS. TIP: If you can delete the CMSNET.dat file, everyone is out of CMS (and CMS will recreate this file automatically next time someone logs in.)&lt;br /&gt;
# Make sure you are on your CMS Server and not a workstation.&lt;br /&gt;
&lt;br /&gt;
== Updating your CMS license via Manage CMS ==&lt;br /&gt;
Note: These instructions assume you are on CMS version 7 or later. Also you will need to be on your CMS Server. &lt;br /&gt;
&lt;br /&gt;
[[image:license1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:license3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license6.png]]&lt;br /&gt;
Typically your customer number and last known code will be pre-populated for you here. If you&#039;ve obtained a new code from NewHaven Software, you can paste it in here.&lt;br /&gt;
[[image:license7.png]]&lt;br /&gt;
We recommend selecting this option to install the CMS Licensing Service to allow CMS to automatically update (bi-weekly) it&#039;s code with new purchases, license extensions, etc. &amp;lt;br&amp;gt;&lt;br /&gt;
See the top of this article for info on how to tell CMS to immediately update your code.&lt;br /&gt;
&lt;br /&gt;
[[image:license8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions your license will be updated and you can sign back into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2708</id>
		<title>Updating the CMS License Code</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2708"/>
		<updated>2020-11-20T16:09:04Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This license code updating now happens automatically after you&#039;ve installed the CMS Licensing Service, which is an option any time you install a CMS update. Once installed, CMS will automatically update it&#039;s license code every two weeks. You can also tell CMS to immediately retrieve the latest code by logging in as PCI Administrator, clicking on PCI Administration and then Licensing.&lt;br /&gt;
&lt;br /&gt;
[[image:PCIlicense.png]]&lt;br /&gt;
&lt;br /&gt;
=Method 1 - Updating your license code if your workstation/seat count has not changed=&lt;br /&gt;
This article details the manual instructions for updating your CMS license code. This process used to be required when you had been provided a new license code to update your support, you have added or changed models in CMS, or you are adding workstation licenses to CMS.&lt;br /&gt;
&lt;br /&gt;
=Method 2 - Updating your license code if your workstation/seat count has changed=&lt;br /&gt;
This article remains to describe the manual means updating your license code in cases where the CMS Licensing Service did not function, you are unable to log into CMS as PCI Administrator, or you need to change the number of seats.&lt;br /&gt;
&lt;br /&gt;
==Preparing to update your CMS license==&lt;br /&gt;
&lt;br /&gt;
# Please make sure everyone is signed out of CMS. TIP: If you can delete the CMSNET.dat file, everyone is out of CMS (and CMS will recreate this file automatically next time someone logs in.)&lt;br /&gt;
# Make sure you are on your CMS Server and not a workstation.&lt;br /&gt;
&lt;br /&gt;
== Updating your CMS license via Manage CMS ==&lt;br /&gt;
Note: These instructions assume you are on CMS version 7 or later. Also you will need to be on your CMS Server. &lt;br /&gt;
&lt;br /&gt;
[[image:license1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:license3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license6.png]]&lt;br /&gt;
Typically your customer number and last known code will be pre-populated for you here. If you&#039;ve obtained a new code from NewHaven Software, you can paste it in here.&lt;br /&gt;
[[image:license7.png]]&lt;br /&gt;
We recommend selecting this option to install the CMS Licensing Service to allow CMS to automatically update (bi-weekly) it&#039;s code with new purchases, license extensions, etc. &amp;lt;br&amp;gt;&lt;br /&gt;
See the top of this article for info on how to tell CMS to immediately update your code.&lt;br /&gt;
&lt;br /&gt;
[[image:license8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions your license will be updated and you can sign back into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2707</id>
		<title>Updating the CMS License Code</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Updating_the_CMS_License_Code&amp;diff=2707"/>
		<updated>2020-11-20T16:07:46Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
==Method 1 - Updating your license code if your workstation/seat count has not changed==&lt;br /&gt;
This article details the manual instructions for updating your CMS license code. This process used to be required when you had been provided a new license code to update your support, you have added or changed models in CMS, or you are adding workstation licenses to CMS.&lt;br /&gt;
&lt;br /&gt;
This license code updating now happens automatically after you&#039;ve installed the CMS Licensing Service, which is an option any time you install a CMS update. Once installed, CMS will automatically update it&#039;s license code every two weeks. You can also tell CMS to immediately retrieve the latest code by logging in as PCI Administrator, clicking on PCI Administration and then Licensing.&lt;br /&gt;
&lt;br /&gt;
[[image:PCIlicense.png]]&lt;br /&gt;
&lt;br /&gt;
==Method 2 - Updating your license code if your workstation/seat count has changed==&lt;br /&gt;
This article remains to describe the manual means updating your license code in cases where the CMS Licensing Service did not function, you are unable to log into CMS as PCI Administrator, or you need to change the number of seats.&lt;br /&gt;
&lt;br /&gt;
=Preparing to update your CMS license=&lt;br /&gt;
&lt;br /&gt;
# Please make sure everyone is signed out of CMS. TIP: If you can delete the CMSNET.dat file, everyone is out of CMS (and CMS will recreate this file automatically next time someone logs in.)&lt;br /&gt;
# Make sure you are on your CMS Server and not a workstation.&lt;br /&gt;
&lt;br /&gt;
= Updating your CMS license via Manage CMS = &lt;br /&gt;
Note: These instructions assume you are on CMS version 7 or later. Also you will need to be on your CMS Server. &lt;br /&gt;
&lt;br /&gt;
[[image:license1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license2.png]] &lt;br /&gt;
&lt;br /&gt;
[[image:license3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license6.png]]&lt;br /&gt;
Typically your customer number and last known code will be pre-populated for you here. If you&#039;ve obtained a new code from NewHaven Software, you can paste it in here.&lt;br /&gt;
[[image:license7.png]]&lt;br /&gt;
We recommend selecting this option to install the CMS Licensing Service to allow CMS to automatically update (bi-weekly) it&#039;s code with new purchases, license extensions, etc. &amp;lt;br&amp;gt;&lt;br /&gt;
See the top of this article for info on how to tell CMS to immediately update your code.&lt;br /&gt;
&lt;br /&gt;
[[image:license8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:license9.png]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions your license will be updated and you can sign back into CMS.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2706</id>
		<title>Moving CMS to a New Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2706"/>
		<updated>2020-11-09T18:07:01Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Step 9 -  Restart the Sybase service on the new computer (Skip this step if running CMS Solo) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the instructions for moving your CMS installation from an old server to a new server including moving your data.&lt;br /&gt;
&lt;br /&gt;
This process is a large undertaking that will require CMS to be down during the move.  As a result please inform NewHaven Support of the day you plan to do the server migration. This is so we may either set up a appointment with you to guide you through the process, or at least ensure we have staff available to you in case you find you require assistance. &lt;br /&gt;
&lt;br /&gt;
The following instructions have 4 major themes to them: &lt;br /&gt;
&lt;br /&gt;
#	Preparing to move CMS to the new System.&lt;br /&gt;
#	Installing CMS on the new System. &lt;br /&gt;
#	Moving the old Database to the new System. &lt;br /&gt;
#	Updating the old Database to the new version of CMS&lt;br /&gt;
&lt;br /&gt;
The above list is to help outline what exactly the following instructions are attempting to accomplish and to give you an overview of the process you are about to undertake. &lt;br /&gt;
&lt;br /&gt;
=Moving CMS on to a new server=&lt;br /&gt;
== Step 1 - Prerequisites==&lt;br /&gt;
CRITICAL! ALL USERS MUST EXIT CMS PRIOR TO INSTALLING CMS SERVER ON ANOTHER COMPUTER!&lt;br /&gt;
&lt;br /&gt;
CRITICAL! YOU MUST BE LOGGED IN AS THE COMPUTER ADMINISTRATOR OR A USER THAT IS A MEMBER OF THE ADMINISTRATORS GROUP! &lt;br /&gt;
&lt;br /&gt;
==Step 2 - Make a backup image of CMS Database files==&lt;br /&gt;
We need to create a backup of your current live database to transfer to the new server. &lt;br /&gt;
To create a backup of your database please review the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Stop and Disable the Sybase service on your old system (Skip this step if running CMS Solo) ==&lt;br /&gt;
Next we will need to disable the Sybase service on your old system. This step is done to ensure there is no conflict with the database services when we do the install on the new system. &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Stop_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Disable sharing on the NewHaven Software folder == &lt;br /&gt;
This is to ensure we do not accidentally connect workstations to the old server after the migration is complete. &lt;br /&gt;
&lt;br /&gt;
For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Install CMS Server on the new computer. ==&lt;br /&gt;
&lt;br /&gt;
To do so please follow the information in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Stopping the Sybase service on the new computer (Skip this step if running CMS Solo) ==&lt;br /&gt;
We need to stop the Sybase service now to transfer in the copy of the database from the old server. &lt;br /&gt;
&lt;br /&gt;
To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Copying over your Database and log file to the new system ==&lt;br /&gt;
#Create a new folder in the NewHaven Software\Data folder. Name it CLEAN. &lt;br /&gt;
#There should be two files in the NewHaven Software\Data\ ( Your Database Name) folder; one with a .db extension and one with a .log extension. Move both of these files into the NewHaven Software\Data\Clean folder you just created. &lt;br /&gt;
#Copy the .db and .log file from the old CMS Server computer into the NewHaven Software\Data\ (Your Database Name) folder on your new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Copying over the CMSDBO.ini file and Custom Reports == &lt;br /&gt;
We now need to copy over the CMSDBO.ini file to ensure CMS is able to start, as well as any custom reports. &lt;br /&gt;
&lt;br /&gt;
# Check the NewHaven Software folder on the old server, see if there is a file present called CMSDBO.ini, if it is not there skip the next step.  &lt;br /&gt;
# If this file is present please copy and move it into the NewHaven Software folder on your new system. &lt;br /&gt;
# Also if you have any custom reports please make sure to move them to the new server as well.&lt;br /&gt;
&lt;br /&gt;
== Step 9 -  Restart the Sybase service on the new computer (Skip this step if running CMS Solo) == &lt;br /&gt;
You will now need to start the Sybase service on the new computer. To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Start_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Log into CMS == &lt;br /&gt;
Log into CMS and confirm it is working. If you get a database mismatch error message, you will need to rerun the setup and reboot the computer in order to sync up the CMS application and database. To do so please follow the instructions in http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 11 - Check your backup ==&lt;br /&gt;
&lt;br /&gt;
Check your CMS backup settings in to ensure the path that it is using to backup its files is still valid on this server. To access this please follow the information in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 12 - Sharing the NewHaven Software folder == &lt;br /&gt;
Once you confirm CMS is working on the new installation, you can share out the  NewHaven Software folder so your workstations are able to connect to it.  For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 13 - Connecting Workstations to CMS (Skip this step if running CMS Solo) == &lt;br /&gt;
If the server is on the same network as your old server. All you need to do is remap the NewHaven Software shared drive on the workstations to the new server. For information on how to do that please review the video below: &lt;br /&gt;
http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
If these workstations are on a NEW network along with the server, or you are also installing new workstations, please follow the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
NOTE: Workstations must be on the same subnet as the server for CMS to be able to detect and connect to its database server. If this is not reasonable to do, please contact us for additional configuration options.&lt;br /&gt;
&lt;br /&gt;
== Step 14 - Removing CMS from the old system == &lt;br /&gt;
Uninstall CMS Server from the old computer to ensure the potentially conflicting Sybase service is removed and that everyone is running CMS from the same directory on the new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 15 - Updating CMS to the latest version == &lt;br /&gt;
&lt;br /&gt;
At this point if you need to update CMS to the latest version, please follow the information in the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=NCOA&amp;diff=2705</id>
		<title>NCOA</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=NCOA&amp;diff=2705"/>
		<updated>2020-10-02T15:12:33Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Imports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
NCOA is the common acronym used for [http://www.peachtreedata.com/ncoa/ National Change of Address]. This service is provided by companies licensed by the United States Postal Service (USPS) to provide address hygiene services. While NCOA is most commonly used, and is a requirement, for any bulk mail discounts, it a good service for everyone to use to ensure your mail list is clean and up to date. NewHaven Software has partnered with Peachtree Data, a USPS licensee, to provide NCOA services. You&#039;ll find Peachtree Data to be fast, friendly, and reasonably priced. This article will elaborate on the benefits and details of NCOA processing.&lt;br /&gt;
&lt;br /&gt;
=Benefits=&lt;br /&gt;
NCOA processing with CMS and Peachtree Data will provide the following benefits:&lt;br /&gt;
&lt;br /&gt;
*For anyone who has moved, NCOA will provide their current address (as filed with USPS)&lt;br /&gt;
*For all addresses submitted, even those that have not moved, [http://www.melissadata.com/enews/articles/1005/8.htm CASS] processing will be performed to update the address to USPS standards including appending the +4 to your zips&lt;br /&gt;
*Rural Routes will be converted to standard addresses ([http://www.usps.com/ncsc/addressservices/addressqualityservices/lacsystem.htm LACS])&lt;br /&gt;
*Missing Suite numbers will be appended to business addresses&lt;br /&gt;
*Addresses validated as deliverable&lt;br /&gt;
*Meets USPS requirements for list updates if performed within 95 days of any discounted bulk mailing&lt;br /&gt;
&lt;br /&gt;
When you import the NCOA response file, you will have a chance to review reports indicating all of the matches and address updates Peachtree Data was able to provide. These results can be reviewed before applying the changes to your mail list. After you have reviewed and continue with the import, CMS will not only update your customer records with the new addresses but will also flag customers with flags to indicate:&lt;br /&gt;
&lt;br /&gt;
*NCOA - Your customer has moved and their address has been updated&lt;br /&gt;
*Undeliverable - USPS cannot provide a deliverable address for this person&lt;br /&gt;
*No Zip+4 - USPS could not find a +4 for this address&lt;br /&gt;
*May Have Moved - Someone moved from this address but they cannot be sure if that person matched the name you passed (previously known as NIXIE)&lt;br /&gt;
&lt;br /&gt;
The above flags can be found under the Flags &amp;amp; Financials tab in the Customers section of CMS. These flags are useful both for visual referencing as well as mail list filtering. For example, it is a common practice to reach out to your &amp;quot;May Have Moved&amp;quot; customers to verify their addresses. In a few seconds you can create a filter based on this flag, run the filter in Quick Count, and double click on each name to contact them and update their record as appropriate. You might also want to exclude customers with the Undeliverable flag from any mailing. See our article on [[Compound Mail List Filters]] for more information on creating include and exclude criteria in your mail filters.&lt;br /&gt;
&lt;br /&gt;
=Solution=&lt;br /&gt;
&#039;&#039;&#039;Please note that CMS will only work with Peachtree Data and your export to Peachtree Data must be generated from the Address Correction section of CMS.&#039;&#039;&#039; While there are other companies that provide NCOA services, CMS relies on Peachtree Data&#039;s specific file format and response codes to ensure proper data updates. NewHaven Software cannot support files processed from other NCOA service providers.&lt;br /&gt;
&lt;br /&gt;
To obtain NCOA service please contact Clint Farmer at Peachtree Data and identify yourself as a NewHaven Software customer. &#039;&#039;&#039;Make sure to request the following format: Peachtree Original Layout for CMS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Clint Farmer&amp;lt;br&amp;gt;Peachtree Data, Inc.&amp;lt;br&amp;gt;2905 Premiere Pkwy Ste 200&amp;lt;br&amp;gt;Duluth, GA 30097-5240&amp;lt;br&amp;gt;cfarmer@peachtreedata.com&amp;lt;br&amp;gt;(800) 477-3224 x4670&amp;lt;br&amp;gt;www.peachtreedata.com&lt;br /&gt;
&lt;br /&gt;
=Additional Help=&lt;br /&gt;
You can find step by step instructions for NCOA processing in [http://help.newhavensoftware.com CMS Help] and typing in NCOA under the Index tab. Please contact NewHaven Technical Support if you require further assistance.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
==Imports==&lt;br /&gt;
#Are your running CMS version 9.0.5.136 - 9.0.5.140? If so, you must update to a more current version before attempting any Peachtree import due to known problems in that span of CMS builds.&lt;br /&gt;
#Was the file sent to Peachtree generated from the Address Correction section of CMS? If not, a file must be resubmitted to Peachtree that was created from this section of CMS.&lt;br /&gt;
#Find the file called Layout Report.pdf that Peachtree includes in their response files. Scroll to the end of the document and the last field is either called Info or Notes. &#039;&#039;&#039;This field MUST be 22 bytes!&#039;&#039;&#039; If it is anything else, it needs to be pushed back to Peachtree for the proper output. (more info below)&lt;br /&gt;
#Look at the file from Peachtree that was included with the response file called Layout Report.pdf. The end of this PDF will tell you the length of each record. &lt;br /&gt;
##For CMS Versions 10.0.14.277 and below - Every record should be 587 bytes per the report. They also add two bytes (CRLF) onto each record which is not documented in the layout report so the total record length is 589. As such &#039;&#039;&#039;the entire file size should be a multiple of 589&#039;&#039;&#039;. If not, it is the wrong format and should be pushed back to Peachtree for the proper format (ask for Clint). For reference or coordination with Peachtree, this is what a properly formatted output should look like in their Layout Report - http://screencast.com/t/kuXqhoa8&lt;br /&gt;
##For CMS Versions 10.0.14.278 or later - Every record should be 588 bytes per the report. They also add two bytes (CRLF) onto each record which is not documented in the layout report so the total record length is 590. As such &#039;&#039;&#039;the entire file size should be a multiple of 590&#039;&#039;&#039;. If not, it is the wrong format and should be pushed back to Peachtree for the proper format (ask for Clint).&lt;br /&gt;
#Verify that the file sent is fixed length and not CSV&lt;br /&gt;
&lt;br /&gt;
==Exports==&lt;br /&gt;
The export file from CMS is the Peachtree 180 format, so named because it is 180 characters per record. Like the above, a proper file should be an even multiple of 180. If not, it is a CMS bug.&lt;br /&gt;
&lt;br /&gt;
It is imperative that the original file sent to Peachtree be generated from CMS&#039;s Address Correction section to ensure that each record is the right length. Also make sure the processing was done by PeachTree so we know the records are properly coded in a way that will allow CMS to match the response records properly to their customer records.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=NCOA&amp;diff=2704</id>
		<title>NCOA</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=NCOA&amp;diff=2704"/>
		<updated>2020-10-02T15:10:25Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Imports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
NCOA is the common acronym used for [http://www.peachtreedata.com/ncoa/ National Change of Address]. This service is provided by companies licensed by the United States Postal Service (USPS) to provide address hygiene services. While NCOA is most commonly used, and is a requirement, for any bulk mail discounts, it a good service for everyone to use to ensure your mail list is clean and up to date. NewHaven Software has partnered with Peachtree Data, a USPS licensee, to provide NCOA services. You&#039;ll find Peachtree Data to be fast, friendly, and reasonably priced. This article will elaborate on the benefits and details of NCOA processing.&lt;br /&gt;
&lt;br /&gt;
=Benefits=&lt;br /&gt;
NCOA processing with CMS and Peachtree Data will provide the following benefits:&lt;br /&gt;
&lt;br /&gt;
*For anyone who has moved, NCOA will provide their current address (as filed with USPS)&lt;br /&gt;
*For all addresses submitted, even those that have not moved, [http://www.melissadata.com/enews/articles/1005/8.htm CASS] processing will be performed to update the address to USPS standards including appending the +4 to your zips&lt;br /&gt;
*Rural Routes will be converted to standard addresses ([http://www.usps.com/ncsc/addressservices/addressqualityservices/lacsystem.htm LACS])&lt;br /&gt;
*Missing Suite numbers will be appended to business addresses&lt;br /&gt;
*Addresses validated as deliverable&lt;br /&gt;
*Meets USPS requirements for list updates if performed within 95 days of any discounted bulk mailing&lt;br /&gt;
&lt;br /&gt;
When you import the NCOA response file, you will have a chance to review reports indicating all of the matches and address updates Peachtree Data was able to provide. These results can be reviewed before applying the changes to your mail list. After you have reviewed and continue with the import, CMS will not only update your customer records with the new addresses but will also flag customers with flags to indicate:&lt;br /&gt;
&lt;br /&gt;
*NCOA - Your customer has moved and their address has been updated&lt;br /&gt;
*Undeliverable - USPS cannot provide a deliverable address for this person&lt;br /&gt;
*No Zip+4 - USPS could not find a +4 for this address&lt;br /&gt;
*May Have Moved - Someone moved from this address but they cannot be sure if that person matched the name you passed (previously known as NIXIE)&lt;br /&gt;
&lt;br /&gt;
The above flags can be found under the Flags &amp;amp; Financials tab in the Customers section of CMS. These flags are useful both for visual referencing as well as mail list filtering. For example, it is a common practice to reach out to your &amp;quot;May Have Moved&amp;quot; customers to verify their addresses. In a few seconds you can create a filter based on this flag, run the filter in Quick Count, and double click on each name to contact them and update their record as appropriate. You might also want to exclude customers with the Undeliverable flag from any mailing. See our article on [[Compound Mail List Filters]] for more information on creating include and exclude criteria in your mail filters.&lt;br /&gt;
&lt;br /&gt;
=Solution=&lt;br /&gt;
&#039;&#039;&#039;Please note that CMS will only work with Peachtree Data and your export to Peachtree Data must be generated from the Address Correction section of CMS.&#039;&#039;&#039; While there are other companies that provide NCOA services, CMS relies on Peachtree Data&#039;s specific file format and response codes to ensure proper data updates. NewHaven Software cannot support files processed from other NCOA service providers.&lt;br /&gt;
&lt;br /&gt;
To obtain NCOA service please contact Clint Farmer at Peachtree Data and identify yourself as a NewHaven Software customer. &#039;&#039;&#039;Make sure to request the following format: Peachtree Original Layout for CMS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Clint Farmer&amp;lt;br&amp;gt;Peachtree Data, Inc.&amp;lt;br&amp;gt;2905 Premiere Pkwy Ste 200&amp;lt;br&amp;gt;Duluth, GA 30097-5240&amp;lt;br&amp;gt;cfarmer@peachtreedata.com&amp;lt;br&amp;gt;(800) 477-3224 x4670&amp;lt;br&amp;gt;www.peachtreedata.com&lt;br /&gt;
&lt;br /&gt;
=Additional Help=&lt;br /&gt;
You can find step by step instructions for NCOA processing in [http://help.newhavensoftware.com CMS Help] and typing in NCOA under the Index tab. Please contact NewHaven Technical Support if you require further assistance.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
==Imports==&lt;br /&gt;
#Are your running CMS version 9.0.5.136 - 9.0.5.140? If so, you must update to a more current version before attempting any Peachtree import due to known problems in that span of CMS builds.&lt;br /&gt;
#Was the file sent to Peachtree generated from the Address Correction section of CMS? If not, a file must be resubmitted to Peachtree that was created from this section of CMS.&lt;br /&gt;
#Find the file called Layout Report.pdf that Peachtree includes in their response files. Scroll to the end of the document and the last field is either called Info or Notes. &#039;&#039;&#039;This field MUST be 22 bytes!&#039;&#039;&#039; If it is anything else, it needs to be pushed back to Peachtree for the proper output. (more info below)&lt;br /&gt;
#Look at the file from Peachtree that was included with the response file called Layout Report.pdf. The end of this PDF will tell you the length of each record. &lt;br /&gt;
For CMS Versions 10.0.14.279 and below - Every record should be 587 bytes per the report. They also add two bytes (CRLF) onto each record which is not documented in the layout report so the total record length is 589. As such &#039;&#039;&#039;the entire file size should be a multiple of 589&#039;&#039;&#039;. If not, it is the wrong format and should be pushed back to Peachtree for the proper format (ask for Clint). For reference or coordination with Peachtree, this is what a properly formatted output should look like in their Layout Report - http://screencast.com/t/kuXqhoa8&lt;br /&gt;
#Verify that the file sent is fixed length, and not CSV&lt;br /&gt;
&lt;br /&gt;
==Exports==&lt;br /&gt;
The export file from CMS is the Peachtree 180 format, so named because it is 180 characters per record. Like the above, a proper file should be an even multiple of 180. If not, it is a CMS bug.&lt;br /&gt;
&lt;br /&gt;
It is imperative that the original file sent to Peachtree be generated from CMS&#039;s Address Correction section to ensure that each record is the right length. Also make sure the processing was done by PeachTree so we know the records are properly coded in a way that will allow CMS to match the response records properly to their customer records.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Custom_SQL_Filters&amp;diff=2703</id>
		<title>Custom SQL Filters</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Custom_SQL_Filters&amp;diff=2703"/>
		<updated>2020-09-08T16:00:05Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Mail List Filters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to the standard invoice and mail list filter criteria provided in CMS, you also have the option to write your own SQL. This is useful for when you&#039;d want to create a filter that is beyond the standard options available through the CMS interface.&lt;br /&gt;
&lt;br /&gt;
It is important to note that when you select the &#039;Write Own SQL&#039; checkbox, it supersedes all other criteria and becomes the only enabled option on the filter screen. You cannot combine it with other filter criteria. You can, however, customize a mail filter created in CMS.&lt;br /&gt;
&lt;br /&gt;
In the Mail List Filter section you have the option of creating a filter using the checkboxes to get as close as you can to your desired filter. Once saved you would then click on View SQL to see the resulting SQL CMS has created based on the options selected. You cannot edit that SQL there but you can copy it and create a new filter with &#039;Write Own SQL&#039; and paste/edit it there.&lt;br /&gt;
&lt;br /&gt;
This can be very handy and is rather easy to do as, often times, the only modification desired is a change in Boolean values. For example, if you create a filter based on two customer description codes (CDC&#039;s) the default Boolean is &#039;OR&#039;. In other words, customers will qualify for this filter if they have one code OR the other. If you only wanted customers who had both codes, you would create a custom filter, paste in the SQL from the original filter and change the OR to an AND.&lt;br /&gt;
&lt;br /&gt;
Syntax is very important in these filters so if you are writing one from scratch, please pay attention to these examples for guidance on what your Selects should look like (namely the use of DISTINCT and which tables are being referenced):&lt;br /&gt;
&lt;br /&gt;
=Mail List Filters=&lt;br /&gt;
==Requirements==&lt;br /&gt;
Every mail list filter must include (start with) at least the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mail list filter examples==&lt;br /&gt;
NOTE: When writing your own SQL keep in mind if you are going to be using these statements in [[Compound Mail List Filters]], you will need to return C.ID, not C.* This makes these individual filters suitable for use only as components for Compound filters. They can no longer be used on their own. Our recommendation is to label them as compound filter components. Like COMP_Products_By_Date and COMP_Not_Select_Products. Doing this you will know not to use them by themselves. To use the filters by themselves and to combine different filters together, you have to use joins and not compound filters.&lt;br /&gt;
&lt;br /&gt;
===Products Purchased===&lt;br /&gt;
Target customers based on products fulfilled within a date range (3 examples) and thus excludes unfulfilled back orders and future ships.  Date range is based off of the fulfill date. These filters also exclude fully returned/canceled items.&lt;br /&gt;
&lt;br /&gt;
*In a Date Range&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT between &#039;2017-01-31&#039; and &#039;2017-03-31&#039;&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Greater than a specified date&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT &amp;gt; &#039;2017-01-31&#039;&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Ordered in the last 30 days&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT &amp;gt; (TODAY(*) - 30)&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Sold by a specific salesperson, only shipped and not returned (no date range)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C INNER JOIN orderhdr o ON c.id = o.cust_num&lt;br /&gt;
INNER JOIN itemsord i ON o.order_id = i.order_id&lt;br /&gt;
WHERE o.proforma &amp;lt;&amp;gt; 1&lt;br /&gt;
AND o.tempsave &amp;lt;&amp;gt; 1&lt;br /&gt;
AND i.status &amp;gt; 5&lt;br /&gt;
AND i.order_qty &amp;gt; (i.cur_return + cur_cancel)&lt;br /&gt;
AND (i.prod_code = &#039;PRODUCT CODE&#039;&lt;br /&gt;
AND o.SALES_ID = &#039;Salesperson Username&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Customers that bought from a specified list of products in a selected date range. Exclude if they bought any from another list of products or if the customer is set to Do Not Mail Catalog.&lt;br /&gt;
(this query has to look at your entire order history and will take a long time to run)&lt;br /&gt;
&amp;lt;source lang=&#039;tsql&#039;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* FROM CUST C&lt;br /&gt;
LEFT JOIN CUSTFLAGS CF ON CF.ID = C.ID AND CF.FLAG_ID = 1&lt;br /&gt;
JOIN ITEMSORD I ON I.CUST_NUM = C.ID&lt;br /&gt;
WHERE I.FULFILL_DT BETWEEN &#039;2012-02-01&#039; AND &#039;2013-03-07&#039;&lt;br /&gt;
AND (I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT&lt;br /&gt;
AND I.PROD_CODE IN (&#039;PRODCODE-A&#039;,&#039;PRODCODE-B&#039;)&lt;br /&gt;
-- FLAG_ID &amp;lt;&amp;gt; 1 by matching on null with the left join&lt;br /&gt;
AND CF.FLAG_ID IS NULL &lt;br /&gt;
AND C.ID NOT IN &lt;br /&gt;
(SELECT IO.CUST_NUM FROM ITEMSORD IO WHERE IO.PROD_CODE IN (&lt;br /&gt;
-- Comma delimited list of product codes to match for exclusion from the customer list&lt;br /&gt;
&#039;PRODCODE-X&#039;,&#039;PRODCODE-Y&#039;,&#039;PRODCODE-Z&#039;)&lt;br /&gt;
GROUP BY IO.CUST_NUM &lt;br /&gt;
-- End customer exclusion list&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Customers that bought a specific product that was shipped since a specific date that hasn&#039;t been returned and that customer has a viable email address.&lt;br /&gt;
&amp;lt;source lang=&#039;tsql&#039;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* &lt;br /&gt;
FROM CUST C&lt;br /&gt;
Join Itemsord t on t.cust_num = c.ID&lt;br /&gt;
Join Invoice i on i.order_id = t.order_id and i.invoice_id = t.invoice_id&lt;br /&gt;
WHERE (t.PROD_CODE = &#039;XXXXXX&#039;&lt;br /&gt;
and i.SHIPPED_DT between &#039;2017-07-31&#039; and &#039;2017-08-31&#039;&lt;br /&gt;
AND ((t.SENT_QTY &amp;gt; t.RET_QTY - t.CANCEL_QTY)))&lt;br /&gt;
AND datalength(LTRIM(RTRIM([EMAIL]))) - datalength(REPLACE(LTRIM(RTRIM([EMAIL])),&#039;@&#039;,&#039;&#039;)) = 1 AND (CHARINDEX(&#039;.@&#039;,[EMAIL]) = 0 AND CHARINDEX(&#039;..&#039;,[EMAIL]) = 0)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[CMS Customer Filter for customers with a specific item on Back Order]]===&lt;br /&gt;
Click the title link to redirect to an article specifically on this topic.&lt;br /&gt;
&lt;br /&gt;
===[[Targeting Catalog Requestors]]===&lt;br /&gt;
Click the title link to redirect to an article specifically on this topic.&lt;br /&gt;
&lt;br /&gt;
===Customers with Unshipped Orders in a Date Range===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
LEFT OUTER JOIN ORDERHDR O ON (C.ID = O.CUST_NUM)&lt;br /&gt;
WHERE&lt;br /&gt;
((O.order_dt BETWEEN &#039;2012-05-18&#039; AND &#039;2013-09-18&#039;)&lt;br /&gt;
AND (isnull(o.shipped_dt,&#039;1899-12-30&#039;) = &#039;1899-12-30&#039;))&lt;br /&gt;
AND (C.EMAIL &amp;lt;&amp;gt; &#039;&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===By First Order Date===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE&lt;br /&gt;
(C.FIRST_DATE BETWEEN &#039;2013/08/15&#039; AND &#039;2013/08/15&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Phone number Area code===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE&lt;br /&gt;
(C.ID IN (SELECT CUST_NUM FROM PHONES&lt;br /&gt;
where phone_num like &lt;br /&gt;
&#039;(297%&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;297&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;1297&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;1-297&#039;&lt;br /&gt;
)) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers having more than one Customer Description Code===&lt;br /&gt;
In CMS it is easy to find customers who have any one code, or one of several, but you&#039;ll need custom SQL like the following to find customers who must have more than one of a list of codes to qualify.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C  &lt;br /&gt;
WHERE C.ID IN (&lt;br /&gt;
  SELECT CUST_NUM FROM CUSTDESC&lt;br /&gt;
  WHERE CUSDESKE in (&#039;0525&#039;,&#039;0600&#039;)&lt;br /&gt;
  GROUP BY CUST_NUM&lt;br /&gt;
  HAVING COUNT(CUST_NUM) &amp;gt;= 2 -- 2 = the number of values to find&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change the cusdeske values to correspond to the desired customer description codes (CDC) per the CUSDESCO table&lt;br /&gt;
*Change the integer in the last line to indicate the number of CDC matches required&lt;br /&gt;
&lt;br /&gt;
===Customers with a Company Name===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE C.COMPANY &amp;lt;&amp;gt; &#039;&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Last Modified===&lt;br /&gt;
The Last Modified field was added in CMS 8.0 but does not yet have a corresponding mail filter option. Here are a couple of examples of how you can build this into your filters:&lt;br /&gt;
*Last Modified in a range of dates:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE (C.LAST_UPDAT BETWEEN &#039;2011/05/02&#039; AND &#039;2012/05/02&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Change the dates as needed.&lt;br /&gt;
&lt;br /&gt;
*Last Modified in the last 180 days:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE (C.LAST_UPDAT &amp;gt; (TODAY(*) - 180))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Change 180 to whatever number of days back is desired.&lt;br /&gt;
&lt;br /&gt;
===All Recipients for a Customer (e.g. Amazon)===&lt;br /&gt;
If you are processing orders with Amazon or similar partner, you&#039;ll only get shipping addresses and not billing information from them since Amazon handles all of the payments. As such these orders will import into CMS with Amazon as the customer and always attach themselves to your Amazon customer record. If you have the option enabled in CMS Order Entry Options, new customer records will also be created for each ship-to. It may be helpful to be able to identify those ship-to customer records. This might be to tag them with a customer description code, exclude from an upcoming mailing, etc. This SQL can be used as a mail list filter to find those recipient customer records that have ordered through Amazon (or whoever your orders are coming from.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
From CUST c&lt;br /&gt;
where C.ID in&lt;br /&gt;
(Select a.cust_num&lt;br /&gt;
From Address a&lt;br /&gt;
Join recipient r on r.address_id = a.address_id&lt;br /&gt;
Join recipient_order ro on ro.recipient_id = r.recipient_id&lt;br /&gt;
Join orderhdr o on o.order_id = ro.order_idWhere o.cust_num = &#039;0000518128&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the customer number in the last line to match your billing account for Amazon. Zero pad to ten total characters as shown in the above example.&lt;br /&gt;
&lt;br /&gt;
===Orders Placed from Selected Order Sources===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT c.* &lt;br /&gt;
FROM CUST c &lt;br /&gt;
Join ORDERHDR o on o.cust_num = c.ID&lt;br /&gt;
Join ORDERSRC s on s.ordersrc_id = o.order_src&lt;br /&gt;
Where (o.ORDER_DT BETWEEN &#039;2016-01-31&#039; AND &#039;2017-10-31&#039; &lt;br /&gt;
AND o.CANCELLED = 0&lt;br /&gt;
and (s.name = &#039;Phoned In&#039;&lt;br /&gt;
or s.name = &#039;Mailed In&#039;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Amazon Recipients====&lt;br /&gt;
Similar to the above, this is targetting a specific order source but, since you are really drop-shipping for Amazon, Amazon is your customer...so all of the orders fall under the Amazon customer record in your mail list. If you have CMS configured to save recipients as new customers though, CMS will have customer records for each customer that ordered via Amazon. The following query will target those recipients:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
Where c.ship_id &amp;gt; 0&lt;br /&gt;
and c.ship_id in&lt;br /&gt;
(select address_id from Recipient r&lt;br /&gt;
JOIN Recipient_order ro on r.recipient_id = ro.recipient_id&lt;br /&gt;
JOIN ORDERHDR o on o.order_id = ro.order_id&lt;br /&gt;
where o.order_src = 15)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Noting that you&#039;ll need to change the last line (15) to match whatever the order source ID is for the order source you&#039;re targeting (see the ORDERSRC table for this.)&lt;br /&gt;
&lt;br /&gt;
===Customers with orders having a specific Referral Code===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT c.* &lt;br /&gt;
FROM CUST c &lt;br /&gt;
Join ORDERHDR o ON o.cust_num = c.ID&lt;br /&gt;
WHERE (o.ORDER_DT BETWEEN &#039;2016-01-31&#039; AND &#039;2017-06-30&#039;) &lt;br /&gt;
AND o.referral_code = &#039;XXXX&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoice created in a date range with a captured credit card but invoice is unshipped===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, INVOICE I&lt;br /&gt;
JOIN Payledger p on p.order_id = i.order_id&lt;br /&gt;
and p.invoice_id = i.invoice_id&lt;br /&gt;
JOIN chargeinfo r on p.payid = r.payid&lt;br /&gt;
WHERE I.ORDER_DT between &#039;2012-08-31&#039; and &#039;2013-02-28&#039;&lt;br /&gt;
AND I.SHIPPED_FL = &#039;0&#039;&lt;br /&gt;
AND r.edc = 1&lt;br /&gt;
AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers with a declined credit card in last 30 days===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
JOIN paylist l on l.ID = C.ID&lt;br /&gt;
JOIN paytypes t on t.pay_type = l.pay_type&lt;br /&gt;
Where l.badpayment = &#039;1&#039;&lt;br /&gt;
AND l.DELETED = &#039;0&#039;&lt;br /&gt;
AND t.credit_car = &#039;1&#039;&lt;br /&gt;
AND l.createdate &amp;gt; (TODAY(*)-30)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Filter based on one of the customer user defined fields where the value is greater than X===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE (REGEXP_SUBSTR(C.USERCODE1,&#039;\d+\.*\d*&#039;) &amp;gt; 12.4)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*This method allows you to perform a greater or less than query on a user field which is not explicitly defined as numeric. That said, this filter will fail if you have any non-numeric values in the corresponding user-defined field in any of the customer records.&lt;br /&gt;
*It is important to understand that any time you are running a &amp;quot;greater than&amp;quot; or &amp;quot;less than&amp;quot; operator against a numeric value you must not use quotes. Otherwise SQL will interpret that as a string comparison. And string comparing numeric values will not be accurate.&lt;br /&gt;
&lt;br /&gt;
===U.S. and Canadian customers with first contact date, catalog request, or order in date range===&lt;br /&gt;
The first half of the SQL is to include based on any of the contact dates AND that they are in U.S. or Canada. The second half (starting with AND NOT) is the exclude portion of the statement, in this case based on specific customer description code, customer flag, or or order&#039;s adcodes.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* &lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE C.COUNTRY &amp;lt; 2&lt;br /&gt;
AND (&lt;br /&gt;
  (C.FIRST_CONTACT BETWEEN &#039;2012-01-01&#039; AND &#039;2015-09-30&#039;)&lt;br /&gt;
  OR EXISTS (SELECT 1 FROM CUSTHIST WHERE CUSTHIST.CUST_NUM = C.ID AND ENTRYDATE &amp;gt; &#039;2012-01-01&#039;) &lt;br /&gt;
  OR EXISTS (SELECT 1 FROM TODO WHERE TODO.TYPE = &#039;05&#039; AND TODO.VOID = 0 AND TODO.DATE_CREAT &amp;gt; &#039;2012-01-01&#039; AND TODO.RELATES_TO = C.ID)&lt;br /&gt;
  OR (C.LAST_INVOI BETWEEN &#039;2008/01/01&#039; AND &#039;2015/10/12&#039;)&lt;br /&gt;
) AND NOT EXISTS ( SELECT 1 FROM CUST C2 &lt;br /&gt;
  LEFT OUTER JOIN CUSTDESC ON C2.ID = CUSTDESC.CUST_NUM &lt;br /&gt;
  LEFT OUTER JOIN ORDERHDR ON C2.ID = ORDERHDR.CUST_NUM&lt;br /&gt;
  LEFT OUTER JOIN CUSTFLAGS CF ON CF.ID = C2.ID&lt;br /&gt;
  WHERE (&lt;br /&gt;
    CUSTDESC.CUSDESKE = &#039;0004&#039;&lt;br /&gt;
    OR ORDERHDR.ADCODE = &#039;p-etch&#039; &lt;br /&gt;
    OR ORDERHDR.ADCODE = &#039;wwwg&#039;&lt;br /&gt;
    OR CF.FLAG_ID = 1&lt;br /&gt;
  ) AND C2.ID = C.ID&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers with a specific term that have no spending in period===&lt;br /&gt;
Here we&#039;re looking for customers that you have on terms but have not spent anything in a given time period. Adjust date ranges, spending amounts, and the term_id in the SQL to suit.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C  &lt;br /&gt;
LEFT OUTER JOIN ORDERHDR ON (C.ID = ORDERHDR.CUST_NUM)&lt;br /&gt;
WHERE c.term_id  = &#039;002&#039;&lt;br /&gt;
and not fbCustSpendingInPeriod(c.id,&#039;2018/09/08&#039;,&#039;2020/09/08&#039;,1,99999999) =1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Invoice filters=&lt;br /&gt;
==Invoice Filter requirements==&lt;br /&gt;
Every invoice filter must include (start with) at least the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON (I.ORDER_ID=O.ORDER_ID) &lt;br /&gt;
LEFT OUTER JOIN PACKAGE P ON (I.ORDER_ID=P.ORDER_ID) AND (I.INVOICE_ID=P.INVOICE_ID) &lt;br /&gt;
LEFT OUTER JOIN ADDRESS ON (I.SHIP_ID = ADDRESS.ADDRESS_ID)&lt;br /&gt;
WHERE...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Target invoices whose item total is greater than $X===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I, Orderhdr O&lt;br /&gt;
WHERE I.ITEM_TOT &amp;gt; 300&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Modify the 300 in this example to represent the desired item total threshold. This item total take into account line and order level discounts but does not include S&amp;amp;H, taxes, or other order level charges.&lt;br /&gt;
&lt;br /&gt;
===Target a single customer and any of their invoices with a balance===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON (I.ORDER_ID=O.ORDER_ID) &lt;br /&gt;
LEFT OUTER JOIN PACKAGE P ON (I.ORDER_ID=P.ORDER_ID) AND (I.INVOICE_ID=P.INVOICE_ID) &lt;br /&gt;
LEFT OUTER JOIN ADDRESS ON (I.SHIP_ID = ADDRESS.ADDRESS_ID)&lt;br /&gt;
WHERE O.CUST_NUM = &#039;0000075194&#039;&lt;br /&gt;
AND I.BALANCE &amp;gt; 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Target invoices shipping to Canada===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
Select Distinct I.* from Invoice I, Address A, Orderhdr O&lt;br /&gt;
where I.SHIP_ID = A.ADDRESS_ID&lt;br /&gt;
and A.COUNTRY = &#039;001&#039;&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Target invoices with packages shipping via specific methods===&lt;br /&gt;
This is useful with Best Shipping since the order/invoice no longer has a shipping method or if you&#039;re trying to filter on the actual shipping choice used instead of the underlying service level (which is how the shipping method filters work normally)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I, Package P, Orderhdr O&lt;br /&gt;
WHERE I.order_id = P.order_id and I.invoice_id = P.invoice_id&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
and P.shipmethid in&lt;br /&gt;
(SELECT shipmethid FROM SHIPMETH&lt;br /&gt;
WHERE SEL_LETTER in (&#039;C&#039;,&#039;UC&#039;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Targets fulfilled invoices with a specific adcode===&lt;br /&gt;
Specifically that does not use a selected term and the order does not contain an item ending with M: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I, ORDERHDR O&lt;br /&gt;
WHERE I.order_id = O.order_id&lt;br /&gt;
AND O.adcode = &#039; HOMESHOW&#039;&lt;br /&gt;
AND O.term_id &amp;lt;&amp;gt; &#039;002&#039;&lt;br /&gt;
AND I.fulfill_dt &amp;gt; &#039;2010-01-01&#039;&lt;br /&gt;
AND I.order_id|I.invoice_id NOT IN&lt;br /&gt;
(SELECT order_id|invoice_id &lt;br /&gt;
FROM itemsord&lt;br /&gt;
WHERE fulfill_dt &amp;gt; &#039;2010-01-01&#039;&lt;br /&gt;
AND prod_code LIKE &#039;%M&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Single Line Orders===&lt;br /&gt;
The technique used here to identify which invoice are single product is unusual and noteworthy. There is a join against a sub-select because a sub-select on its own is only useful when looking for a single field and in this case we need both order_id and invoice_id. The last line is optional and should only be used when targeting specific products.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN ORDERHDR O ON O.order_id = I.order_id&lt;br /&gt;
JOIN ITEMSORD T ON T.order_id = I.order_id AND T.invoice_id = I.invoice_id&lt;br /&gt;
JOIN (SELECT order_id, invoice_id FROM itemsord&lt;br /&gt;
GROUP BY ORDER_ID, Invoice_id&lt;br /&gt;
HAVING count(line_id) = 1) j ON j.order_id = I.order_id AND j.invoice_id = I.invoice_id&lt;br /&gt;
WHERE I.TRANS_TYPE &amp;lt;&amp;gt; &#039;R&#039; --Excluding returns&lt;br /&gt;
AND T.PROD_CODE IN (&#039;SUB1&#039;,&#039;SUB2&#039;,&#039;SUB3&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Single Qty Item====&lt;br /&gt;
Similar to above, which is for single line orders but for any quantity ordered, the following looks for single quantity ordered as well. As above, the last line is optional and should only be used when targeting specific products.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN ORDERHDR O ON O.order_id = I.order_id&lt;br /&gt;
JOIN ITEMSORD T ON T.order_id = I.order_id &lt;br /&gt;
AND T.invoice_id = I.invoice_id &lt;br /&gt;
AND t.sent_qty =1 &lt;br /&gt;
AND (t.ret_qty + t.cancel_qty) = 0&lt;br /&gt;
JOIN (SELECT order_id, invoice_id FROM itemsord&lt;br /&gt;
GROUP BY ORDER_ID, Invoice_id&lt;br /&gt;
HAVING COUNT(line_id) = 1) j ON j.order_id = I.order_id AND j.invoice_id = I.invoice_id&lt;br /&gt;
WHERE T.PROD_CODE IN (&#039;SUB1&#039;,&#039;SUB2&#039;,&#039;SUB3&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices by State and Carrier===&lt;br /&gt;
We wrote this for invoice filtering by state. This shows the use of a sub-select that is not part of a join: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN Orderhdr O ON O.order_id = I.order_id&lt;br /&gt;
JOIN Address A ON A.ADDRESS_ID = I.SHIP_ID&lt;br /&gt;
WHERE A.STATE IN&lt;br /&gt;
(&#039;ME&#039;,&#039;NH&#039;,&#039;VT&#039;,&#039;MA&#039;,&#039;CT&#039;,&#039;RI&#039;,&#039;NJ&#039;,&#039;DE&#039;,&#039;MD&#039;,&#039;DC&#039;,&#039;NY&#039;,&#039;PA&#039;,&#039;VA&#039;,&#039;NC&#039;,&#039;SC&#039;,&#039;GA&#039;,&#039;TN&#039;,&#039;KY&#039;,&#039;WV&#039;,&#039;OH&#039;,&#039;AL&#039;)&lt;br /&gt;
AND O.SHIP_VIA IN (SELECT ship_code FROM SHIPPERS WHERE SHIPPER = &#039;UPS&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices using a specific shipping method AND have at least one item in a bin location range===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I&lt;br /&gt;
JOIN ORDERHDR O ON O.ORDER_ID = I.ORDER_ID&lt;br /&gt;
JOIN (&lt;br /&gt;
SELECT IO.INVOICE_ID, IO.ORDER_ID FROM SKUWARE S &lt;br /&gt;
JOIN ITEMSORD IO ON IO.SKU_ID = S.SKU_ID&lt;br /&gt;
WHERE REGEXP_SUBSTR(S.BINLOC,&#039;\d+\.\d&#039;) BETWEEN 3.0 AND 3.9&lt;br /&gt;
GROUP BY IO.ORDER_ID, IO.INVOICE_ID, IO.WAREHOUSE&lt;br /&gt;
) BIN ON BIN.INVOICE_ID = I.INVOICE_ID AND BIN.ORDER_ID = I.ORDER_ID&lt;br /&gt;
WHERE I.SHIPMETH_USED = &#039;First Class Mail&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices using a specific shipping method AND have only items in a bin location range===&lt;br /&gt;
This assumes bin locations are numeric:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON O.ORDER_ID = I.ORDER_ID&lt;br /&gt;
JOIN (SELECT IO.INVOICE_ID, &lt;br /&gt;
  IO.ORDER_ID, IO.WAREHOUSE, &lt;br /&gt;
  REGEXP_SUBSTR(S.BINLOC,&#039;\d+\.*\d*&#039;) AS BINLOC_NUM, &lt;br /&gt;
  COUNT(IO.ITEMID) AS ITEMS&lt;br /&gt;
  FROM SKUWARE S JOIN ITEMSORD IO ON IO.SKU_ID = S.SKU_ID&lt;br /&gt;
  GROUP BY IO.ORDER_ID, IO.INVOICE_ID, IO.WAREHOUSE, S.BINLOC&lt;br /&gt;
  HAVING BINLOC_NUM BETWEEN 3.0 AND 3.9&lt;br /&gt;
) IC ON IC.ORDER_ID = I.ORDER_ID AND IC.INVOICE_ID = I.INVOICE_ID&lt;br /&gt;
WHERE IC.ITEMS = (    &lt;br /&gt;
  SELECT COUNT(*) FROM ITEMSORD IO &lt;br /&gt;
  WHERE IO.ORDER_ID = I.ORDER_ID &lt;br /&gt;
  AND IO.INVOICE_ID = I.INVOICE_ID&lt;br /&gt;
) &lt;br /&gt;
AND I.SHIPMETH_USED = &#039;First Class Mail&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Related Articles=&lt;br /&gt;
*[[Compound Mail List Filters]]&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Custom_SQL_Filters&amp;diff=2702</id>
		<title>Custom SQL Filters</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Custom_SQL_Filters&amp;diff=2702"/>
		<updated>2020-09-08T15:58:47Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Mail list filter examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to the standard invoice and mail list filter criteria provided in CMS, you also have the option to write your own SQL. This is useful for when you&#039;d want to create a filter that is beyond the standard options available through the CMS interface.&lt;br /&gt;
&lt;br /&gt;
It is important to note that when you select the &#039;Write Own SQL&#039; checkbox, it supersedes all other criteria and becomes the only enabled option on the filter screen. You cannot combine it with other filter criteria. You can, however, customize a mail filter created in CMS.&lt;br /&gt;
&lt;br /&gt;
In the Mail List Filter section you have the option of creating a filter using the checkboxes to get as close as you can to your desired filter. Once saved you would then click on View SQL to see the resulting SQL CMS has created based on the options selected. You cannot edit that SQL there but you can copy it and create a new filter with &#039;Write Own SQL&#039; and paste/edit it there.&lt;br /&gt;
&lt;br /&gt;
This can be very handy and is rather easy to do as, often times, the only modification desired is a change in Boolean values. For example, if you create a filter based on two customer description codes (CDC&#039;s) the default Boolean is &#039;OR&#039;. In other words, customers will qualify for this filter if they have one code OR the other. If you only wanted customers who had both codes, you would create a custom filter, paste in the SQL from the original filter and change the OR to an AND.&lt;br /&gt;
&lt;br /&gt;
Syntax is very important in these filters so if you are writing one from scratch, please pay attention to these examples for guidance on what your Selects should look like (namely the use of DISTINCT and which tables are being referenced):&lt;br /&gt;
&lt;br /&gt;
=Mail List Filters=&lt;br /&gt;
==Requirements==&lt;br /&gt;
Every mail list filter must include (start with) at least the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mail list filter examples==&lt;br /&gt;
NOTE: When writing your own SQL keep in mind if you are going to be using these statements in [[Compound Mail List Filters]], you will need to return C.ID, not C.* This makes these individual filters suitable for use only as components for Compound filters. They can no longer be used on their own. Our recommendation is to label them as compound filter components. Like COMP_Products_By_Date and COMP_Not_Select_Products. Doing this you will know not to use them by themselves. To use the filters by themselves and to combine different filters together, you have to use joins and not compound filters.&lt;br /&gt;
&lt;br /&gt;
===Products Purchased===&lt;br /&gt;
Target customers based on products fulfilled within a date range (3 examples) and thus excludes unfulfilled back orders and future ships.  Date range is based off of the fulfill date. These filters also exclude fully returned/canceled items.&lt;br /&gt;
&lt;br /&gt;
*In a Date Range&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT between &#039;2017-01-31&#039; and &#039;2017-03-31&#039;&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Greater than a specified date&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT &amp;gt; &#039;2017-01-31&#039;&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Ordered in the last 30 days&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, ITEMSORD I&lt;br /&gt;
WHERE (I.PROD_CODE = &#039;1&#039;&lt;br /&gt;
AND I.FULFILL_DT &amp;gt; (TODAY(*) - 30)&lt;br /&gt;
AND ((I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT))&lt;br /&gt;
 AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Sold by a specific salesperson, only shipped and not returned (no date range)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C INNER JOIN orderhdr o ON c.id = o.cust_num&lt;br /&gt;
INNER JOIN itemsord i ON o.order_id = i.order_id&lt;br /&gt;
WHERE o.proforma &amp;lt;&amp;gt; 1&lt;br /&gt;
AND o.tempsave &amp;lt;&amp;gt; 1&lt;br /&gt;
AND i.status &amp;gt; 5&lt;br /&gt;
AND i.order_qty &amp;gt; (i.cur_return + cur_cancel)&lt;br /&gt;
AND (i.prod_code = &#039;PRODUCT CODE&#039;&lt;br /&gt;
AND o.SALES_ID = &#039;Salesperson Username&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Customers that bought from a specified list of products in a selected date range. Exclude if they bought any from another list of products or if the customer is set to Do Not Mail Catalog.&lt;br /&gt;
(this query has to look at your entire order history and will take a long time to run)&lt;br /&gt;
&amp;lt;source lang=&#039;tsql&#039;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* FROM CUST C&lt;br /&gt;
LEFT JOIN CUSTFLAGS CF ON CF.ID = C.ID AND CF.FLAG_ID = 1&lt;br /&gt;
JOIN ITEMSORD I ON I.CUST_NUM = C.ID&lt;br /&gt;
WHERE I.FULFILL_DT BETWEEN &#039;2012-02-01&#039; AND &#039;2013-03-07&#039;&lt;br /&gt;
AND (I.CUR_RETURN + I.CUR_CANCEL) &amp;lt; I.CUR_SENT&lt;br /&gt;
AND I.PROD_CODE IN (&#039;PRODCODE-A&#039;,&#039;PRODCODE-B&#039;)&lt;br /&gt;
-- FLAG_ID &amp;lt;&amp;gt; 1 by matching on null with the left join&lt;br /&gt;
AND CF.FLAG_ID IS NULL &lt;br /&gt;
AND C.ID NOT IN &lt;br /&gt;
(SELECT IO.CUST_NUM FROM ITEMSORD IO WHERE IO.PROD_CODE IN (&lt;br /&gt;
-- Comma delimited list of product codes to match for exclusion from the customer list&lt;br /&gt;
&#039;PRODCODE-X&#039;,&#039;PRODCODE-Y&#039;,&#039;PRODCODE-Z&#039;)&lt;br /&gt;
GROUP BY IO.CUST_NUM &lt;br /&gt;
-- End customer exclusion list&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Customers that bought a specific product that was shipped since a specific date that hasn&#039;t been returned and that customer has a viable email address.&lt;br /&gt;
&amp;lt;source lang=&#039;tsql&#039;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* &lt;br /&gt;
FROM CUST C&lt;br /&gt;
Join Itemsord t on t.cust_num = c.ID&lt;br /&gt;
Join Invoice i on i.order_id = t.order_id and i.invoice_id = t.invoice_id&lt;br /&gt;
WHERE (t.PROD_CODE = &#039;XXXXXX&#039;&lt;br /&gt;
and i.SHIPPED_DT between &#039;2017-07-31&#039; and &#039;2017-08-31&#039;&lt;br /&gt;
AND ((t.SENT_QTY &amp;gt; t.RET_QTY - t.CANCEL_QTY)))&lt;br /&gt;
AND datalength(LTRIM(RTRIM([EMAIL]))) - datalength(REPLACE(LTRIM(RTRIM([EMAIL])),&#039;@&#039;,&#039;&#039;)) = 1 AND (CHARINDEX(&#039;.@&#039;,[EMAIL]) = 0 AND CHARINDEX(&#039;..&#039;,[EMAIL]) = 0)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[CMS Customer Filter for customers with a specific item on Back Order]]===&lt;br /&gt;
Click the title link to redirect to an article specifically on this topic.&lt;br /&gt;
&lt;br /&gt;
===[[Targeting Catalog Requestors]]===&lt;br /&gt;
Click the title link to redirect to an article specifically on this topic.&lt;br /&gt;
&lt;br /&gt;
===Customers with Unshipped Orders in a Date Range===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
LEFT OUTER JOIN ORDERHDR O ON (C.ID = O.CUST_NUM)&lt;br /&gt;
WHERE&lt;br /&gt;
((O.order_dt BETWEEN &#039;2012-05-18&#039; AND &#039;2013-09-18&#039;)&lt;br /&gt;
AND (isnull(o.shipped_dt,&#039;1899-12-30&#039;) = &#039;1899-12-30&#039;))&lt;br /&gt;
AND (C.EMAIL &amp;lt;&amp;gt; &#039;&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===By First Order Date===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE&lt;br /&gt;
(C.FIRST_DATE BETWEEN &#039;2013/08/15&#039; AND &#039;2013/08/15&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Phone number Area code===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE&lt;br /&gt;
(C.ID IN (SELECT CUST_NUM FROM PHONES&lt;br /&gt;
where phone_num like &lt;br /&gt;
&#039;(297%&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;297&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;1297&#039;&lt;br /&gt;
or phone_num like &lt;br /&gt;
&#039;1-297&#039;&lt;br /&gt;
)) &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers having more than one Customer Description Code===&lt;br /&gt;
In CMS it is easy to find customers who have any one code, or one of several, but you&#039;ll need custom SQL like the following to find customers who must have more than one of a list of codes to qualify.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C  &lt;br /&gt;
WHERE C.ID IN (&lt;br /&gt;
  SELECT CUST_NUM FROM CUSTDESC&lt;br /&gt;
  WHERE CUSDESKE in (&#039;0525&#039;,&#039;0600&#039;)&lt;br /&gt;
  GROUP BY CUST_NUM&lt;br /&gt;
  HAVING COUNT(CUST_NUM) &amp;gt;= 2 -- 2 = the number of values to find&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change the cusdeske values to correspond to the desired customer description codes (CDC) per the CUSDESCO table&lt;br /&gt;
*Change the integer in the last line to indicate the number of CDC matches required&lt;br /&gt;
&lt;br /&gt;
===Customers with a Company Name===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE C.COMPANY &amp;lt;&amp;gt; &#039;&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Last Modified===&lt;br /&gt;
The Last Modified field was added in CMS 8.0 but does not yet have a corresponding mail filter option. Here are a couple of examples of how you can build this into your filters:&lt;br /&gt;
*Last Modified in a range of dates:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE (C.LAST_UPDAT BETWEEN &#039;2011/05/02&#039; AND &#039;2012/05/02&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Change the dates as needed.&lt;br /&gt;
&lt;br /&gt;
*Last Modified in the last 180 days:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE (C.LAST_UPDAT &amp;gt; (TODAY(*) - 180))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Change 180 to whatever number of days back is desired.&lt;br /&gt;
&lt;br /&gt;
===All Recipients for a Customer (e.g. Amazon)===&lt;br /&gt;
If you are processing orders with Amazon or similar partner, you&#039;ll only get shipping addresses and not billing information from them since Amazon handles all of the payments. As such these orders will import into CMS with Amazon as the customer and always attach themselves to your Amazon customer record. If you have the option enabled in CMS Order Entry Options, new customer records will also be created for each ship-to. It may be helpful to be able to identify those ship-to customer records. This might be to tag them with a customer description code, exclude from an upcoming mailing, etc. This SQL can be used as a mail list filter to find those recipient customer records that have ordered through Amazon (or whoever your orders are coming from.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
From CUST c&lt;br /&gt;
where C.ID in&lt;br /&gt;
(Select a.cust_num&lt;br /&gt;
From Address a&lt;br /&gt;
Join recipient r on r.address_id = a.address_id&lt;br /&gt;
Join recipient_order ro on ro.recipient_id = r.recipient_id&lt;br /&gt;
Join orderhdr o on o.order_id = ro.order_idWhere o.cust_num = &#039;0000518128&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the customer number in the last line to match your billing account for Amazon. Zero pad to ten total characters as shown in the above example.&lt;br /&gt;
&lt;br /&gt;
===Orders Placed from Selected Order Sources===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT c.* &lt;br /&gt;
FROM CUST c &lt;br /&gt;
Join ORDERHDR o on o.cust_num = c.ID&lt;br /&gt;
Join ORDERSRC s on s.ordersrc_id = o.order_src&lt;br /&gt;
Where (o.ORDER_DT BETWEEN &#039;2016-01-31&#039; AND &#039;2017-10-31&#039; &lt;br /&gt;
AND o.CANCELLED = 0&lt;br /&gt;
and (s.name = &#039;Phoned In&#039;&lt;br /&gt;
or s.name = &#039;Mailed In&#039;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Amazon Recipients====&lt;br /&gt;
Similar to the above, this is targetting a specific order source but, since you are really drop-shipping for Amazon, Amazon is your customer...so all of the orders fall under the Amazon customer record in your mail list. If you have CMS configured to save recipients as new customers though, CMS will have customer records for each customer that ordered via Amazon. The following query will target those recipients:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C &lt;br /&gt;
Where c.ship_id &amp;gt; 0&lt;br /&gt;
and c.ship_id in&lt;br /&gt;
(select address_id from Recipient r&lt;br /&gt;
JOIN Recipient_order ro on r.recipient_id = ro.recipient_id&lt;br /&gt;
JOIN ORDERHDR o on o.order_id = ro.order_id&lt;br /&gt;
where o.order_src = 15)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Noting that you&#039;ll need to change the last line (15) to match whatever the order source ID is for the order source you&#039;re targeting (see the ORDERSRC table for this.)&lt;br /&gt;
&lt;br /&gt;
===Customers with orders having a specific Referral Code===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT c.* &lt;br /&gt;
FROM CUST c &lt;br /&gt;
Join ORDERHDR o ON o.cust_num = c.ID&lt;br /&gt;
WHERE (o.ORDER_DT BETWEEN &#039;2016-01-31&#039; AND &#039;2017-06-30&#039;) &lt;br /&gt;
AND o.referral_code = &#039;XXXX&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoice created in a date range with a captured credit card but invoice is unshipped===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C, INVOICE I&lt;br /&gt;
JOIN Payledger p on p.order_id = i.order_id&lt;br /&gt;
and p.invoice_id = i.invoice_id&lt;br /&gt;
JOIN chargeinfo r on p.payid = r.payid&lt;br /&gt;
WHERE I.ORDER_DT between &#039;2012-08-31&#039; and &#039;2013-02-28&#039;&lt;br /&gt;
AND I.SHIPPED_FL = &#039;0&#039;&lt;br /&gt;
AND r.edc = 1&lt;br /&gt;
AND (I.CUST_NUM = C.ID)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers with a declined credit card in last 30 days===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
JOIN paylist l on l.ID = C.ID&lt;br /&gt;
JOIN paytypes t on t.pay_type = l.pay_type&lt;br /&gt;
Where l.badpayment = &#039;1&#039;&lt;br /&gt;
AND l.DELETED = &#039;0&#039;&lt;br /&gt;
AND t.credit_car = &#039;1&#039;&lt;br /&gt;
AND l.createdate &amp;gt; (TODAY(*)-30)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Filter based on one of the customer user defined fields where the value is greater than X===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C&lt;br /&gt;
WHERE (REGEXP_SUBSTR(C.USERCODE1,&#039;\d+\.*\d*&#039;) &amp;gt; 12.4)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*This method allows you to perform a greater or less than query on a user field which is not explicitly defined as numeric. That said, this filter will fail if you have any non-numeric values in the corresponding user-defined field in any of the customer records.&lt;br /&gt;
*It is important to understand that any time you are running a &amp;quot;greater than&amp;quot; or &amp;quot;less than&amp;quot; operator against a numeric value you must not use quotes. Otherwise SQL will interpret that as a string comparison. And string comparing numeric values will not be accurate.&lt;br /&gt;
&lt;br /&gt;
===U.S. and Canadian customers with first contact date, catalog request, or order in date range===&lt;br /&gt;
The first half of the SQL is to include based on any of the contact dates AND that they are in U.S. or Canada. The second half (starting with AND NOT) is the exclude portion of the statement, in this case based on specific customer description code, customer flag, or or order&#039;s adcodes.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.* &lt;br /&gt;
FROM CUST C &lt;br /&gt;
WHERE C.COUNTRY &amp;lt; 2&lt;br /&gt;
AND (&lt;br /&gt;
  (C.FIRST_CONTACT BETWEEN &#039;2012-01-01&#039; AND &#039;2015-09-30&#039;)&lt;br /&gt;
  OR EXISTS (SELECT 1 FROM CUSTHIST WHERE CUSTHIST.CUST_NUM = C.ID AND ENTRYDATE &amp;gt; &#039;2012-01-01&#039;) &lt;br /&gt;
  OR EXISTS (SELECT 1 FROM TODO WHERE TODO.TYPE = &#039;05&#039; AND TODO.VOID = 0 AND TODO.DATE_CREAT &amp;gt; &#039;2012-01-01&#039; AND TODO.RELATES_TO = C.ID)&lt;br /&gt;
  OR (C.LAST_INVOI BETWEEN &#039;2008/01/01&#039; AND &#039;2015/10/12&#039;)&lt;br /&gt;
) AND NOT EXISTS ( SELECT 1 FROM CUST C2 &lt;br /&gt;
  LEFT OUTER JOIN CUSTDESC ON C2.ID = CUSTDESC.CUST_NUM &lt;br /&gt;
  LEFT OUTER JOIN ORDERHDR ON C2.ID = ORDERHDR.CUST_NUM&lt;br /&gt;
  LEFT OUTER JOIN CUSTFLAGS CF ON CF.ID = C2.ID&lt;br /&gt;
  WHERE (&lt;br /&gt;
    CUSTDESC.CUSDESKE = &#039;0004&#039;&lt;br /&gt;
    OR ORDERHDR.ADCODE = &#039;p-etch&#039; &lt;br /&gt;
    OR ORDERHDR.ADCODE = &#039;wwwg&#039;&lt;br /&gt;
    OR CF.FLAG_ID = 1&lt;br /&gt;
  ) AND C2.ID = C.ID&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Customers with a specific term that have no spending in period==&lt;br /&gt;
Here we&#039;re looking for customers that you have on terms but have not spent anything in a given time period. Adjust date ranges, spending amounts, and the term_id in the SQL to suit.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT C.*&lt;br /&gt;
FROM CUST C  &lt;br /&gt;
LEFT OUTER JOIN ORDERHDR ON (C.ID = ORDERHDR.CUST_NUM)&lt;br /&gt;
WHERE c.term_id  = &#039;002&#039;&lt;br /&gt;
and not fbCustSpendingInPeriod(c.id,&#039;2018/09/08&#039;,&#039;2020/09/08&#039;,1,99999999) =1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Invoice filters=&lt;br /&gt;
==Invoice Filter requirements==&lt;br /&gt;
Every invoice filter must include (start with) at least the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON (I.ORDER_ID=O.ORDER_ID) &lt;br /&gt;
LEFT OUTER JOIN PACKAGE P ON (I.ORDER_ID=P.ORDER_ID) AND (I.INVOICE_ID=P.INVOICE_ID) &lt;br /&gt;
LEFT OUTER JOIN ADDRESS ON (I.SHIP_ID = ADDRESS.ADDRESS_ID)&lt;br /&gt;
WHERE...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Target invoices whose item total is greater than $X===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I, Orderhdr O&lt;br /&gt;
WHERE I.ITEM_TOT &amp;gt; 300&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Modify the 300 in this example to represent the desired item total threshold. This item total take into account line and order level discounts but does not include S&amp;amp;H, taxes, or other order level charges.&lt;br /&gt;
&lt;br /&gt;
===Target a single customer and any of their invoices with a balance===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON (I.ORDER_ID=O.ORDER_ID) &lt;br /&gt;
LEFT OUTER JOIN PACKAGE P ON (I.ORDER_ID=P.ORDER_ID) AND (I.INVOICE_ID=P.INVOICE_ID) &lt;br /&gt;
LEFT OUTER JOIN ADDRESS ON (I.SHIP_ID = ADDRESS.ADDRESS_ID)&lt;br /&gt;
WHERE O.CUST_NUM = &#039;0000075194&#039;&lt;br /&gt;
AND I.BALANCE &amp;gt; 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Target invoices shipping to Canada===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tsql&amp;quot;&amp;gt;&lt;br /&gt;
Select Distinct I.* from Invoice I, Address A, Orderhdr O&lt;br /&gt;
where I.SHIP_ID = A.ADDRESS_ID&lt;br /&gt;
and A.COUNTRY = &#039;001&#039;&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Target invoices with packages shipping via specific methods===&lt;br /&gt;
This is useful with Best Shipping since the order/invoice no longer has a shipping method or if you&#039;re trying to filter on the actual shipping choice used instead of the underlying service level (which is how the shipping method filters work normally)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I, Package P, Orderhdr O&lt;br /&gt;
WHERE I.order_id = P.order_id and I.invoice_id = P.invoice_id&lt;br /&gt;
and I.order_id = O.order_id&lt;br /&gt;
and P.shipmethid in&lt;br /&gt;
(SELECT shipmethid FROM SHIPMETH&lt;br /&gt;
WHERE SEL_LETTER in (&#039;C&#039;,&#039;UC&#039;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Targets fulfilled invoices with a specific adcode===&lt;br /&gt;
Specifically that does not use a selected term and the order does not contain an item ending with M: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I, ORDERHDR O&lt;br /&gt;
WHERE I.order_id = O.order_id&lt;br /&gt;
AND O.adcode = &#039; HOMESHOW&#039;&lt;br /&gt;
AND O.term_id &amp;lt;&amp;gt; &#039;002&#039;&lt;br /&gt;
AND I.fulfill_dt &amp;gt; &#039;2010-01-01&#039;&lt;br /&gt;
AND I.order_id|I.invoice_id NOT IN&lt;br /&gt;
(SELECT order_id|invoice_id &lt;br /&gt;
FROM itemsord&lt;br /&gt;
WHERE fulfill_dt &amp;gt; &#039;2010-01-01&#039;&lt;br /&gt;
AND prod_code LIKE &#039;%M&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Single Line Orders===&lt;br /&gt;
The technique used here to identify which invoice are single product is unusual and noteworthy. There is a join against a sub-select because a sub-select on its own is only useful when looking for a single field and in this case we need both order_id and invoice_id. The last line is optional and should only be used when targeting specific products.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN ORDERHDR O ON O.order_id = I.order_id&lt;br /&gt;
JOIN ITEMSORD T ON T.order_id = I.order_id AND T.invoice_id = I.invoice_id&lt;br /&gt;
JOIN (SELECT order_id, invoice_id FROM itemsord&lt;br /&gt;
GROUP BY ORDER_ID, Invoice_id&lt;br /&gt;
HAVING count(line_id) = 1) j ON j.order_id = I.order_id AND j.invoice_id = I.invoice_id&lt;br /&gt;
WHERE I.TRANS_TYPE &amp;lt;&amp;gt; &#039;R&#039; --Excluding returns&lt;br /&gt;
AND T.PROD_CODE IN (&#039;SUB1&#039;,&#039;SUB2&#039;,&#039;SUB3&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Single Qty Item====&lt;br /&gt;
Similar to above, which is for single line orders but for any quantity ordered, the following looks for single quantity ordered as well. As above, the last line is optional and should only be used when targeting specific products.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN ORDERHDR O ON O.order_id = I.order_id&lt;br /&gt;
JOIN ITEMSORD T ON T.order_id = I.order_id &lt;br /&gt;
AND T.invoice_id = I.invoice_id &lt;br /&gt;
AND t.sent_qty =1 &lt;br /&gt;
AND (t.ret_qty + t.cancel_qty) = 0&lt;br /&gt;
JOIN (SELECT order_id, invoice_id FROM itemsord&lt;br /&gt;
GROUP BY ORDER_ID, Invoice_id&lt;br /&gt;
HAVING COUNT(line_id) = 1) j ON j.order_id = I.order_id AND j.invoice_id = I.invoice_id&lt;br /&gt;
WHERE T.PROD_CODE IN (&#039;SUB1&#039;,&#039;SUB2&#039;,&#039;SUB3&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices by State and Carrier===&lt;br /&gt;
We wrote this for invoice filtering by state. This shows the use of a sub-select that is not part of a join: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM Invoice I&lt;br /&gt;
JOIN Orderhdr O ON O.order_id = I.order_id&lt;br /&gt;
JOIN Address A ON A.ADDRESS_ID = I.SHIP_ID&lt;br /&gt;
WHERE A.STATE IN&lt;br /&gt;
(&#039;ME&#039;,&#039;NH&#039;,&#039;VT&#039;,&#039;MA&#039;,&#039;CT&#039;,&#039;RI&#039;,&#039;NJ&#039;,&#039;DE&#039;,&#039;MD&#039;,&#039;DC&#039;,&#039;NY&#039;,&#039;PA&#039;,&#039;VA&#039;,&#039;NC&#039;,&#039;SC&#039;,&#039;GA&#039;,&#039;TN&#039;,&#039;KY&#039;,&#039;WV&#039;,&#039;OH&#039;,&#039;AL&#039;)&lt;br /&gt;
AND O.SHIP_VIA IN (SELECT ship_code FROM SHIPPERS WHERE SHIPPER = &#039;UPS&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices using a specific shipping method AND have at least one item in a bin location range===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I&lt;br /&gt;
JOIN ORDERHDR O ON O.ORDER_ID = I.ORDER_ID&lt;br /&gt;
JOIN (&lt;br /&gt;
SELECT IO.INVOICE_ID, IO.ORDER_ID FROM SKUWARE S &lt;br /&gt;
JOIN ITEMSORD IO ON IO.SKU_ID = S.SKU_ID&lt;br /&gt;
WHERE REGEXP_SUBSTR(S.BINLOC,&#039;\d+\.\d&#039;) BETWEEN 3.0 AND 3.9&lt;br /&gt;
GROUP BY IO.ORDER_ID, IO.INVOICE_ID, IO.WAREHOUSE&lt;br /&gt;
) BIN ON BIN.INVOICE_ID = I.INVOICE_ID AND BIN.ORDER_ID = I.ORDER_ID&lt;br /&gt;
WHERE I.SHIPMETH_USED = &#039;First Class Mail&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Invoices using a specific shipping method AND have only items in a bin location range===&lt;br /&gt;
This assumes bin locations are numeric:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;tSQL&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DISTINCT I.* FROM INVOICE I &lt;br /&gt;
JOIN ORDERHDR O ON O.ORDER_ID = I.ORDER_ID&lt;br /&gt;
JOIN (SELECT IO.INVOICE_ID, &lt;br /&gt;
  IO.ORDER_ID, IO.WAREHOUSE, &lt;br /&gt;
  REGEXP_SUBSTR(S.BINLOC,&#039;\d+\.*\d*&#039;) AS BINLOC_NUM, &lt;br /&gt;
  COUNT(IO.ITEMID) AS ITEMS&lt;br /&gt;
  FROM SKUWARE S JOIN ITEMSORD IO ON IO.SKU_ID = S.SKU_ID&lt;br /&gt;
  GROUP BY IO.ORDER_ID, IO.INVOICE_ID, IO.WAREHOUSE, S.BINLOC&lt;br /&gt;
  HAVING BINLOC_NUM BETWEEN 3.0 AND 3.9&lt;br /&gt;
) IC ON IC.ORDER_ID = I.ORDER_ID AND IC.INVOICE_ID = I.INVOICE_ID&lt;br /&gt;
WHERE IC.ITEMS = (    &lt;br /&gt;
  SELECT COUNT(*) FROM ITEMSORD IO &lt;br /&gt;
  WHERE IO.ORDER_ID = I.ORDER_ID &lt;br /&gt;
  AND IO.INVOICE_ID = I.INVOICE_ID&lt;br /&gt;
) &lt;br /&gt;
AND I.SHIPMETH_USED = &#039;First Class Mail&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Related Articles=&lt;br /&gt;
*[[Compound Mail List Filters]]&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Creating_a_Database_Backup&amp;diff=2701</id>
		<title>Creating a Database Backup</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Creating_a_Database_Backup&amp;diff=2701"/>
		<updated>2020-08-07T16:37:37Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article covers how to create a Database backup in CMS 8.0 or later.&lt;br /&gt;
&lt;br /&gt;
==Setting up CMS to create a daily backup==&lt;br /&gt;
&lt;br /&gt;
To have CMS automatically create a backup of your database to a specified folder, please follow the instructions below. &lt;br /&gt;
&lt;br /&gt;
#Log into your PCI Administration account&lt;br /&gt;
#Select the PCI Administration drop-down menu&lt;br /&gt;
#Select Administration&lt;br /&gt;
#Select Daily Backup&lt;br /&gt;
#Select &#039;Perform the daily backup at the time and in the folder specified below&#039;&lt;br /&gt;
#Under Time to Backup, set the time you wish the backup to be created. &lt;br /&gt;
#Check mark &#039;Truncate the log&#039; (see below)&lt;br /&gt;
#Under &#039;Folder in which to create backup image&#039; select Browse&lt;br /&gt;
#Highlight the folder you wish to create the backup in (Please note: The Sybase service, which by default runs as LocalSystem, cannot access network drives, only local.) &lt;br /&gt;
#Select Ok&lt;br /&gt;
#Select Save these settings now. &lt;br /&gt;
&lt;br /&gt;
CMS will now create a backup to that specified folder, every day, at the time you have specified.&lt;br /&gt;
&lt;br /&gt;
===Important Info on Backup Routines===&lt;br /&gt;
Your database is a single file and contains all of your data. This file is locked by the Sybase database server, however, and cannot be copied, moved, deleted, or backed up. Using the above backup schedule allows Sybase to create a copy of its live database without having to shut down the database server. This also allows for 24/7 operation without having to stop to facilitate a backup.&lt;br /&gt;
&lt;br /&gt;
The backup of your database is almost all you need in order to recover from a catastrophe like a failed drive, stolen server, or office fire (we&#039;ve seen all of these.) Make sure you&#039;re backing up nightly and taking/uploading copies offsite regularly. The rest of your CMS install can be reinstalled in minutes, drop your backup in, and your back in business. No need to backup or protect the rest of the files in the NewHaven Software server share. If, however, you are storing your own files under our directory, please consider if they should be backed up.&lt;br /&gt;
&lt;br /&gt;
As of CMS TEN, there is one exception to the above. You&#039;ll also want a backup copy of your CMSdbo.ini file. This file does not change daily but it can change every 90 days or when a CMS update is installed. This file contains an encrypted portion of a partial password that CMS uses to access the database. Without this file, CMS cannot run and it is unique to you and your database. Be sure to also have a copy of this in your offsite backups and as part of any backup restoration procedure. If you do not have this file and need to restore a backup, the database file will have to be sent to NewHaven Software where the password can be reset. This process is time-consuming and is not part of standard support.&lt;br /&gt;
&lt;br /&gt;
====Truncating the Log====&lt;br /&gt;
For normal operation, we recommend that you run with the Truncate option enabled. Truncation keeps the size of your log file down to only include database changes since your last backup. This will save space on your server and potentially improving performance. Typically you&#039;d only run with truncation disabled if you&#039;re working with NewHaven Software Support to troubleshoot a problem that cannot be replicated and need to build up a log file over time.&lt;br /&gt;
&lt;br /&gt;
Truncation occurs during the scheduled backup event but does not occur when creating an immediate backup (see below.)&lt;br /&gt;
&lt;br /&gt;
====Training Database====&lt;br /&gt;
If you are running a Training database, chances are you do not need a backup of this and the daily backup should be disabled. If you decide that you want to backup the Training database as well, please do so to a different directory and backup time than your production database to avoid conflicts (the training database uses the same log file name.)&lt;br /&gt;
&lt;br /&gt;
==How to have CMS create an immediate backup of your database==&lt;br /&gt;
&lt;br /&gt;
#Log into your PCI Administration account&lt;br /&gt;
#Select the PCI Administration drop-down menu&lt;br /&gt;
#Select Administration&lt;br /&gt;
#Select Daily Backup&lt;br /&gt;
#Under &#039;Folder in which to create backup image&#039; select Browse&lt;br /&gt;
#Highlight the folder you wish to create the backup in (Please note: CMS can NOT Create a backup to a networked drive, only local drives) &lt;br /&gt;
#Select Ok&lt;br /&gt;
#Select &#039;Immediately create a Backup Image in the specified folder&#039;&lt;br /&gt;
&lt;br /&gt;
CMS will create a backup to the folder you have specified.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Creating_a_Database_Backup&amp;diff=2700</id>
		<title>Creating a Database Backup</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Creating_a_Database_Backup&amp;diff=2700"/>
		<updated>2020-08-07T16:20:18Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article covers how to create a Database backup in CMS 8.0 or later.&lt;br /&gt;
&lt;br /&gt;
==Setting up CMS to create a daily backup==&lt;br /&gt;
&lt;br /&gt;
To have CMS automatically create a backup of your database to a specified folder, please follow the instructions below. &lt;br /&gt;
&lt;br /&gt;
#Log into your PCI Administration account&lt;br /&gt;
#Select the PCI Administration drop-down menu&lt;br /&gt;
#Select Administration&lt;br /&gt;
#Select Daily Backup&lt;br /&gt;
#Select &#039;Perform the daily backup at the time and in the folder specified below&#039;&lt;br /&gt;
#Under Time to Backup, set the time you wish the backup to be created. &lt;br /&gt;
#Check mark &#039;Truncate the log&#039; (see below)&lt;br /&gt;
#Under &#039;Folder in which to create backup image&#039; select Browse&lt;br /&gt;
#Highlight the folder you wish to create the backup in (Please note: The Sybase service, which by default runs as LocalSystem, cannot access network drives, only local.) &lt;br /&gt;
#Select Ok&lt;br /&gt;
#Select Save these settings now. &lt;br /&gt;
&lt;br /&gt;
CMS will now create a backup to that specified folder, every day, at the time you have specified.&lt;br /&gt;
&lt;br /&gt;
===Important Info on Backup Routines===&lt;br /&gt;
Your database is a single file and contains all of your data. This file is locked by the Sybase database server, however, and cannot be copied, moved, deleted, or backed up. Using the above backup schedule allows Sybase to create a copy of its live database without having to shut down the database server. This also allows for 24/7 operation without having to stop to facilitate a backup.&lt;br /&gt;
&lt;br /&gt;
The backup of your database is almost all you need in order to recover from a catastrophe like a failed drive, stolen server, or office fire (we&#039;ve seen all of these.) Make sure you&#039;re backing up nightly and taking/uploading copies offsite regularly. The rest of your CMS install can be reinstalled in minutes, drop your backup in, and your back in business. No need to backup or protect the rest of the files in the NewHaven Software server share. If, however, you are storing your own files under our directory, please consider if they should be backed up.&lt;br /&gt;
&lt;br /&gt;
As of CMS TEN, there is one exception to the above. You&#039;ll also want a backup copy of your CMSdbo.ini file. This file does not change daily but it can change every 90 days or when a CMS update is installed. This file contains an encrypted portion of a partial password that CMS uses to access the database. Without this file, CMS cannot run and it is unique to you and your database. Be sure to also have a copy of this in your offsite backups and as part of any backup restoration procedure. If you do not have this file and need to restore a backup, the database file will have to be sent to NewHaven Software where the password can be reset. This process is time-consuming and is not part of standard support.&lt;br /&gt;
&lt;br /&gt;
====Truncating the Log====&lt;br /&gt;
For normal operation, we recommend that you run with the Truncate option enabled. Truncation keeps the size of your log file down to only include database changes since your last backup. This will save space on your server and potentially improving performance. Typically you&#039;d only run with truncation disabled if you&#039;re working with NewHaven Software Support to troubleshoot a problem that cannot be replicated and need to build up a log file over time.&lt;br /&gt;
&lt;br /&gt;
Truncation occurs during the scheduled backup event but does not occur when creating an immediate backup (see below.)&lt;br /&gt;
&lt;br /&gt;
==How to have CMS create an immediate backup of your database==&lt;br /&gt;
&lt;br /&gt;
#Log into your PCI Administration account&lt;br /&gt;
#Select the PCI Administration drop-down menu&lt;br /&gt;
#Select Administration&lt;br /&gt;
#Select Daily Backup&lt;br /&gt;
#Under &#039;Folder in which to create backup image&#039; select Browse&lt;br /&gt;
#Highlight the folder you wish to create the backup in (Please note: CMS can NOT Create a backup to a networked drive, only local drives) &lt;br /&gt;
#Select Ok&lt;br /&gt;
#Select &#039;Immediately create a Backup Image in the specified folder&#039;&lt;br /&gt;
&lt;br /&gt;
CMS will create a backup to the folder you have specified.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Creating_an_ODBC_connection&amp;diff=2699</id>
		<title>Creating an ODBC connection</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Creating_an_ODBC_connection&amp;diff=2699"/>
		<updated>2020-08-06T17:31:27Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
CMS connects to its database via an [http://en.wikipedia.org/wiki/ODBC ODBC] connection. CMS creates the necessary ODBC definitions in Windows on the fly when you launch CMS. It uses information from the file CMSdb.ini in your NewHaven Software directory (plus a number of other default settings) to do this.&lt;br /&gt;
&lt;br /&gt;
ODBC is also the connection method that would be used by any other application you may wish to connect to your database. Examples might include UPS Worldship, FedEx Ship Manager, Microsoft Access, Crystal Reports, Bartender (bar code printing), or one of many other applications that need access to your CMS data.&lt;br /&gt;
&lt;br /&gt;
This article details the instructions for hand-creating an ODBC connection to your CMS Database.&lt;br /&gt;
&lt;br /&gt;
== Prepare to create your ODBC connection ==&lt;br /&gt;
&lt;br /&gt;
#These instructions only pertain to creating an ODBC connection for Sybase 12. These connections only work with CMS version 8.x and above. &lt;br /&gt;
#You will need the Sybase 12 ODBC driver installed on your system. If you do not have this driver you can install it by running a CMS Workstation install. To do this review the instructions in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
==Open the correct ODBC Manager==&lt;br /&gt;
&lt;br /&gt;
Before creating an ODBC connection you will need to make sure you open the 32 bit ODBC manager (It does not matter if you are on a 64 bit system you will still need to use the 32 bit manager). You can access this from the Start Menu &amp;gt; Programs &amp;gt; NewHaven Software &amp;gt; Data Sources (ODBC). For more detailed information on this please see the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/64-bit_vs._32-bit_ODBC_Drivers&lt;br /&gt;
&lt;br /&gt;
=Creating the ODBC connection=&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC1.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC2.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC3.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC4.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC5.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC6.png]]&lt;br /&gt;
===Optional step if you find Crystal is throwing errors when running but CMS is fine:===&lt;br /&gt;
[[image:ODBC7.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC8.png]]&lt;br /&gt;
&lt;br /&gt;
[[image:ODBC9.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After following these instructions you now haven an active ODBC connection to your CMS database.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2698</id>
		<title>Moving CMS to a New Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2698"/>
		<updated>2020-07-07T16:38:58Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Step 13 - Connecting Workstations to CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the instructions for moving your CMS installation from an old server to a new server including moving your data.&lt;br /&gt;
&lt;br /&gt;
This process is a large undertaking that will require CMS to be down during the move.  As a result please inform NewHaven Support of the day you plan to do the server migration. This is so we may either set up a appointment with you to guide you through the process, or at least ensure we have staff available to you in case you find you require assistance. &lt;br /&gt;
&lt;br /&gt;
The following instructions have 4 major themes to them: &lt;br /&gt;
&lt;br /&gt;
#	Preparing to move CMS to the new System.&lt;br /&gt;
#	Installing CMS on the new System. &lt;br /&gt;
#	Moving the old Database to the new System. &lt;br /&gt;
#	Updating the old Database to the new version of CMS&lt;br /&gt;
&lt;br /&gt;
The above list is to help outline what exactly the following instructions are attempting to accomplish and to give you an overview of the process you are about to undertake. &lt;br /&gt;
&lt;br /&gt;
=Moving CMS on to a new server=&lt;br /&gt;
== Step 1 - Prerequisites==&lt;br /&gt;
CRITICAL! ALL USERS MUST EXIT CMS PRIOR TO INSTALLING CMS SERVER ON ANOTHER COMPUTER!&lt;br /&gt;
&lt;br /&gt;
CRITICAL! YOU MUST BE LOGGED IN AS THE COMPUTER ADMINISTRATOR OR A USER THAT IS A MEMBER OF THE ADMINISTRATORS GROUP! &lt;br /&gt;
&lt;br /&gt;
==Step 2 - Make a backup image of CMS Database files==&lt;br /&gt;
We need to create a backup of your current live database to transfer to the new server. &lt;br /&gt;
To create a backup of your database please review the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Stop and Disable the Sybase service on your old system (Skip this step if running CMS Solo) ==&lt;br /&gt;
Next we will need to disable the Sybase service on your old system. This step is done to ensure there is no conflict with the database services when we do the install on the new system. &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Stop_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Disable sharing on the NewHaven Software folder == &lt;br /&gt;
This is to ensure we do not accidentally connect workstations to the old server after the migration is complete. &lt;br /&gt;
&lt;br /&gt;
For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Install CMS Server on the new computer. ==&lt;br /&gt;
&lt;br /&gt;
To do so please follow the information in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Stopping the Sybase service on the new computer (Skip this step if running CMS Solo) ==&lt;br /&gt;
We need to stop the Sybase service now to transfer in the copy of the database from the old server. &lt;br /&gt;
&lt;br /&gt;
To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Copying over your Database and log file to the new system ==&lt;br /&gt;
#Create a new folder in the NewHaven Software\Data folder. Name it CLEAN. &lt;br /&gt;
#There should be two files in the NewHaven Software\Data\ ( Your Database Name) folder; one with a .db extension and one with a .log extension. Move both of these files into the NewHaven Software\Data\Clean folder you just created. &lt;br /&gt;
#Copy the .db and .log file from the old CMS Server computer into the NewHaven Software\Data\ (Your Database Name) folder on your new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Copying over the CMSDBO.ini file and Custom Reports == &lt;br /&gt;
We now need to copy over the CMSDBO.ini file to ensure CMS is able to start, as well as any custom reports. &lt;br /&gt;
&lt;br /&gt;
# Check the NewHaven Software folder on the old server, see if there is a file present called CMSDBO.ini, if it is not there skip the next step.  &lt;br /&gt;
# If this file is present please copy and move it into the NewHaven Software folder on your new system. &lt;br /&gt;
# Also if you have any custom reports please make sure to move them to the new server as well.&lt;br /&gt;
&lt;br /&gt;
== Step 9 -  Restart the Sybase service on the new computer (Skip this step if running CMS Solo) == &lt;br /&gt;
You will now need to stop the Sybase service on the new computer. To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Start_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Log into CMS == &lt;br /&gt;
Log into CMS and confirm it is working. If you get a database mismatch error message, you will need to rerun the setup and reboot the computer in order to sync up the CMS application and database. To do so please follow the instructions in http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 11 - Check your backup ==&lt;br /&gt;
&lt;br /&gt;
Check your CMS backup settings in to ensure the path that it is using to backup its files is still valid on this server. To access this please follow the information in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 12 - Sharing the NewHaven Software folder == &lt;br /&gt;
Once you confirm CMS is working on the new installation, you can share out the  NewHaven Software folder so your workstations are able to connect to it.  For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 13 - Connecting Workstations to CMS (Skip this step if running CMS Solo) == &lt;br /&gt;
If the server is on the same network as your old server. All you need to do is remap the NewHaven Software shared drive on the workstations to the new server. For information on how to do that please review the video below: &lt;br /&gt;
http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
If these workstations are on a NEW network along with the server, or you are also installing new workstations, please follow the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
NOTE: Workstations must be on the same subnet as the server for CMS to be able to detect and connect to its database server. If this is not reasonable to do, please contact us for additional configuration options.&lt;br /&gt;
&lt;br /&gt;
== Step 14 - Removing CMS from the old system == &lt;br /&gt;
Uninstall CMS Server from the old computer to ensure the potentially conflicting Sybase service is removed and that everyone is running CMS from the same directory on the new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 15 - Updating CMS to the latest version == &lt;br /&gt;
&lt;br /&gt;
At this point if you need to update CMS to the latest version, please follow the information in the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2697</id>
		<title>Moving CMS to a New Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2697"/>
		<updated>2020-07-07T16:38:46Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Step 9 -  Restart the Sybase service on the new computer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the instructions for moving your CMS installation from an old server to a new server including moving your data.&lt;br /&gt;
&lt;br /&gt;
This process is a large undertaking that will require CMS to be down during the move.  As a result please inform NewHaven Support of the day you plan to do the server migration. This is so we may either set up a appointment with you to guide you through the process, or at least ensure we have staff available to you in case you find you require assistance. &lt;br /&gt;
&lt;br /&gt;
The following instructions have 4 major themes to them: &lt;br /&gt;
&lt;br /&gt;
#	Preparing to move CMS to the new System.&lt;br /&gt;
#	Installing CMS on the new System. &lt;br /&gt;
#	Moving the old Database to the new System. &lt;br /&gt;
#	Updating the old Database to the new version of CMS&lt;br /&gt;
&lt;br /&gt;
The above list is to help outline what exactly the following instructions are attempting to accomplish and to give you an overview of the process you are about to undertake. &lt;br /&gt;
&lt;br /&gt;
=Moving CMS on to a new server=&lt;br /&gt;
== Step 1 - Prerequisites==&lt;br /&gt;
CRITICAL! ALL USERS MUST EXIT CMS PRIOR TO INSTALLING CMS SERVER ON ANOTHER COMPUTER!&lt;br /&gt;
&lt;br /&gt;
CRITICAL! YOU MUST BE LOGGED IN AS THE COMPUTER ADMINISTRATOR OR A USER THAT IS A MEMBER OF THE ADMINISTRATORS GROUP! &lt;br /&gt;
&lt;br /&gt;
==Step 2 - Make a backup image of CMS Database files==&lt;br /&gt;
We need to create a backup of your current live database to transfer to the new server. &lt;br /&gt;
To create a backup of your database please review the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Stop and Disable the Sybase service on your old system (Skip this step if running CMS Solo) ==&lt;br /&gt;
Next we will need to disable the Sybase service on your old system. This step is done to ensure there is no conflict with the database services when we do the install on the new system. &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Stop_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Disable sharing on the NewHaven Software folder == &lt;br /&gt;
This is to ensure we do not accidentally connect workstations to the old server after the migration is complete. &lt;br /&gt;
&lt;br /&gt;
For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Install CMS Server on the new computer. ==&lt;br /&gt;
&lt;br /&gt;
To do so please follow the information in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Stopping the Sybase service on the new computer (Skip this step if running CMS Solo) ==&lt;br /&gt;
We need to stop the Sybase service now to transfer in the copy of the database from the old server. &lt;br /&gt;
&lt;br /&gt;
To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Copying over your Database and log file to the new system ==&lt;br /&gt;
#Create a new folder in the NewHaven Software\Data folder. Name it CLEAN. &lt;br /&gt;
#There should be two files in the NewHaven Software\Data\ ( Your Database Name) folder; one with a .db extension and one with a .log extension. Move both of these files into the NewHaven Software\Data\Clean folder you just created. &lt;br /&gt;
#Copy the .db and .log file from the old CMS Server computer into the NewHaven Software\Data\ (Your Database Name) folder on your new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Copying over the CMSDBO.ini file and Custom Reports == &lt;br /&gt;
We now need to copy over the CMSDBO.ini file to ensure CMS is able to start, as well as any custom reports. &lt;br /&gt;
&lt;br /&gt;
# Check the NewHaven Software folder on the old server, see if there is a file present called CMSDBO.ini, if it is not there skip the next step.  &lt;br /&gt;
# If this file is present please copy and move it into the NewHaven Software folder on your new system. &lt;br /&gt;
# Also if you have any custom reports please make sure to move them to the new server as well.&lt;br /&gt;
&lt;br /&gt;
== Step 9 -  Restart the Sybase service on the new computer (Skip this step if running CMS Solo) == &lt;br /&gt;
You will now need to stop the Sybase service on the new computer. To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Start_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Log into CMS == &lt;br /&gt;
Log into CMS and confirm it is working. If you get a database mismatch error message, you will need to rerun the setup and reboot the computer in order to sync up the CMS application and database. To do so please follow the instructions in http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 11 - Check your backup ==&lt;br /&gt;
&lt;br /&gt;
Check your CMS backup settings in to ensure the path that it is using to backup its files is still valid on this server. To access this please follow the information in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 12 - Sharing the NewHaven Software folder == &lt;br /&gt;
Once you confirm CMS is working on the new installation, you can share out the  NewHaven Software folder so your workstations are able to connect to it.  For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 13 - Connecting Workstations to CMS == &lt;br /&gt;
If the server is on the same network as your old server. All you need to do is remap the NewHaven Software shared drive on the workstations to the new server. For information on how to do that please review the video below: &lt;br /&gt;
http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
If these workstations are on a NEW network along with the server, or you are also installing new workstations, please follow the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
NOTE: Workstations must be on the same subnet as the server for CMS to be able to detect and connect to its database server. If this is not reasonable to do, please contact us for additional configuration options.&lt;br /&gt;
&lt;br /&gt;
== Step 14 - Removing CMS from the old system == &lt;br /&gt;
Uninstall CMS Server from the old computer to ensure the potentially conflicting Sybase service is removed and that everyone is running CMS from the same directory on the new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 15 - Updating CMS to the latest version == &lt;br /&gt;
&lt;br /&gt;
At this point if you need to update CMS to the latest version, please follow the information in the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2696</id>
		<title>Moving CMS to a New Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2696"/>
		<updated>2020-07-07T16:38:30Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Step 6 - Stopping the Sybase service on the new computer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the instructions for moving your CMS installation from an old server to a new server including moving your data.&lt;br /&gt;
&lt;br /&gt;
This process is a large undertaking that will require CMS to be down during the move.  As a result please inform NewHaven Support of the day you plan to do the server migration. This is so we may either set up a appointment with you to guide you through the process, or at least ensure we have staff available to you in case you find you require assistance. &lt;br /&gt;
&lt;br /&gt;
The following instructions have 4 major themes to them: &lt;br /&gt;
&lt;br /&gt;
#	Preparing to move CMS to the new System.&lt;br /&gt;
#	Installing CMS on the new System. &lt;br /&gt;
#	Moving the old Database to the new System. &lt;br /&gt;
#	Updating the old Database to the new version of CMS&lt;br /&gt;
&lt;br /&gt;
The above list is to help outline what exactly the following instructions are attempting to accomplish and to give you an overview of the process you are about to undertake. &lt;br /&gt;
&lt;br /&gt;
=Moving CMS on to a new server=&lt;br /&gt;
== Step 1 - Prerequisites==&lt;br /&gt;
CRITICAL! ALL USERS MUST EXIT CMS PRIOR TO INSTALLING CMS SERVER ON ANOTHER COMPUTER!&lt;br /&gt;
&lt;br /&gt;
CRITICAL! YOU MUST BE LOGGED IN AS THE COMPUTER ADMINISTRATOR OR A USER THAT IS A MEMBER OF THE ADMINISTRATORS GROUP! &lt;br /&gt;
&lt;br /&gt;
==Step 2 - Make a backup image of CMS Database files==&lt;br /&gt;
We need to create a backup of your current live database to transfer to the new server. &lt;br /&gt;
To create a backup of your database please review the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Stop and Disable the Sybase service on your old system (Skip this step if running CMS Solo) ==&lt;br /&gt;
Next we will need to disable the Sybase service on your old system. This step is done to ensure there is no conflict with the database services when we do the install on the new system. &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Stop_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Disable sharing on the NewHaven Software folder == &lt;br /&gt;
This is to ensure we do not accidentally connect workstations to the old server after the migration is complete. &lt;br /&gt;
&lt;br /&gt;
For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Install CMS Server on the new computer. ==&lt;br /&gt;
&lt;br /&gt;
To do so please follow the information in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Stopping the Sybase service on the new computer (Skip this step if running CMS Solo) ==&lt;br /&gt;
We need to stop the Sybase service now to transfer in the copy of the database from the old server. &lt;br /&gt;
&lt;br /&gt;
To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Copying over your Database and log file to the new system ==&lt;br /&gt;
#Create a new folder in the NewHaven Software\Data folder. Name it CLEAN. &lt;br /&gt;
#There should be two files in the NewHaven Software\Data\ ( Your Database Name) folder; one with a .db extension and one with a .log extension. Move both of these files into the NewHaven Software\Data\Clean folder you just created. &lt;br /&gt;
#Copy the .db and .log file from the old CMS Server computer into the NewHaven Software\Data\ (Your Database Name) folder on your new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Copying over the CMSDBO.ini file and Custom Reports == &lt;br /&gt;
We now need to copy over the CMSDBO.ini file to ensure CMS is able to start, as well as any custom reports. &lt;br /&gt;
&lt;br /&gt;
# Check the NewHaven Software folder on the old server, see if there is a file present called CMSDBO.ini, if it is not there skip the next step.  &lt;br /&gt;
# If this file is present please copy and move it into the NewHaven Software folder on your new system. &lt;br /&gt;
# Also if you have any custom reports please make sure to move them to the new server as well.&lt;br /&gt;
&lt;br /&gt;
== Step 9 -  Restart the Sybase service on the new computer == &lt;br /&gt;
You will now need to stop the Sybase service on the new computer. To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Start_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Log into CMS == &lt;br /&gt;
Log into CMS and confirm it is working. If you get a database mismatch error message, you will need to rerun the setup and reboot the computer in order to sync up the CMS application and database. To do so please follow the instructions in http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 11 - Check your backup ==&lt;br /&gt;
&lt;br /&gt;
Check your CMS backup settings in to ensure the path that it is using to backup its files is still valid on this server. To access this please follow the information in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 12 - Sharing the NewHaven Software folder == &lt;br /&gt;
Once you confirm CMS is working on the new installation, you can share out the  NewHaven Software folder so your workstations are able to connect to it.  For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 13 - Connecting Workstations to CMS == &lt;br /&gt;
If the server is on the same network as your old server. All you need to do is remap the NewHaven Software shared drive on the workstations to the new server. For information on how to do that please review the video below: &lt;br /&gt;
http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
If these workstations are on a NEW network along with the server, or you are also installing new workstations, please follow the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
NOTE: Workstations must be on the same subnet as the server for CMS to be able to detect and connect to its database server. If this is not reasonable to do, please contact us for additional configuration options.&lt;br /&gt;
&lt;br /&gt;
== Step 14 - Removing CMS from the old system == &lt;br /&gt;
Uninstall CMS Server from the old computer to ensure the potentially conflicting Sybase service is removed and that everyone is running CMS from the same directory on the new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 15 - Updating CMS to the latest version == &lt;br /&gt;
&lt;br /&gt;
At this point if you need to update CMS to the latest version, please follow the information in the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2695</id>
		<title>Moving CMS to a New Server</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Moving_CMS_to_a_New_Server&amp;diff=2695"/>
		<updated>2020-07-07T16:38:00Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Step 3 - Stop and Disable the Sybase service on your old system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This article details the instructions for moving your CMS installation from an old server to a new server including moving your data.&lt;br /&gt;
&lt;br /&gt;
This process is a large undertaking that will require CMS to be down during the move.  As a result please inform NewHaven Support of the day you plan to do the server migration. This is so we may either set up a appointment with you to guide you through the process, or at least ensure we have staff available to you in case you find you require assistance. &lt;br /&gt;
&lt;br /&gt;
The following instructions have 4 major themes to them: &lt;br /&gt;
&lt;br /&gt;
#	Preparing to move CMS to the new System.&lt;br /&gt;
#	Installing CMS on the new System. &lt;br /&gt;
#	Moving the old Database to the new System. &lt;br /&gt;
#	Updating the old Database to the new version of CMS&lt;br /&gt;
&lt;br /&gt;
The above list is to help outline what exactly the following instructions are attempting to accomplish and to give you an overview of the process you are about to undertake. &lt;br /&gt;
&lt;br /&gt;
=Moving CMS on to a new server=&lt;br /&gt;
== Step 1 - Prerequisites==&lt;br /&gt;
CRITICAL! ALL USERS MUST EXIT CMS PRIOR TO INSTALLING CMS SERVER ON ANOTHER COMPUTER!&lt;br /&gt;
&lt;br /&gt;
CRITICAL! YOU MUST BE LOGGED IN AS THE COMPUTER ADMINISTRATOR OR A USER THAT IS A MEMBER OF THE ADMINISTRATORS GROUP! &lt;br /&gt;
&lt;br /&gt;
==Step 2 - Make a backup image of CMS Database files==&lt;br /&gt;
We need to create a backup of your current live database to transfer to the new server. &lt;br /&gt;
To create a backup of your database please review the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 3 - Stop and Disable the Sybase service on your old system (Skip this step if running CMS Solo) ==&lt;br /&gt;
Next we will need to disable the Sybase service on your old system. This step is done to ensure there is no conflict with the database services when we do the install on the new system. &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Stop_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 4 - Disable sharing on the NewHaven Software folder == &lt;br /&gt;
This is to ensure we do not accidentally connect workstations to the old server after the migration is complete. &lt;br /&gt;
&lt;br /&gt;
For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 5 - Install CMS Server on the new computer. ==&lt;br /&gt;
&lt;br /&gt;
To do so please follow the information in the link below. &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 6 - Stopping the Sybase service on the new computer ==&lt;br /&gt;
We need to stop the Sybase service now to transfer in the copy of the database from the old server. &lt;br /&gt;
&lt;br /&gt;
To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 7 - Copying over your Database and log file to the new system ==&lt;br /&gt;
#Create a new folder in the NewHaven Software\Data folder. Name it CLEAN. &lt;br /&gt;
#There should be two files in the NewHaven Software\Data\ ( Your Database Name) folder; one with a .db extension and one with a .log extension. Move both of these files into the NewHaven Software\Data\Clean folder you just created. &lt;br /&gt;
#Copy the .db and .log file from the old CMS Server computer into the NewHaven Software\Data\ (Your Database Name) folder on your new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 8 - Copying over the CMSDBO.ini file and Custom Reports == &lt;br /&gt;
We now need to copy over the CMSDBO.ini file to ensure CMS is able to start, as well as any custom reports. &lt;br /&gt;
&lt;br /&gt;
# Check the NewHaven Software folder on the old server, see if there is a file present called CMSDBO.ini, if it is not there skip the next step.  &lt;br /&gt;
# If this file is present please copy and move it into the NewHaven Software folder on your new system. &lt;br /&gt;
# Also if you have any custom reports please make sure to move them to the new server as well.&lt;br /&gt;
&lt;br /&gt;
== Step 9 -  Restart the Sybase service on the new computer == &lt;br /&gt;
You will now need to stop the Sybase service on the new computer. To do so please follow the links below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/How_to_stop_and_start_the_Sybase_service#How_to_Start_the_Sybase_service_if_running_CMS_8.0_or_later&lt;br /&gt;
&lt;br /&gt;
== Step 10 - Log into CMS == &lt;br /&gt;
Log into CMS and confirm it is working. If you get a database mismatch error message, you will need to rerun the setup and reboot the computer in order to sync up the CMS application and database. To do so please follow the instructions in http://wiki.newhavensoftware.com/index.php/Server_Update&lt;br /&gt;
&lt;br /&gt;
== Step 11 - Check your backup ==&lt;br /&gt;
&lt;br /&gt;
Check your CMS backup settings in to ensure the path that it is using to backup its files is still valid on this server. To access this please follow the information in the link below: &lt;br /&gt;
&lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Creating_a_Database_Backup&lt;br /&gt;
&lt;br /&gt;
== Step 12 - Sharing the NewHaven Software folder == &lt;br /&gt;
Once you confirm CMS is working on the new installation, you can share out the  NewHaven Software folder so your workstations are able to connect to it.  For information on how to do this please visit http://wiki.newhavensoftware.com/index.php/Folder_sharing_in_Windows&lt;br /&gt;
&lt;br /&gt;
== Step 13 - Connecting Workstations to CMS == &lt;br /&gt;
If the server is on the same network as your old server. All you need to do is remap the NewHaven Software shared drive on the workstations to the new server. For information on how to do that please review the video below: &lt;br /&gt;
http://youtu.be/dBbd94k7b0A&lt;br /&gt;
&lt;br /&gt;
If these workstations are on a NEW network along with the server, or you are also installing new workstations, please follow the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Workstation_Install&lt;br /&gt;
&lt;br /&gt;
NOTE: Workstations must be on the same subnet as the server for CMS to be able to detect and connect to its database server. If this is not reasonable to do, please contact us for additional configuration options.&lt;br /&gt;
&lt;br /&gt;
== Step 14 - Removing CMS from the old system == &lt;br /&gt;
Uninstall CMS Server from the old computer to ensure the potentially conflicting Sybase service is removed and that everyone is running CMS from the same directory on the new CMS Server computer.&lt;br /&gt;
&lt;br /&gt;
== Step 15 - Updating CMS to the latest version == &lt;br /&gt;
&lt;br /&gt;
At this point if you need to update CMS to the latest version, please follow the information in the link below: &lt;br /&gt;
http://wiki.newhavensoftware.com/index.php/Server_Update&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=EMV_Cards&amp;diff=2694</id>
		<title>EMV Cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=EMV_Cards&amp;diff=2694"/>
		<updated>2020-06-26T15:29:02Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* I want it already, what&amp;#039;s the ETA? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some background information on EMV cards, clarification on the industry&#039;s roll-out plans, requirements, and frequently asked questions.&lt;br /&gt;
&lt;br /&gt;
=[http://merchant.mercurypay.com/secure-my-business/getting-ready-emv/what-is-emv/ What is EMV?]=&lt;br /&gt;
The above title is a link to an informative article from one of our payment processing partners, Mercury Payment Systems (MPS) and is worth the read. EMV cards are also referred to as &amp;quot;chip card&amp;quot; (because they have a chip embedded in the card) or &amp;quot;smart cards&amp;quot;. Another type of chip card is [http://www.transfirst.com/secure-processing/NFC NFC] which is Near Field Communications chip. The new retail devices that support EMV will have you insert the card, chip first into a slot on the front, instead of swiping the mag stripe. For NFC cards/readers you&#039;d merely wave the chip over the reader. New smartphone enabled payment applications like Apple Pay use this NFC technology as well.&lt;br /&gt;
&lt;br /&gt;
=Why chips?=&lt;br /&gt;
The chip is used in lieu of the magnetic stripe to communicate the card number, expiration date, and card holder&#039;s name (but not the CVC) to the device you insert it into. The use of EMV is prevalent worldwide (we&#039;re late to the game in the U.S.A.) and helps to reduce fraudulent &amp;quot;card-present&amp;quot; transactions since the chips are not easily duplicated. The magnetic (mag) stripes, by comparison, are easily swiped by fake readers and then duplicated.&lt;br /&gt;
&lt;br /&gt;
When a card is swiped, the terminal performs an initial communication to the processor to see if the card was issued with an EMV chip or not. If so you&#039;ll be prompted to insert the card into the terminal instead. This addresses the scenario where a thief has picked up your card data by NFC and created a fake mag stripe version of the card.&lt;br /&gt;
&lt;br /&gt;
[http://info.mercurypay.com/rs/772-ISK-107/images/Nov_10_Messenger_Article2_EMVtransaction.pdf Article explaining the details of an EMV transaction]&lt;br /&gt;
&lt;br /&gt;
MPS has outlined the Benefits of EMV to include:&lt;br /&gt;
*Reduced risk of accepting counterfeit cards&lt;br /&gt;
*Reduced risk of card skimming at the POS terminal&lt;br /&gt;
*Accepting foreign cards which are already EMV enabled&lt;br /&gt;
*Modernized POS with support for EMV and contactless payment technologies (NFC)&lt;br /&gt;
&lt;br /&gt;
That said, it offers no additional security for card use online or by phone (CNP - card not present transactions). It&#039;s worth noting that these cards still have a mag stripe on them to be used with traditional/current card swipe solutions since it is expected that it will take retailers a few years to implement chip card readers.&lt;br /&gt;
&lt;br /&gt;
Statement from Square on the topic (Sept 2015):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here’s some data we’ve seen: about 17 percent of the cards swiped on Square Stand or Reader now contain a chip, up from roughly 3.5 percent in January 2014. For now, the majority of the cards are still being processed as magnetic-stripe transactions (all chip cards also have a magnetic stripe on the back). But as sellers upgrade to EMV technology, more and more of these transactions will be processed via the chip on the card instead of the magnetic stripe. A big milestone here is the liability shift, which, as we mentioned, happens in October. At the current pace of chip card issuance, we expect roughly 35-40 percent of cards to be chip-enabled by the time the liability shift hits (though this may change if issuers speed up or slow down their pace). - See more at: http://paymentsjournal.com/Content/Featured_Stories/26769/#sthash.XSpykLlN.dpuf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Should I care?=&lt;br /&gt;
If you do all of your business by phone and/or online (card not present), no need to worry about the change. It is something you&#039;ll want to consider if you accept physical cards (card present). At this stage accepting EMV cards does not impact your processing rates and we&#039;ve not heard plans to do so.&lt;br /&gt;
&lt;br /&gt;
As a consumer you&#039;ll start receiving new chip cards from your credit card providers and be instructed on how to use them as merchants begin adopting the hardware needed to process them.&lt;br /&gt;
&lt;br /&gt;
=Do I have to accept EMV in my store?=&lt;br /&gt;
[http://merchant.mercurypay.com/secure-my-business/getting-ready-emv/do-i-need-emv/ &amp;quot;U.S. merchants are not required to implement EMV by October 2015&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Supporting EMV is not a requirement, see the link above or the following article from Visa:&lt;br /&gt;
&lt;br /&gt;
*http://usa.visa.com/merchants/grow-your-business/payment-technologies/credit-card-chip/liability-shift.jsp&lt;br /&gt;
&lt;br /&gt;
Be aware that if you accept an EMV card by using its mag stripe instead, and the charge turns out to be fraudulent, you will be responsible for the fraudulent transaction costs.&lt;br /&gt;
&lt;br /&gt;
=What is my exposure to PCI fines?=&lt;br /&gt;
This is not about PCI, breaches or the crippling fines that go with them. If a fraudulent transaction occurs with an EMV card, the merchant is responsible for the cost of that fraudulent transaction. See this [http://www.discovernetwork.com/chip-card/images/Merchant%20Store%20Owner_Fraud%20Liability%20Shift%20Overview.pdf pdf/graphic from Discover] which, on page 2, does a nice job of illustrating which scenarios impact the merchant. It is not a data breach that would incur PCI fines. Here is an article from the PCI Council that explains their stance:&lt;br /&gt;
&lt;br /&gt;
*https://www.pcisecuritystandards.org/news_events/quick_resources/increasing_security_with_emv_chip_and_pci.php&lt;br /&gt;
&lt;br /&gt;
It does help to reduce fraudulent card-present transactions. While not a requirement, you may find it is worth the expense/effort to implement an EMV card reader.&lt;br /&gt;
&lt;br /&gt;
There is an additional scenario where if the card was swiped in your store and then a duplicate card was created by someone obtaining the mag stripe data from your system, you would then also be liable for any transactions made with the duplicated card. CMS does not, however, store the mag stripe data (per our adherence to PA-DSS 3.1 regulations) so this should not be a concern for CMS users unless your mag stripe reader itself was replaced/spoofed.&lt;br /&gt;
&lt;br /&gt;
=Is EMV required?=&lt;br /&gt;
The first phase of the EMV roll-out is October 1, 2015 but even then it is not required. These articles confirm it is a liability shift, not a requirement:&lt;br /&gt;
&lt;br /&gt;
*http://merchant.mercurypay.com/secure-my-business/getting-ready-emv/do-i-need-emv/&lt;br /&gt;
*http://usa.visa.com/merchants/grow-your-business/payment-technologies/credit-card-chip/liability-shift.jsp&lt;br /&gt;
*http://www.mercurypay.com/article/emv-chip-card-technology&lt;br /&gt;
&lt;br /&gt;
Our primary payment partner MPS recently announced their EMV solution in April 2015 and we are a now researching how we can support it. The only solution for EMV is to integrate with one of their certified input devices. We can&#039;t say yet when we will be able to support EMV but it&#039;s possible/likely that it will not be by October.&lt;br /&gt;
&lt;br /&gt;
Adoption of EMV appears to be slow thus far as reported in a recent article found in the Payments Journal where it said:&lt;br /&gt;
&lt;br /&gt;
“The poll finds that roughly one in 10 Americans have received the new chip-enabled credit cards. Of those who have received the cards, only one-third say they&#039;ve actually used the cards as intended in new specialized credit card readers.” - See more at: http://www.paymentsjournal.com/Content/Featured_Stories/26874/#sthash.Ld8IaeAz.dpuf&lt;br /&gt;
&lt;br /&gt;
=When is the Right Time to Implement EMV?=&lt;br /&gt;
Typically clients of NewHaven Software are not at high risk for fraud from counterfeit cards, which is what EMV is targeting. Here is a statement from Mercury on the topic:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Criminals who commit counterfeit card fraud typically focus on the purchase of “fenceable” goods (merchandise that can be purchased fraudulently and then turned easily for a healthy profit on the black market), or merchandise that can easily be converted to cash, such as gift cards...(e.g.high-end boutiques, grocers, and drug stores.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you were to assess the number of card present fraudulent charges you&#039;ve received in the past and then further reduce that by the fraction of future charges that will be made with cards that are EMV (noting this liability doesn&#039;t apply to non-EMV cards), in most cases the resulting risk/liability for not accepting EMV cards in October should be low.&lt;br /&gt;
&lt;br /&gt;
Good article reviewing some reasons why now may not be the time for your company to implement EMV - http://blog.solupay.com/top-7-reasons-not-to-adopt-emv&lt;br /&gt;
&lt;br /&gt;
=I want it already, what&#039;s the ETA?=&lt;br /&gt;
To clarify, these EMV readers are not just another input device to feed the card data to CMS for processing like the mag stripe readers have been. This is a new paradigm where the card reader device MUST handle the processing. As such each device must be individually certified (which is rigorous) and thus we expect to only offer support for a small number of devices. CMS will also have to be modified to support feeding transaction data to the device, have the device process the transaction, and CMS be updated with the results of that processing. This is not a trivial project and must be executed carefully to ensure a trouble-free and PCI compliant implementation.&lt;br /&gt;
&lt;br /&gt;
=Will it work with my merchant account?=&lt;br /&gt;
Our first implementation of EMV will be with our payment partner MPS. If your merchant account is not with MPS, please contact us so we can arrange to have a quote prepared for you.&lt;br /&gt;
&lt;br /&gt;
Again, this has no effect on card not present (CNP) transaction, only card-present.&lt;br /&gt;
&lt;br /&gt;
=Any more good news?=&lt;br /&gt;
Indeed. The devices we&#039;re examining appear to also be conducive to working with other payment solutions like PIN Debit, Apple Pay and other NFC payment solutions which we&#039;ll also examine as an enhancement to CMS&#039;s [[POS Module]].&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2693</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2693"/>
		<updated>2020-06-10T19:43:57Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. &lt;br /&gt;
&lt;br /&gt;
 A CMS update is now available for CMS TEN users on our [https://updates.newhavensoftware.com/ Support Downloads site]. With version 10.0.14.273 we have temporarily transitioned CMS&#039;s address validation calls to the Endicia Label Server (ELS) sandbox account until we can secure a production account either for CMS or for individual customers. &lt;br /&gt;
 Please contact us for an appointment if you need assistance with installing this update. We expect to have access to a production ELS account around June 18th at which point we will test and release a new version of CMS using this new account. You may choose to wait to update until then.&lt;br /&gt;
&lt;br /&gt;
If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release code enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2692</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2692"/>
		<updated>2020-06-10T19:43:37Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. &lt;br /&gt;
&lt;br /&gt;
 A CMS update is now available for CMS TEN users on our [https://updates.newhavensoftware.com/ Support Downloads site]. With version 10.0.14.273 we have temporarily transitioned CMS&#039;s address validation calls to the Endicia Label Server (ELS) sandbox account until we can secure a production account either for CMS or for individual customers. Please contact us for an appointment if you need assistance with installing this update. We expect to have access to a production ELS account around June 18th at which point we will test and release a new version of CMS using this new account. You may choose to wait to update until then.&lt;br /&gt;
&lt;br /&gt;
If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release code enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2691</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2691"/>
		<updated>2020-06-10T19:40:20Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. &lt;br /&gt;
&lt;br /&gt;
 A CMS update is now available for CMS TEN users on our [https://updates.newhavensoftware.com/ Support Downloads site]. With version 10.0.14.273 we have temporarily transitioned CMS&#039;s address validation calls to the Endicia Label Server (ELS) sandbox account until we can secure a production account either for CMS or for individual customers.&lt;br /&gt;
&lt;br /&gt;
If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release code enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2690</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2690"/>
		<updated>2020-06-10T19:40:09Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. &lt;br /&gt;
&lt;br /&gt;
A CMS update is now available for CMS TEN users on our [https://updates.newhavensoftware.com/ Support Downloads site]. With version 10.0.14.273 we have temporarily transitioned CMS&#039;s address validation calls to the Endicia Label Server (ELS) sandbox account until we can secure a production account either for CMS or for individual customers.&lt;br /&gt;
&lt;br /&gt;
If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release code enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2689</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2689"/>
		<updated>2020-06-08T18:54:15Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release code enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2688</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2688"/>
		<updated>2020-06-08T18:53:36Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release cod enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2687</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2687"/>
		<updated>2020-06-08T18:52:41Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*What is the impact of not having addresses validated in CMS, albeit for a short time, while you wait for a solution or new ELS account (it appears one will be required) and is there anything you can do to mitigate those risks?&lt;br /&gt;
**Can you still get address validation on your website to mitigate the number of orders you are shipping without validation? &lt;br /&gt;
**If using UPS Worldship or FedEx Ship Manager with keyed imports, can you validate addresses in their software before generating the label?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release cod enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2686</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2686"/>
		<updated>2020-06-08T18:48:50Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*Consider the impact of not having addresses validated in CMS, albeit for a short time while you wait for a solution or new ELS account. Can you still get address validation on your website to mitigate the number of orders you are shipping without validation?&lt;br /&gt;
&lt;br /&gt;
*Disable address validation in CMS for your import order sources - With this option enabled, CMS will be automatically performing address validation for imported orders and, if that service is failing, it will stop your imports. Turn this option off [https://www.screencast.com/t/aat0jBFVHo as seen here] so your order imports can continue to flow in without error.&lt;br /&gt;
&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for processing orders that fail Address Validation, also highlighted in the screenshot linked above.&lt;br /&gt;
&lt;br /&gt;
*While the above will allow your imports to come in without error, the Validate button will still be enabled throughout CMS where any address is displayed. Your operators will receive an error if they click on the Validate button. There is no option in CMS to disable this button but if you find that this is to confusing for your operators, we can issue you a new release code to disable the Address Validation option. We can reissue a new release cod enabling it when desired.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2685</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2685"/>
		<updated>2020-06-08T18:00:24Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Managing the June 11, 2020 shutdown of Endicia&amp;#039;s Dial-a-Zip service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip (DaZ) service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*Disable address validation for your import order sources - &lt;br /&gt;
&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for failed&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2684</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2684"/>
		<updated>2020-06-08T17:59:39Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;br /&gt;
&lt;br /&gt;
=Managing the June 11, 2020 shutdown of Endicia&#039;s Dial-a-Zip service=&lt;br /&gt;
&lt;br /&gt;
With rather short notice, Endicia has elected to shut down their Dial-a-Zip service and only make address validation available through their Endicia Label Server (ELS) web service. If you find yourself on June 11th without a solution (either a CMS update and/or a working ELS account), there are some things to consider:&lt;br /&gt;
&lt;br /&gt;
*Disable address validation for your import order sources - &lt;br /&gt;
&lt;br /&gt;
**If you are using the [[Automated Imports Module]] you&#039;ll also want to remove the validation check for failed&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2683</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2683"/>
		<updated>2020-05-29T20:13:47Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the web service for Endicia Label Server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2682</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2682"/>
		<updated>2020-05-29T20:13:13Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Performance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near-instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed to Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near-immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the Dial-a-Zip web server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2681</id>
		<title>Address Validation Module</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=Address_Validation_Module&amp;diff=2681"/>
		<updated>2020-05-29T20:12:19Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
The Address Validation Module (AVM) links CMS to Endicia Label Server (ELS) allowing users to validate individual addresses against the latest USPS data in real-time. This validation not only ensures proper formatting of an address ([http://www.usps.com/ncsc/addressservices/certprograms/cass.htm CASS]) but also validates that the address is indeed deliverable! This will help you catch typos, missing apartment numbers, etc. whether they result from your operator or the customer. This option is available in CMS where there is an editable address. Watch our [http://www.youtube.com/watch?v=TWJsUcejEbc YouTube video on AVM] to see it in action!&lt;br /&gt;
&lt;br /&gt;
This is rather different than AVS (Address Verification Service) which is used when you process credit cards. AVS is only used to verify that the billing address of the order is the same as the billing address of the cardholder. It does nothing to validate that the address is properly formatted or deliverable. If you use AVM to validate your address before processing the credit card, your AVS processing stands a better chance of getting a match.&lt;br /&gt;
&lt;br /&gt;
To use AVM, you&#039;ll just click the new Validate button which is located by the address you want to validate. The validation response will indicate if your address could be validated and if so, it will also be standardized. &lt;br /&gt;
&lt;br /&gt;
If the address could not be validated, that means the address was not close enough to a deliverable address to be corrected and the customer should be contacted to confirm their address information.&lt;br /&gt;
&lt;br /&gt;
=What does the validation do?=&lt;br /&gt;
&lt;br /&gt;
The service performs address validation and standardization. In other words, it will validate that the address is deliverable (according to USPS,) a real address...not just one properly formatted. It will also standardize the address (like CASS) to append Zip +4, convert Street to St and so on. Here is a basic example from the Contact Manager (Customers) section in CMS:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Submit (before):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custbefore.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return (after):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[image:6custafter.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the changes made to the address in this example:&lt;br /&gt;
&lt;br /&gt;
*Standardized the address&lt;br /&gt;
**converted Crossing to Xing&lt;br /&gt;
**moved the suite onto the same lines as the address (which should be done when there is room)&lt;br /&gt;
*Fixed the incorrect zip code &lt;br /&gt;
*Added the zip+4&lt;br /&gt;
*Set the county&lt;br /&gt;
*Set the commercial checkbox (RDI)&lt;br /&gt;
*Validate button turns from red to green&lt;br /&gt;
*Date of validation is displayed&lt;br /&gt;
&lt;br /&gt;
It can also correct spelling errors anywhere in the address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other important points:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*If any edits are made to the validated address, it immediately reverts to showing as non-validated.&lt;br /&gt;
*If the billing and/or shipping address is the same as the mailing, they too will immediately be set as validated to match. This is even true if the billing=shipping and both are different than the mailing. In that situation, validating the shipping in this case would automatically set the billing as validated as well.&lt;br /&gt;
*An added benefit to the validation process is it will return the the Residential Delivery Indicator. CMS will use this RDI to flag the address as &#039;&#039;commercial&#039;&#039; when appropriate. FedEx and UPS both assess a residential surcharge to their shipments and this flag will let CMS know when a shipment can go commercial, saving you the ~$2 residential surcharge. This flag will pass through to the UPS and FedEx through our various shipping integrations automatically.&lt;br /&gt;
&lt;br /&gt;
=Where does it work?=&lt;br /&gt;
The address validation option is available in the following screens:&lt;br /&gt;
*Order Entry, wherever an address is found&lt;br /&gt;
**Customer&lt;br /&gt;
**Items (the Address Editor used for adding multi-ship recipients)&lt;br /&gt;
**Shipping - Shipping Address&amp;gt;Modify (same Address Editor screen used for editing a shipping/recipient address)&lt;br /&gt;
**Money - Billing Address&amp;gt;Modify (same Address Editor screen)&lt;br /&gt;
**View Invoice - While you cannot validate from the View Invoice screen, we do color code the shipping and billing addresses shown here using red font to indicate a non-validated address and green to indicate a validated address. This color coding is also done on the Shipping and Money addresses. You can click on the billing address to bring up the editor and validate from there but this is not yet supported for the shipping addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:6oeview.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Contact Manager (Customers)&lt;br /&gt;
**Address - Mailing, Billing and Shipping&lt;br /&gt;
&lt;br /&gt;
*Order Importing - As orders are imported (eCMS or any XML order source) you can tell CMS to attempt to validate all of the addresses in each order.&lt;br /&gt;
&lt;br /&gt;
*Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.&lt;br /&gt;
&lt;br /&gt;
*[[Purchasing (PO) Module]] - PO Billing and Shipping addresses (not Vendor addresses yet)&lt;br /&gt;
&lt;br /&gt;
*Warehouses - In Setup you can validate the addresses associated with each of your warehouses.&lt;br /&gt;
&lt;br /&gt;
=Performance=&lt;br /&gt;
Near instant responses, certainly sub-second. This performance was even maintained over the busy holiday seasons.&lt;br /&gt;
&lt;br /&gt;
A few comments on why we think you should continue to expect this level of performance:&lt;br /&gt;
&lt;br /&gt;
*There is very little data being passed back and forth. This will minimize the communication time and the possibility of performance degradation you would experience even from a poor internet connection.&lt;br /&gt;
&lt;br /&gt;
*The CMS portion of the communication is near instant so we are not adding any noticeable overhead to the processing time.&lt;br /&gt;
&lt;br /&gt;
*We are subscribed at Endicia&#039;s highest service level.&lt;br /&gt;
&lt;br /&gt;
*Working through a custom third-party shipping solution which also uses Dial-a-Zip showed that address validation added ~1 second to label processing.&lt;br /&gt;
&lt;br /&gt;
*When we asked Endicia about performance expectations, they stated that on a busy day they would expect users to see validation times around a quarter of a second.&lt;br /&gt;
&lt;br /&gt;
Your results may vary of course and are subject to workstation resources (RAM and CPU) and available internet bandwidth but our experience has shown near immediate results. It is impressive.&lt;br /&gt;
&lt;br /&gt;
=Automation=&lt;br /&gt;
While the Validate button is great for orders your operators are touching (either hand entering or verifying imported orders,) what can you do when importing orders automatically (using the [http://wiki.newhavensoftware.com/index.php/Automated_Imports_Module Automated Imports Module]) where an operator may not be reviewing the order?&lt;br /&gt;
&lt;br /&gt;
To address this (pun intended) you&#039;ll now find an address validation option available in Setup&amp;gt;Fulfillment&amp;gt;Fulfillment Options&amp;gt;Import Sources. For each import order-source you defined, you can choose if you want CMS to automatically validate addresses as they are imported. We have also made changes to our XML to support external address validation so you can import an order with a validated address. You&#039;ll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing &#039;pre-validated&#039;.&lt;br /&gt;
&lt;br /&gt;
[[image:6osavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
There is also a validation check for the Automated Imports module which will let you prevent an imported order from saving as a completed order if any of its addresses failed validation. In those cases it will be available for manual review in the Verify Orders section...the same as any other validation exception (e.g. unrecognized product code, order not fully paid, back order, international, etc.)&lt;br /&gt;
&lt;br /&gt;
[[image:6viavm.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
*A workstation must have Internet access to use the Address Validation Module. CMS is communicating directly from the workstation to the Dial-a-Zip web server.&lt;br /&gt;
&lt;br /&gt;
*The AVM does not perform NCOA type move changes. In other words, it is not checking to see if that person lives at that address, only that the address is deliverable and standardized. It will however match on company name if one is present. NCOA processing, where you can match the recipient name to their address, is only available by submitting data to Peachtree.&lt;br /&gt;
&lt;br /&gt;
*The AVM only validates individual addresses. It is not used for batch address processing. We will be exploring batch processing options as a possible future enhancement to this module.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate US addresses. The validate button will become disabled when the address is non-US.&lt;br /&gt;
&lt;br /&gt;
*AVM will only validate addresses that USPS can deliver to.&lt;br /&gt;
&lt;br /&gt;
*Results are returned in UPPER CASE. This only affects the address however and the name/company fields will remain untouched and in the case you had entered them. This means that any merge letters you may use will still use the case of the names as you entered them.&lt;br /&gt;
&lt;br /&gt;
=Future considerations=&lt;br /&gt;
*Batch processing&lt;br /&gt;
*Address validate imported catalog requests&lt;br /&gt;
*Allow for the user to choose from a possible list of candidates when an exact match is not found&lt;br /&gt;
*Option to require validation before save&lt;br /&gt;
*Option to validate all addresses on an order at once (mailing, shipping and billing)&lt;br /&gt;
*Option to validate the ship-to address from View Invoice screen (now available for the billing address)&lt;br /&gt;
*Return mixed case results&lt;br /&gt;
*Validate imported recipient lists or all ship-to&#039;s for multi-ship orders&lt;br /&gt;
&lt;br /&gt;
=Video=&lt;br /&gt;
View our YouTube video to see the AVM module in action! http://www.youtube.com/watch?v=TWJsUcejEbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Published]]&lt;br /&gt;
&lt;br /&gt;
Alternate search keywords - Address validation software, address verification module, address verification software, address correction.&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2676</id>
		<title>CMS TEN Upgrade Plan</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2676"/>
		<updated>2020-05-05T19:58:31Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Prep=&lt;br /&gt;
==Required==&lt;br /&gt;
*Whats New in CMS TEN - Review the CMS TEN Release Notes:&lt;br /&gt;
**[http://updates.newhavensoftware.com/whatsnew1001.htm v10.0.1]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew1005.htm v10.0.5]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew10014.htm v10.0.14 (current)]&lt;br /&gt;
*Encryption - The Encryption option in PCI Administration must be enabled before installing CMS TEN. Please log into CMS as PC Administrator and verify yours is turned on before proceeding. To do this, log into CMS as PCI Administrator and go PCI Administration&amp;gt;PCI. Your button for encryption should read &#039;Re-Encrypt&#039; AND say &amp;quot;no further action is necessary&amp;quot; as seen in this [http://screencast.com/t/0qiBvCUQ7u screenshot]. If so, you&#039;re set and there&#039;s nothing more you need to do (no need to re-encrypt). If instead the button says &amp;quot;Encrypt&amp;quot; or you have a message that says &amp;quot;http://screencast.com/t/B8Q07gVur Your credit card holder data needs to be updated...&amp;quot; this means you&#039;ll need to run the Encrypt/Re-Encrypt. We recommend you run encryption overnight while everyone is out of the CMS. If you install the update and encryption has not been run, the install will warn you of this encryption issue and abort.&lt;br /&gt;
*If you worked with us on testing the UPS Worldship keyed imports performance solution in CMS 9.x, please contact NHS Support to have that removed before you update to CMS TEN (the latest version of this solution will be installed with CMS TEN but this is not designed to update the beta implementation of this feature from v9).&lt;br /&gt;
*Custom Reports and Forms - Please consider installing a test version of CMS TEN to confirm they will work with CMS TEN. If there are any issues, please contact NewHaven Software Support to contract any necessary fixes.&lt;br /&gt;
*Custom Integrations - NewHaven will keep all standard integrations current including those with UPS, FedEx, Endicia, Peachtree, and payment gateways. If you have developed any integrations of your own, please consider installing a test version of CMS TEN to confirm they will continue to work. Please contact NewHaven Support if you&#039;d like assistance with setting up or updating your test environment. A list of the database and XML changes can be found in the [http://updates.newhavensoftware.com/v10release_notes.htm#db Release Notes].&lt;br /&gt;
*Database Connections - If you have any database connections to CMS that are using the dbo database user credentials, they must be switched to the cmsuser credentials or your connections will fail. We recommend updating these before installing CMS TEN to ensure no connection errors.&lt;br /&gt;
**The default password for cmsuser is case sensitive and is CMSUser. As part of your PA-DSS Implementation this password should have been changed long ago, but, if you are still using it, be sure that you have the case correct. The most common use of an ODBC connection to your database is for keyed imports from UPS Worldship, it&#039;s ODBC connections named CMSPackages and CMSPackagesExport.&lt;br /&gt;
&lt;br /&gt;
=Install=&lt;br /&gt;
&#039;&#039;&#039;NOTE: You must be running CMS 8.0 or later before upgrading to CMS TEN&#039;&#039;&#039;&lt;br /&gt;
*Test Installs - Go [http://wiki.newhavensoftware.com/index.php/Test_Install HERE] for information on installing a test environment.&amp;lt;br&amp;gt;&lt;br /&gt;
*All Installs&lt;br /&gt;
#Get everyone out of CMS (TIP: delete the file CMSNET.dat from the \NewHaven Software directory to confirm all users are logged out. If you are unable to delete the file, it means there are still users logged into CMS. They will need to log out or you can disconnect the open files on the server at the risk of their losing their work.)&lt;br /&gt;
#Update your server - This process may take up to twice as long as a typical server update. Upgrades from versions earlier than 8.x are not supported and, in such cases, an intermediate update to 8.0 will be necessary. NOTE - Your version 9 release code can be used to upgrade to CMS TEN, no new code required.&lt;br /&gt;
##Verify you can log into CMS without error&lt;br /&gt;
#Update workstations - Only necessary for Windows 8.x or 10 workstations&lt;br /&gt;
&lt;br /&gt;
=After Install=&lt;br /&gt;
==Required==&lt;br /&gt;
Reiterating the above, if you have any workstations running Windows 8.x or Windows 10, you&#039;ll need to run a CMS workstation update on each to ensure the database drivers have been updated. This workstation update is run using the same installer software that was used to update your server.&lt;br /&gt;
&lt;br /&gt;
There are otherwise no further post-update steps required.&lt;br /&gt;
&lt;br /&gt;
==Recommended (optional)==&lt;br /&gt;
Changes or settings worth examining shortly after updating (if you&#039;ve not already done so in a test environment):&lt;br /&gt;
#Last Card Used - If CMS is configured to recall the last credit card used, in such situations a new dialog message comes up asking if you want to use the card ending in XXXX (displaying last four digits.) If yes, the card will come over masked (cannot be unmasked) or, if you say no, you can proceed with entering a new payment. Previous versions would have just recalled the payment without telling you the last four and, if it was not the one you wanted, you would have had to delete the payment. Keep in mind card data is only retained per your PCI Data Retention Policy so no prompt to use the last card will be presented once the card data has been removed from the database.&lt;br /&gt;
#Manifest Changes - A few changes here worth reviewing before turning your shipping dept. loose on it for the first time.&lt;br /&gt;
##We&#039;ve changed the way shipping methods are selected in the Manifest and added features to allow the setting of carrier pickup dates. &lt;br /&gt;
##Also, if you have multiple shipping stations using the Manifest, the default is now that each station will only show its own packages instead of a master list of all manifested packages.&lt;br /&gt;
##See a full list of Manifest changes in our [https://updates.newhavensoftware.com/v1001release_notes.htm#link-1-21 Release Notes]&lt;br /&gt;
#CMS TEN supports &#039;Active&#039; flags now which are on by default. Removing this flag will prevent inactive choices from being offered in Order Entry or other places where new transactions are created. Inactive choices are still viable though for orders that were created using those now inactive choices. The goal is not to remove these choices from your system entirely but instead to limit new transactions to using only current options.&lt;br /&gt;
##Shipping Methods&lt;br /&gt;
##Adcodes&lt;br /&gt;
##Order Source&lt;br /&gt;
##Price Catagories&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
*CMS is attempting order status uploads for all eCMS order sources. If you&#039;ve never uploaded order status before, you may experience an error since the resulting upload would be too large (potentially years worth of data.) There is an easy/quick fix to this which our Tech Support staff can assist you with if you run into it. Issues Dev-201 and 221&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2675</id>
		<title>CMS TEN Upgrade Plan</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2675"/>
		<updated>2020-05-05T19:57:44Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Prep=&lt;br /&gt;
==Required==&lt;br /&gt;
*Whats New in CMS TEN - Review the CMS TEN Release Notes:&lt;br /&gt;
**[http://updates.newhavensoftware.com/whatsnew1001.htm v10.0.1]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew1005.htm v10.0.5]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew10014.htm v10.0.14 (current)]&lt;br /&gt;
*Encryption - The Encryption option in PCI Administration must be enabled before installing CMS TEN. Please log into CMS as PC Administrator and verify yours is turned on before proceeding. To do this, log into CMS as PCI Administrator and go PCI Administration&amp;gt;PCI. Your button for encryption should read &#039;Re-Encrypt&#039; AND say &amp;quot;no further action is necessary&amp;quot; as seen in this [http://screencast.com/t/0qiBvCUQ7u screenshot]. If so, you&#039;re set and there&#039;s nothing more you need to do (no need to re-encrypt). If instead the button says &amp;quot;Encrypt&amp;quot; or you have a message that says &amp;quot;http://screencast.com/t/B8Q07gVur Your credit card holder data needs to be updated...&amp;quot; this means you&#039;ll need to run the Encrypt/Re-Encrypt. We recommend you run encryption overnight while everyone is out of the CMS. If you install the update and encryption has not been run, the install will warn you of this encryption issue and abort.&lt;br /&gt;
*If you worked with us on testing the UPS Worldship keyed imports performance solution in CMS 9.x, please contact NHS Support to have that removed before you update to CMS TEN (the latest version of this solution will be installed with CMS TEN but this is not designed to update the beta implementation of this feature from v9).&lt;br /&gt;
*Custom Reports and Forms - Please consider installing a test version of CMS TEN to confirm they will work with CMS TEN. If there are any issues, please contact NewHaven Software Support to contract any necessary fixes.&lt;br /&gt;
*Custom Integrations - NewHaven will keep all standard integrations current including those with UPS, FedEx, Endicia, Peachtree, and payment gateways. If you have developed any integrations of your own, please consider installing a test version of CMS TEN to confirm they will continue to work. Please contact NewHaven Support if you&#039;d like assistance with setting up or updating your test environment. A list of the database and XML changes can be found in the [http://updates.newhavensoftware.com/v10release_notes.htm#db Release Notes].&lt;br /&gt;
*Database Connections - If you have any database connections to CMS that are using the dbo database user credentials, they must be switched to the cmsuser credentials or your connections will fail. We recommend updating these before installing CMS TEN to ensure no connection errors.&lt;br /&gt;
**The default password for cmsuser is case sensitive and is CMSUser. As part of your PA-DSS Implementation this password should have been changed long ago, but, if you are still using it, be sure that you have the case correct. The most common use of an ODBC connection to your database is for keyed imports from UPS Worldship, it&#039;s ODBC connections named CMSPackages and CMSPackagesExport.&lt;br /&gt;
&lt;br /&gt;
=Install=&lt;br /&gt;
&#039;&#039;&#039;NOTE: You must be running CMS 8.0 or later before upgrading to CMS TEN&#039;&#039;&#039;&lt;br /&gt;
*Test Installs - Go [http://wiki.newhavensoftware.com/index.php/Test_Install HERE] for information on installing a test environment.&amp;lt;br&amp;gt;&lt;br /&gt;
*All Installs&lt;br /&gt;
#Get everyone out of CMS (TIP: delete the file CMSNET.dat from the \NewHaven Software directory to confirm all users are logged out. If you are unable to delete the file, it means there are still users logged into CMS. They will need to log out or you can disconnect the open files on the server at the risk of their losing their work.)&lt;br /&gt;
#Update your server - This process may take up to twice as long as a typical server update. Upgrades from versions earlier than 8.x are not supported and, in such cases, an intermediate update to 8.0 will be necessary. NOTE - Your version 9 release code can be used to upgrade to CMS TEN, no new code required.&lt;br /&gt;
##Verify you can log into CMS without error&lt;br /&gt;
#Update workstations - Only necessary for Windows 8.x or 10 workstations&lt;br /&gt;
&lt;br /&gt;
=After Install=&lt;br /&gt;
==Required==&lt;br /&gt;
Reiterating the above, if you have any workstations running Windows 8.x, you&#039;ll need to run a CMS workstation update on each to ensure the database drivers have been updated. No need to update workstations running operating systems other than Windows 8.x. This workstation update is run using the same installer software that was used to update your server.&lt;br /&gt;
&lt;br /&gt;
Otherwise there are no post-update steps required.&lt;br /&gt;
&lt;br /&gt;
==Recommended (optional)==&lt;br /&gt;
Changes or settings worth examining shortly after updating (if you&#039;ve not already done so in a test environment):&lt;br /&gt;
#Last Card Used - If CMS is configured to recall the last credit card used, in such situations a new dialog message comes up asking if you want to use the card ending in XXXX (displaying last four digits.) If yes, the card will come over masked (cannot be unmasked) or, if you say no, you can proceed with entering a new payment. Previous versions would have just recalled the payment without telling you the last four and, if it was not the one you wanted, you would have had to delete the payment. Keep in mind card data is only retained per your PCI Data Retention Policy so no prompt to use the last card will be presented once the card data has been removed from the database.&lt;br /&gt;
#Manifest Changes - A few changes here worth reviewing before turning your shipping dept. loose on it for the first time.&lt;br /&gt;
##We&#039;ve changed the way shipping methods are selected in the Manifest and added features to allow the setting of carrier pickup dates. &lt;br /&gt;
##Also, if you have multiple shipping stations using the Manifest, the default is now that each station will only show its own packages instead of a master list of all manifested packages.&lt;br /&gt;
##See a full list of Manifest changes in our [https://updates.newhavensoftware.com/v1001release_notes.htm#link-1-21 Release Notes]&lt;br /&gt;
#CMS TEN supports &#039;Active&#039; flags now which are on by default. Removing this flag will prevent inactive choices from being offered in Order Entry or other places where new transactions are created. Inactive choices are still viable though for orders that were created using those now inactive choices. The goal is not to remove these choices from your system entirely but instead to limit new transactions to using only current options.&lt;br /&gt;
##Shipping Methods&lt;br /&gt;
##Adcodes&lt;br /&gt;
##Order Source&lt;br /&gt;
##Price Catagories&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
*CMS is attempting order status uploads for all eCMS order sources. If you&#039;ve never uploaded order status before, you may experience an error since the resulting upload would be too large (potentially years worth of data.) There is an easy/quick fix to this which our Tech Support staff can assist you with if you run into it. Issues Dev-201 and 221&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
	<entry>
		<id>http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2674</id>
		<title>CMS TEN Upgrade Plan</title>
		<link rel="alternate" type="text/html" href="http://wiki.newhavensoftware.com/index.php?title=CMS_TEN_Upgrade_Plan&amp;diff=2674"/>
		<updated>2020-05-05T19:52:55Z</updated>

		<summary type="html">&lt;p&gt;Russ horton: /* Required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Prep=&lt;br /&gt;
==Required==&lt;br /&gt;
*Whats New in CMS TEN - Review the CMS TEN Release Notes:&lt;br /&gt;
**[http://updates.newhavensoftware.com/whatsnew1001.htm v10.0.1]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew1005.htm v10.0.5]&lt;br /&gt;
**[https://updates.newhavensoftware.com/whatsnew10014.htm v10.0.14 (current)]&lt;br /&gt;
*Encryption - The Encryption option in PCI Administration must be enabled before installing CMS TEN. Please log into CMS as PC Administrator and verify yours is turned on before proceeding. To do this, log into CMS as PCI Administrator and go PCI Administration&amp;gt;PCI. Your button for encryption should read &#039;Re-Encrypt&#039; AND say &amp;quot;no further action is necessary&amp;quot; as seen in this [http://screencast.com/t/0qiBvCUQ7u screenshot]. If so, you&#039;re set and there&#039;s nothing more you need to do (no need to re-encrypt). If instead the button says &amp;quot;Encrypt&amp;quot; or you have a message that says &amp;quot;http://screencast.com/t/B8Q07gVur Your credit card holder data needs to be updated...&amp;quot; this means you&#039;ll need to run the Encrypt/Re-Encrypt. We recommend you run encryption overnight while everyone is out of the CMS. If you install the update and encryption has not been run, the install will warn you of this encryption issue and abort.&lt;br /&gt;
*If you worked with us on testing the UPS Worldship keyed imports performance solution in CMS 9.x, please contact NHS Support to have that removed before you update to CMS TEN (the latest version of this solution will be installed with CMS TEN but this is not designed to update the beta implementation of this feature from v9).&lt;br /&gt;
*Custom Reports and Forms - Please consider installing a test version of CMS TEN to confirm they will work with CMS TEN. If there are any issues, please contact NewHaven Software Support to contract any necessary fixes.&lt;br /&gt;
*Custom Integrations - NewHaven will keep all standard integrations current including those with UPS, FedEx, Endicia, Peachtree, and payment gateways. If you have developed any integrations of your own, please consider installing a test version of CMS TEN to confirm they will continue to work. Please contact NewHaven Support if you&#039;d like assistance with setting up or updating your test environment. A list of the database and XML changes can be found in the [http://updates.newhavensoftware.com/v10release_notes.htm#db Release Notes].&lt;br /&gt;
*Database Connections - If you have any database connections to CMS that are using the dbo database user credentials, they must be switched to the cmsuser credentials or your connections will fail. We recommend updating these before installing CMS TEN to ensure no connection errors.&lt;br /&gt;
**The default password for cmsuser is case sensitive and is CMSUser. As part of your PA-DSS Implementation this password should have been changed long ago, but, if you are still using it, be sure that you have the case correct. The most common use of an ODBC connection to your database is for keyed imports from UPS Worldship, it&#039;s ODBC connections named CMSPackages and CMSPackagesExport.&lt;br /&gt;
&lt;br /&gt;
=Install=&lt;br /&gt;
&#039;&#039;&#039;NOTE: You must be running CMS 8.0 or later before upgrading to CMS TEN&#039;&#039;&#039;&lt;br /&gt;
*Test Installs - Go [http://wiki.newhavensoftware.com/index.php/Test_Install HERE] for information on installing a test environment.&amp;lt;br&amp;gt;&lt;br /&gt;
*All Installs&lt;br /&gt;
#Get everyone out of CMS (TIP: delete the file CMSNET.dat from the \NewHaven Software directory to confirm all users are logged out. If you are unable to delete the file, it means there are still users logged into CMS. They will need to log out or you can disconnect the open files on the server at the risk of their losing their work.)&lt;br /&gt;
#Update your server - This process may take up to twice as long as a typical server update. Upgrades from versions earlier than 8.x are not supported and, in such cases, an intermediate update to 8.0 will be necessary. NOTE - Your version 9 release code can be used to upgrade to CMS TEN, no new code required.&lt;br /&gt;
##Verify you can log into CMS without error&lt;br /&gt;
#Update workstations - Only necessary for Windows 8.x workstations&lt;br /&gt;
&lt;br /&gt;
=After Install=&lt;br /&gt;
==Required==&lt;br /&gt;
Reiterating the above, if you have any workstations running Windows 8.x, you&#039;ll need to run a CMS workstation update on each to ensure the database drivers have been updated. No need to update workstations running operating systems other than Windows 8.x. This workstation update is run using the same installer software that was used to update your server.&lt;br /&gt;
&lt;br /&gt;
Otherwise there are no post-update steps required.&lt;br /&gt;
&lt;br /&gt;
==Recommended (optional)==&lt;br /&gt;
Changes or settings worth examining shortly after updating (if you&#039;ve not already done so in a test environment):&lt;br /&gt;
#Last Card Used - If CMS is configured to recall the last credit card used, in such situations a new dialog message comes up asking if you want to use the card ending in XXXX (displaying last four digits.) If yes, the card will come over masked (cannot be unmasked) or, if you say no, you can proceed with entering a new payment. Previous versions would have just recalled the payment without telling you the last four and, if it was not the one you wanted, you would have had to delete the payment. Keep in mind card data is only retained per your PCI Data Retention Policy so no prompt to use the last card will be presented once the card data has been removed from the database.&lt;br /&gt;
#Manifest Changes - A few changes here worth reviewing before turning your shipping dept. loose on it for the first time.&lt;br /&gt;
##We&#039;ve changed the way shipping methods are selected in the Manifest and added features to allow the setting of carrier pickup dates. &lt;br /&gt;
##Also, if you have multiple shipping stations using the Manifest, the default is now that each station will only show its own packages instead of a master list of all manifested packages.&lt;br /&gt;
##See a full list of Manifest changes in our [https://updates.newhavensoftware.com/v1001release_notes.htm#link-1-21 Release Notes]&lt;br /&gt;
#CMS TEN supports &#039;Active&#039; flags now which are on by default. Removing this flag will prevent inactive choices from being offered in Order Entry or other places where new transactions are created. Inactive choices are still viable though for orders that were created using those now inactive choices. The goal is not to remove these choices from your system entirely but instead to limit new transactions to using only current options.&lt;br /&gt;
##Shipping Methods&lt;br /&gt;
##Adcodes&lt;br /&gt;
##Order Source&lt;br /&gt;
##Price Catagories&lt;br /&gt;
&lt;br /&gt;
=Known Issues=&lt;br /&gt;
*CMS is attempting order status uploads for all eCMS order sources. If you&#039;ve never uploaded order status before, you may experience an error since the resulting upload would be too large (potentially years worth of data.) There is an easy/quick fix to this which our Tech Support staff can assist you with if you run into it. Issues Dev-201 and 221&lt;/div&gt;</summary>
		<author><name>Russ horton</name></author>
	</entry>
</feed>