Address Validation Module

From NewHaven Software Wiki

Jump to: navigation, search



The Address Validation Module (AVM) links CMS to Endicia's Dial-a-Zip server allowing users to validate individual addresses in real time. This validation not only ensures proper formatting of an address (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 most every place in CMS where there is an editable address. Watch our YouTube video on AVM to see it in action!

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 card holder. 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.

To use AVM, you'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.

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.

What does the validation do?

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:

Submit (before):


Return (after):


Note the changes made to the address in this example:

  • Standardized the address
    • converted Crossing to Xing
    • moved the suite onto the same lines as the address (which should be done when there is room)
  • Fixed the incorrect zip code
  • Added the zip+4
  • Set the county
  • Set the commercial checkbox (RDI)
  • Validate button turns from red to green
  • Date of validation is displayed

It can also correct spelling errors anywhere in the address.

Other important points:

  • If any edits are made to the validated address, it immediately reverts to showing as non-validated.
  • 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.
  • 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 commercial 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.

Where does it work?

The address validation option is available in the following screens:

  • Order Entry, wherever an address is found
    • Customer
    • Items (the Address Editor used for adding multi-ship recipients)
    • Shipping - Shipping Address>Modify (same Address Editor screen used for editing a shipping/recipient address)
    • Money - Billing Address>Modify (same Address Editor screen)
    • 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.


  • Contact Manager (Customers)
    • Address - Mailing, Billing and Shipping
  • 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.
  • Manifest - Clicking on the Shipping address displayed will bring up the Address Editor where the address can be validated.
  • Warehouses - In Setup you can validate the addresses associated with each of your warehouses.


Our experience thus far has been near instant responses, certainly sub-second. This performance was even maintained over last year's busy holiday season.

A few comments on why we think you should continue to expect this level of performance:

  • 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.
  • The CMS portion of the communication is near instant so we are not adding any noticeable overhead to the processing time.
  • We are subscribed at Endicia's highest service level.
  • Working through a custom third-party shipping solution which also uses Dial-a-Zip showed that address validation added ~1 second to label processing.
  • 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.

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.


While the Validate button is great for orders your operators are touching (either entering or imported orders they are verifying,) what can you do when importing orders automatically (using the Automated Imports Module) where an operator may not be reviewing the order?

To address this (pun intended) you'll now find an address validation option available in Setup>Fulfillment>Fulfillment Options>Import Sources. For each order source you import from you can tell CMS if you want it 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'll be able to see when it was validated and CMS will know to skip trying to validate addresses that are importing 'pre-validated'.


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.)



  • 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.
  • 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.
  • 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.
  • AVM will only validate US addresses. The validate button will become disabled when the address is non-US.
  • AVM will only validate addresses that USPS can deliver to.
  • 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.

Future considerations

  • Batch processing
  • Address validate imported catalog requests
  • Allow for the user to choose from a possible list of candidates when an exact match is not found
  • Option to require validation before save
  • Option to validate all addresses on an order at once (mailing, shipping and billing)
  • Option to validate the ship-to address from View Invoice screen (now available for the billing address)
  • Return mixed case results
  • Validate imported recipient lists or all ship-to's for multi-ship orders


View our YouTube video to see the AVM module in action!

Alternate search keywords - Address validation software, address verification module, address verification software, address correction.

Personal tools