![Page 1: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/1.jpg)
Save the Children Australia
Raiser’s Edge
Examples using the VBA Module
John Bertsias
Marketing Database Manager
![Page 2: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/2.jpg)
Why Save the Children Australia (SCA) decided
to purchase the VBA Module.
Two main factors
• Data quality (Garbage in – Garbage out)
• Having greater flexibility to custom Raiser‟s Edge to meet our ever growing
organisational needs.
![Page 3: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/3.jpg)
VBA code at the Constituent Bio level
What we require…
IF (donor has a Title1=“Mr”) AND (donor Gender is set to “Female” OR
“Unknown”) THEN
Alert and Change(?) to “Male”
ENDIF
IF (donor has a Title1={“Miss”, ”Ms”, ”Mrs”) AND (donor Gender is set to
“Male” OR “Unknown”) THEN
Alert and Change(?) to “Female”
ENDIF
Issue: Raiser‟s Edge does not check Title1 against Gender to make sure its
logical.
![Page 4: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/4.jpg)
![Page 5: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/5.jpg)
If a user tried to SAVE this donor record, the following message would
appear…
![Page 6: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/6.jpg)
If a user selects the “OK” button, the VBA code would change the gender to
MALE.
If the user selects the “Cancel” button the VBA code will CANCEL the SAVE
& CLOSE request.
![Page 7: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/7.jpg)
VBA code at the Constituent Address level
Issue: Raiser‟s Edge does not check the address before SAVE & CLOSE.
What we require is…
Check the donors address against QAS (Auspost).
IF (QAS check < 97% confidence) THEN
Have the user verify suggestions from QAS
IF user chooses to bypass QAS suggestions THEN
Ask for reason – save this as an address attribute to follow-up
ENDIF
ENDIF
IF (QAS check >=97%) OR (user verified address) THEN
CHECK for Has no valid address tickbox and inquire.
Add MOSIAC Address Attribute (create new Attr is required)
Add GPS longitude Address Attribute (create new Attr is required)
…
ENDIF
![Page 8: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/8.jpg)
![Page 9: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/9.jpg)
![Page 10: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/10.jpg)
If a user tries to bypass the QAS suggestion box, the following form will be
displayed - asking for reason why…
![Page 11: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/11.jpg)
If a good match is made the following data is added/ edited into the Address
Attribute tab of the preferred address.
![Page 12: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/12.jpg)
One important final check is made…
![Page 13: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/13.jpg)
![Page 14: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/14.jpg)
VBA code at the Constituent Address Phone level
Issue: Raiser‟s Edge does not check whether the phone number matches
the phone type.
What we require is…
Check the donors Home and Mobile number against telephone numbering
format, the email address against a typical email format…
IF (Phone type is “Home” <> {“02”, “03”, “07”…}) OR
((Phone number < 10 digits) AND (Phone number >0 digits)) THEN
User to verify with the donor.
ENDIF
IF (Phone type is “Mobile” <> {“04}) OR
((Phone number < 10 digits) AND (Phone number >0 digits)) THEN
User to verify with the donor.
ENDIF
IF (Phone type is “E-mail” <> CONTAIN {“@”, ”.”}) THEN
User to verify with the donor.
ENDIF
![Page 15: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/15.jpg)
We can see the home number entered is not correct (as a Home type)…
![Page 16: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/16.jpg)
If the user tries to SAVE & CLOSE the donor record the following is displayed…
![Page 17: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/17.jpg)
We can see the mobile number entered is not correct…
![Page 18: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/18.jpg)
If the user tries to SAVE & CLOSE the donor record the following is displayed…
![Page 19: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/19.jpg)
We can see the email address entered is not correct…
![Page 20: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/20.jpg)
If the user tries to SAVE & CLOSE the donor record the following is displayed…
![Page 21: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/21.jpg)
One final note on Phone types, the following is displayed when a constituent
record is opened (if required).
![Page 22: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/22.jpg)
VBA code at the Constituent Gift (&Attribute) level
Issue: Raiser‟s Edge cannot check process requirements of an organisation.
What we require (not an exhaustive list)…
If a recurring gift has a „Pending Transaction‟ – CANCEL the save request.
If a recurring gift has a “Completed” status – CANCEL the save request.
If an ACTIVE recurring gift has a next transaction date in the past – CANCEL the
save request.
If an ACTIVE recurring gift has a Direct Debit pay method and the Reference
number field is BLANK – CANCEL the save request.
If an ACTIVE recurring gift does not have the EFT tick-box ticked – CANCEL the
save request.
If any particular Gift Attribute of interest is missing either a Description or the Date
– CANCEL the save request.
![Page 23: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/23.jpg)
If the user tries to SAVE & CLOSE the gift record the following are displayed…
![Page 24: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/24.jpg)
![Page 25: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/25.jpg)
One final note on (Gift) Attributes, you can also add the user who entered the
attribute for record auditing in the Comment column.
![Page 26: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/26.jpg)
Practical example: Outbound calls (using Actions)
The requirement:
1. Outbound Team to be able to identify donors requiring a call, the number of
attempts already made, data time of last call attempt, and who made the last
attempt.
2. Record all call attempts - date time, outcome, and solicitor.
3. Based on the last call outcome, check if the Action should be set to “Completed”
or “Not Completed”.
4. If some sufficient time has elapsed- “Complete” the Action, unless it‟s a “Call back”
outcome – normally 2 weeks from Action date but may vary (self-completing).
5. All the correct Action Attributes have been set for each call type.
6. If more than 3 uncontactable outcomes in a row, “Complete” the Action, unless the
donor has previously requested a call back.
7. If not enough time has elapsed between each call, do not treat as a new call
attempts.
![Page 27: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/27.jpg)
Solution…
Write lots of VBA code or ask for help.
![Page 28: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/28.jpg)
![Page 29: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/29.jpg)
![Page 30: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/30.jpg)
![Page 31: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/31.jpg)
![Page 32: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/32.jpg)
Possible error/ information messages…
![Page 33: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/33.jpg)
Fun Example: Queries
The Data Analyst in your team hands over a list of 10,000 (random) donors IDs (from
Raiser‟s Edge) which they would like to use as the universe for the next segment
mail run using Mail->Quick Letters.
Question: How do you create a
query for all those donors
WITHOUT using a flag?
Answer: Use the a Static Query
Uploader using VBA.
![Page 34: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/34.jpg)
![Page 35: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/35.jpg)
Last Example: Cost centres
Issue: Save the Children uses a 10 segment General Ledger code to track its
income and expenditure.
It is not immediately obvious from a gift record what the cost centre is.
Information is stored within the Campaign, Fund, Appeal, Constituent and Gift levels
Solution: Use VBA coding to collate all this information for the user.
![Page 36: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/36.jpg)
![Page 37: Melbourne user's group john bertsias presentation](https://reader033.vdocument.in/reader033/viewer/2022061203/547e26cbb47959c5508b4ac1/html5/thumbnails/37.jpg)
Questions?