Follow CDYNE Blog on
Header Image -

Tag Archives

5 Articles

Addresses are Complicated…

Verification vs. Correction

A common misunderstanding about what CDYNE Postal Address Verification service does has to do with the difference between verification and correction. Verification simply says something is correct or it isn’t. We can easily verify 2 + 2 = 4, likewise 3 + 3 = 4 fails verification. Verification makes no attempt to fix what is false. It is a simple statement that something is correct or it isn’t.

Correction on the other hand takes a statement and tries to make it true and that is a much more complicated process. Take the above example: 3 + 3 = 4; we can correct that to 3 + 1 = 4 OR 3 + 3 = 6. Both corrections are true but which statement was originally intended is unclear. To properly correct we need more information.

CDYNE PAV is certified by the United States Postal Service under a program called CASS (Coding Accuracy Support System). CASS rules require that our software take an input address and verify it exists in the USPS databases. Of course there is more to it than that. There is standardization, limited spelling correction, and certain inexact matches are allowed, but ultimately following CASS rules is about verification not correction.

This is best summed up by an excerpt from the USPS Address Matching Guidelines documentation:

“…the main goal of all address-matching software
should be to make THE MATCH — not just any match”

When an attempt is made to match an input to the database, if a match cannot be found, or it is unclear which address the input should match, the input fails verification. It is also important to point out that failing verification does not mean an address cannot be delivered, but mailing out something without a verified address may take longer, it might go to the wrong location, it might be returned undeliverable, or it might be lost in the system.

Addresses are Complicated…

Addresses are a mess. One of the greatest contributing factors to this is that the USPS has no control over city, street names, or street numbering. City borders move, streets are renamed, and numberings can change based on local and state government decisions.

Furthermore each municipality may create its own way of making addresses. For instance in Wisconsin the following addresses is common:

S90 W13970 Boxhorn
DrMuskego, WI 53150

In this case S90 W13970 are actually latitude and longitude coordinates.

To counter this USPS has developed its own collection of identifiers that it uses to expedite the movement of mail:

Finance numbers are typically assigned to a single post office and contain multiple zip codes.  For the most part it isn’t necessary for anyone outside the USPS to know about finance numbers, but they are convenient for creating a collection of addresses to verify a single address against.

Zip codes are usually a collection of routes used to deliver mail, but may also be a collection of PO boxes, a unique number for a single business, etc. It is important to recognize that while zip codes are often thought about as regions they really are a group of places mail can be delivered. As such they can overlap or even be discontinuous.

Plus 4 values further subdivide a zip code into areas like a city block.

Delivery point number, which is only added after an address has been fully verified, signifies a particular location that receives mail.

The USPS has created and assigned these numbers for one reason only: to make delivering a piece of mail as easy as possible.

Address verification is the process of taking the input address, finding the best match in the USPS database, and returning the address found in the database.

Street Information Broken Down

Typical street information can be broken down into parts. While most addresses follow this format there are many that don’t and have to be handled separately. Consider the following prototype:

1234 N Main Street S Apt 101

Primary number (1234)Typically the primary number is the first element and contains sequential alphanumeric information. Most often the input is checked to be in a range of values for verification. This value is present in almost all addresses and cannot be corrected, it’s either wrong or its right.

Pre-Directional (N) – The pre-directional can be one of the 4 cardinal directions or one of the 4 ordinals. This value isn’t always present and correction for it follows a very narrow set of rules.

Street Name (Main) – The street name is present in almost all addresses. It often contains more than one word and can be the most loosely matched too.

Suffix (Street) – The suffix is the “type” of street: Avenue, Road, Parkway, etc. Like the pre and post directionals it can only be corrected in a limited fashion, must match a set of values, and is abbreviated. While you will usually see a suffix it is sometimes missing.

Post-Directional (S) –The post-directional can be one of the 4 cardinal directions or one of the 4 ordinals. This value isn’t always present and correction for it follows a very narrow set of rules.

