Start a new topic

ZIP+4

I think I have asked this before but I am getting different answers.

I would like an address to match (and not pop up the address change window) if the score is above the threshold and the zip code matches the first 5 numbers (ignoring the last 4).

The reason is that most of my imports are for online CC transactions where people enter their addresses in a form.  Most people do not use the +4 notation but we run Address Finder on our DB so all of our RE addresses have the +4.

What this means is that many addresses that match 100% (except for the +4) are stopped.

Can I do this through the UI somewhere or will it have to be API?  If API, how would I catch that?


Hi Wayne,

You're seeing the Advanced Address Processing screen in IOM 2.4?

When you see the AAP is there only 1 address with a 100 point match, or is it when there is more than one matching address?

Thank you,
Amanda
Omatic Support

Here are my settings and examples.

It even seems like all addresses are coming up?  Am I missing something?

image

Hi Wayne,

Thank you for the screenshots.

The reason you're seeing the AAP is because there is more than one address with a 100-point match. IOM can't decide which address to match to.

You could use the API to search for that address and then bring in the address import ID to a virtual field. When the address import ID is supplied, IOM will grab that address and update without questions.

Please let me know if you have any other questions!

Thank you,
Amanda
Omatic Support
It would be nice if it selected the Preferred Address if that is above the score threshold.

I imagine that is what most people would want to happen automatically.

I have a case where only the preferred has a 100 score, but another one has a 92 (which is over my threshold). That still popped up the AAP. Does that mean that if more than one address of any type is above the threshold the form will pop up?

Is there a way to make it choose the preferred address if that is on the list?
Is it possible for me to do something in the API to have IOM choose the preferred address if it matches over my threshold?

Does AfterConstituentOpen happen before address processing or after?

Can I call the AAP from the API conditionally?

I have finally gotten around to coding some API to help with this.

Since I run AddressFinder I have the +4 on most of my zip codes.  When I import constituents from our online db IOM will pop up the address processing form even if the address matches 100% but the new zip code does not have the +4.

I tested this with an import that had two identical lines except one had a normal zip and the other had a zip+4.  IOM stopped on the normal zip but not on the zip+4.  (The zip+4 was already in RE for that record)

RE Record Zip = 01234-5555

Import Line 1 Zip = 01234

Import Line 2 Zip = 01234-555

IOM stops on line 1 but not on line 2.  This happens even if I set my address threshold way down and multiple address are above the threshold (which is what we had originally thought was making the APP pop up)

So I made a little API addition that sets the imported zip code to the RE zip code if the first 5 characters match, that way the import doesn't stop.

Imports Blackbaud.PIA.RE7.BBREAPI


Public Overrides Sub AfterConstituentOpen(ByVal oRec As Blackbaud.PIA.RE7.BBREAPI.CRecord, ByVal Cancel As ImportOM.API.iCancel)
    MyBase.AfterConstituentOpen(oRec, Cancel)
    
    ' Get the Zip Code of the matched record
    Dim sCurrentZip As String = oRec.PreferredAddress.Fields(ECONSTIT_ADDRESSFields.CONSTIT_ADDRESS_fld_POST_CODE)
    ' Get the Zip Code of the Import Record
    Dim sImportZip As String = Import.Fields.GetByName("Zip").Value
    
    ' If the current RE zip code has more than 5 characters and the import zip code has 5 characters
    If Len(sCurrentZip) > 5 And Len(sImportZip) = 5 Then
        ' If the first 5 characters of the zip codes match
        If left(sCurrentZip, 5) = left(sImportZip,5) Then
            ' Set the import zip code to the current RE zip code so that IOM doesn't stop
            Import.Fields.GetByName("Zip").Value = sCurrentZip
        End If
    End If

End Sub
Login or Signup to post a comment