Secondary Abbreviation (Apt) – The secondary abbreviation is typically one of a collection of possible values: Apt (Apartment), Ofc (Office), Flr (Floor), Ste (Suite), etc. If all other address information matches this will be corrected to the database value if possible.

Secondary Number (101) – The secondary like the primary number contains alphanumeric information that is typically part of a sequence. It also cannot be corrected.

The Process

All address verification starts with the City, State, and Zip Code data; commonly referred to as the last line. From this information a list of finance numbers is built, and the finance numbers are separated into 8 categories:

The table above shows the priority of address matches in each finance number. For instance a match found in a Finance number that matches the City, State and ZIP in the input address would have higher priority than a match that is in a finance number that only matches the City and State of the input address. It’s important to note that a street address must match at least two pieces of the last line data, the only exception is when a zip 5 is the only piece of last line data provided.

Next a list of street names is pulled for all of the relevant finance numbers. There can be tens of thousands of street names and all of these must be compared to the input street name which can be ambiguous itself. A list of all possible addresses is generated from possible matching street names.

An attempt is then made to match the input address to one of the addresses in the list. If a single match is found it is returned, if multiple matches are found some tie breaking is attempted but if no single match can be determined the address fails verification.

Just because an address fails verification does not mean it is undeliverable. The post office may still attempt to deliver the piece of mail but it will most likely take longer to deliver, if it is delivered at all.

Click here for more information about PAV, or get a free trial key to test the API for free.


CDYNE PAV Infographic

Companies can save money on lost production and postage fees simply by running their addresses through a CASS certified program like CDYNE PAV, which verifies the deliverability of addresses. The API compares your addresses against the USPS database and will let you know if they are deliverable. Click here (opens a PDF) to see the importance of address data quality, some reasons for bad addresses, and the return on investment when validating the accuracy of your address lists.

Click here for more information about PAV, or get a free trial key to test the API for free.


PAV Delivery Point Data Returns

A valuable benefit of using PAV is to check whether or not an address is deliverable in order to receive barcode discounts. PAV includes DPV (Delivery Point Validation), which is the USPS process for verifying deliverability. A delivery point is a single point at which mail is delivered (e.g., a mail slot, PO Box, or mailbox). It is not the same as a street address. In fact,  an address can contain multiple delivery points such as an apartment building or business office with numerous suites. The USPS defines DPV as a specific set of digits between 00 and 99. Combined with the ZIP+4 code, a delivery point gives each deliverable address a unique identifier. Delivery points are encoded in barcodes, which allows automated sorting for the USPS.

Developers can utilize PAV to return detailed mailing industry information including DPV data returns. This data is accessed when using the “VerifyAddressAdvanced” method and setting the “MailingIndustryInfo” parameter to True. The following are example address input and outputs.

Input: 505 independence parkway, suite 300, chesapeake, va, 23320

Output: 505 INDEPENDENCE PKWY STE 300, CHESAPEAKE, VA, 23320-5178

  • DeliveryPoint = 75
  • DpvConfirmationIndicator = Y
  • DpvCrmaIndicator = N
  • DpvFootnote1 = AA
  • DpvFootnote2 = BB
  • DpvFootnote3 = Null

In this example, the unique identifier and delivery point is 23320517875 (ZIP+4+delivery point). PAV confirms this address does have a delivery point and mail can be delivered there (DpvConfirmationIndicator = Y). The DpvCrmaIndicator = N means that the address is not associated with a valid CRMA, which stands for Commercial Mail Receiving Agency, and is also known as a Private Mailbox (PMB) operator. The DPV footnotes indicate the address has been matched to the ZIP+4 file (AA) and all components of the address were matched to DPV (BB).

The keys below show all available PAV data results.

DPV Confirmation Indicator Key

  1. Y – Address was DPV confirmed for both primary and, if present, secondary numbers
  2. D – Address was DPV confirmed for the primary number only, and secondary number information was missing
  3. S – Address was DPV confirmed for the primary number only, and secondary number information was present but unconfirmed
  4. N – Both primary and, if present, secondary number information failed to DPV confirm

DPV CMRA Indicator Key (CMRA = commercial mail receiving agent)

  1. Y – Address was found in the CMRA table
  2. N – Address was not found in CMRA table

DPV Footnotes Key

  1. AA – Input address matched to the ZIP+4 file
  2. A1 – Input address not matched to the ZIP+4 file
  3. BB – Input address matched to DPV (all components)
  4. CC – Input address primary number matched to DPV but secondary number not matched (present but invalid)
  5. F1 – Input address matched to a Military address
  6. G1 – Input address matched to a General Delivery address
  7. N1 – Input address primary number matched to DPV, but address is missing secondary number
  8. M1 – Input address primary number missing
  9. M3 – Input address primary number invalid
  10. P1 – Input address missing PO, RR, or HC box number
  11. P3 – Input address PO, RR, or HC box number invalid
  12. RR – Input address matched to CMRA and PMB (postal mailbox) designator present (PMB 123 or # 123)
  13. R1 – Input address matched to CMRA but PMB (postal mailbox) designator not present (PMB 123 or # 123)
  14. U1 – Input address matched to a unique ZIP code

Part 1: CDYNE Postal Address Verification API Overview

CDYNE Postal Address Verification is a CASS Certified API that checks U.S. addresses against a continuously updated USPS® database to standardize, correct, and validate addresses in one step. It will reduce non-deliverable addresses, ensure the fastest delivery possible, and qualify your mailings for USPS discounts.

An API, or Application Programming Interface, acts as the interface between business web applications, programs, or databases and the CDYNE Postal Address Verification process. The advantage of using a Web Service API is the ability to add advanced features into your business applications without maintaining the software or hardware required to run that feature. CDYNE Postal Address Verification API enables a business IT department to implement address verification capabilities within their existing systems with a minimal time and money investment.

CDYNE Postal Address Verification API is CASS Certified for the most recent Cycle N by the USPS®, which means our software passed the stringent evaluation and testing process the USPS requires for correction accuracy in the areas listed below. As part of the CDYNE Postal Address Verification offering, the following data is included in the pricing.

DPV® (Delivery Point Validation)

DPV is a USPS address validation process that confirms the existence of a specific address (down to the apartment or suite number) and whether or not it is a valid destination for a mailing or package. With CDYNE Postal Address Verification API, DPV is indicated by the return code. The example below shows a return code of 100, which means all parts of the address have been DPV confirmed. In other words, the address is verified as deliverable.

The example below also shows other features included with CDYNE Postal Address Verification. Notice how the input address is standardized in all caps (per USPS formatting guidelines), corrected (“Suite” is changed to “STE” and the 4-digit zip “2518” is appended to the original zip code provided), and validated for deliverability with a return code of 100.

CDYNE Postal Address Verification returns the following result codes for DPV with the VerifyAddress operation. This is the barebones operation for users who only need to validate whether or not an address is deliverable. For more detailed DPV return codes and suggested interactions, use the VerifyAddressAdvanced Operation, which is discussed in detail in Part 4: CDYNE Postal Address Verification VerifyAddressAdvanced Operation.

  • 10 – Input address is not found
  • 100 – Input address is DPV confirmed for all components
  • 101 – Input address is found, but not DPV confirmed
  • 102 – Input address primary number is DPV confirmed – Secondary number is present but not DPV confirmed
  • 103 – Input address primary number is DPV confirmed – Secondary number is missing
  • 200 – Canadian address on input. Verified on city level only



LACSLink® is a system that matches addresses against a list of rural route, highway route, and box number addresses that have been renumbered or renamed due to 911 address conversions. These conversions involve changing rural-style addresses to city-style addresses for 911 emergency system implementations. LACS stands for Locatable Address Conversion Service. The greatest advantage of LACSLink processing is that it reduces undeliverable mail and ensures that your lists have the most current address information on file, which lowers costs and provides faster delivery. The example below is a made-up address to illustrate how CDYNE Postal Address Verification handles LACSLink return data.

There are three LACSLink code fields that include the LACS Flag, LACS Indicator, and LACS Return Code. CDYNE Postal Address Verification returns the following result codes.

LACS Flag – this indicates whether or not there is an address match with the LACSLink database.

  • Y – LACS record match – the input address matched to a record in the master file, and a new address could be provided.
  • S – LACS record/secondary number dropped – the input address matched to a record in the master file, but the input address had a secondary number and the master record file did not.
  • N – No match – the input address could not be matched to a record in the master file, and a new address could not be provided.
  • F – False positive – a false positive record was detected


LACS Indicator – this indicates whether or not the input address has a conversion in the USPS LACSLink database.

  • L – There is a conversion address in the LACSLink database
  • Blank – No conversion address was found

LACS Return Code – this indicates the reason for the LACS Indicator returned (“L” or “blank”).

  • A – Match – Address Provided – there is a LACSLink record match and a converted address is provided
  • 00 – No Match – there is no match and no converted address
  • 14 – Match – No Conversion – found LACSLink record, but could not convert the data to a deliverable address
  • 92 – Match – Dropped Secondary Number – LACSLink record matched after dropping the secondary number from input address


RDI™ (Residential Delivery Indicator)

RDI or Residential Delivery Indicator identifies whether an address is classified as residential or business. Most shipping companies charge a higher price for residential deliveries. Businesses can use RDI data to maximize savings by flagging residential addresses and then shopping for the most cost-effective delivery option. In the following example, the Residential Delivery Indicator is “N,” which indicates that the address is classified as a business (rather than residential) by the USPS.

CDYNE Postal Address Verification returns the following result codes for Residential Delivery Indicator:

  • Y – Address is residential
  • N – Address is commercial



USPS SuiteLink data provides improved business addressing information by appending known secondary (suite) information to business addresses. In the example below, CDYNE Postal Address Verification appended “STE 200” to the original address because it matched the firm name, “CDYNE” to “STE 200” in the USPS database. Notice that the input address does not contain a secondary or suite number, but the corrected address does.

CDYNE Postal Address Verification returns the following Suite Link Return Codes:

  • A – SuiteLink Match
  • 00 – No Match – SuiteLink look up was attempted, but a match was not made
  • Blank – SuiteLink lookup was not performed


Enhanced Line of Travel or eLOT was developed by the USPS to give mailers the ability to sort their mailings in approximate carrier-casing sequence. eLOT codes organize the delivery points within a zip+4 code in the order that the carrier travels as they deliver mail. Mailers may use eLOT processing to qualify for enhanced carrier route presort discounts.

The eLOT Sequence Number aids in mail sorting, and the USPS defines it as the first occurrence of delivery made to the add-on range within the carrier route. The eLOT Ascending/Descending Code indicates the approximate delivery order within the sequence number.

Barcoding Processing

POSTNET™ – or Postal Numeric Encoding Technique was developed by the USPS to encode zip code information to improve speed, accuracy, and delivery of mail. It allows for rapid and reliable sorting by barcode sorters and provides additional automation discounts for bulk mailings. CDYNE Postal Address Verification returns a POSTNET Barcode string that can be used to generate a barcode image.

The string data in the POSTNET Barcode return consists of the following data, which can be used to generate a barcode for postal mailing discounts.

  • Start character (“f”)
  • Nine digit zip code data (“23320 2518”)
  • Delivery point data (“50”)
  • Check digit (“9”)
  • Stop character (“f”)


IM™ Barcode – The Intelligent Mail barcode is the next generation of USPS barcode technology used to sort and track letters and flats. It combines the capabilities of the POSTNET™ barcode and the PLANET Code® barcode into one unique barcode. Bulk mail that is barcoded is eligible for additional USPS discounts. To qualify for these discounts, the USPS requires an accurate Zip + 4 code, which can be matched with CASS Certified software.

CDYNE Postal Address Verification returns a key that can be used to obtain the Intelligent Mail Barcode string to generate a barcode image. Read more details about this in the GetIntelligentMailBarcode section of Part 2: CDYNE Postal Address Verification API Operations Overview .

In this five-part blog series, we will take a more in-depth look at the programming operations that CDYNE Postal Address Verification API will perform as well as how to use the operations and understand the data returns. Click on the links below to read each article.

Part 2: CDYNE Postal Address Verification API Operations Overview

Part 3: CDYNE Postal Address Verification VerifyAddress Operation

Part 4: CDYNE Postal Address Verification VerifyAddressAdvanced Operation

Part 5: CDYNE Postal Address Verification DPV Code Suggestions

For more information about CDYNE Postal Address Verification, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Postal Address Verification.


Press Release: CDYNE Corporation Offers Upgraded CASS Certified Web Service Solution to Increase Address Data Quality

Chesapeake, VA (August 17, 2010) – CDYNE Corporation, a leading provider of Data Quality and Communication XML Web Services announced today the release of Postal Address Verification 3.0 Web Service to standardize, correct, and validate U.S. addresses without the need for businesses to buy, store, program and maintain the enormous United States Postal Service database.

Postal Address Verification 3.0 is a CASS Certified Web Service that checks U.S. addresses against a continuously updated USPS® database so businesses can perform point of entry validation. With Postal Address Verification 3.0, businesses can increase the number of addresses delivered to, ensure fastest possible delivery of materials or inventory, qualify for USPS discounts, and standardize address data for peak data quality management.

Key Postal Address Verification 3.0 Web Service features include a comprehensive DPV (Delivery Point Validation) return code system that confirms the existence of a specific address and whether or not it can be delivered to. Businesses can avoid residential delivery surcharges by verifying delivery type status prior to shipping with Residential Delivery Indicator (RDI). Intelligent Mail Barcode (IMB) and POSTNET barcodes to qualify for automated discounts are also included with Postal Address Verification 3.0.

“CDYNE’s engineering staff put a great deal of effort into the design and implementation of its own postal address verification engine to not only meet USPS standards and requirements but to also address client requests for new features,” said Valentin Ivanov, Chief Software Architect of CDYNE Corporation. “We have achieved CASS certification and are very excited to offer clients this new service.”

In addition to validating deliverable addresses, businesses can tailor additional data returns at no additional cost. Postal Address Verification 3.0 offers optional data returns including proper case formatting, Census data, geo-location data, and Legislative data.

Web Services are a key point of integration for business applications that exist on different platforms, languages, and systems. IT departments can interface with Postal Address Verification 3.0 Web Service using SOAP (Simple Object Access Protocol) or REST (Representational State Transfer) protocols to build address verification features into existing business applications.

Postal Address Verification 3.0 is backed up with a 100% Service Level Agreement (SLA), protecting clients from unscheduled outages. CDYNE’s data centers are strategically located in different areas across the United States, providing redundancy and location fail-over enabling.

About CDYNE Corporation
Since 1999, CDYNE has provided enterprise Data Quality and Communications XML Web Services to solve the business need for real-time communication and data quality verification. Web Services include Phone Notify!, SMS Notify!, Postal Address Verification, Phone Verification, Email Verification, Demographics, CDYNE 411, Death Index, and IP2Geo. CDYNE billing is transaction-based and post-pay. Clients pay for only what is consumed, eliminating overage charges and unused credits. There are no contracts, startup fees, or cancellation charges. For more information, visit or call 1-800-984-3710.