Attention: Confluence is not suitable for the storage of highly confidential data. Please ensure that any data classified as Highly Protected is stored using a more secure platform.
If you have any questions, please refer to the University's data classification guide or contact ict.askcyber@sydney.edu.au

Skip to end of banner
Go to start of banner

TAP Receipting Blueprint - Technical

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 51 Next »

Prerequisite to generate the Receipt

  1. There must be a Contact that is directly linked to the account (Account is NOT Orphaned) for the receipt to be created.

  2. Gift Date is not in the future

  3. Transaction has not already been receipted

  4. Transaction’s Do Not Receipt is not ticked

The following scenarios are for which receipt cannot be created because there was no directly linked contact when Gift was created (except for household, which presumably always created with direct linked contact).

Test Scenario

Contact is selected on the receipt

Transaction Signator

Organization Account no direct linked contacts

Gift created

directly link a contact (do not mark as primary)

(tick)

(error)

Organization Account no direct linked contacts

Gift created

directly link 2 contacts (do not mark as primay)

(error)

(error)

Organization Account no direct linked contacts

Gift created

directly link 2 contacts (mark one a primary)

(tick)

primary contact

(error)

Organization Account no direct linked contacts

Gift created

directly link a contact (do not mark as primary)

manually add a different contact to transaction signatore

(tick)

signator

(tick)

manually added

Household Account (assume always created with direct contact)

no primary contact selected on account

Gift Created

(tick)

signator

(tick)

forced to select in batch creation

Household Account (assume always created with direct contact)

multiple contacts set as primary and secondary

Gift Created - signator is secondary contact

(tick)

signator (secondary)

(tick)

forced to select in batch creation

AQ Receipting Utility - Generating Receipt Records

when you have loaded the utility, and something has changed (i.e. new transactions created or update happened to transactions), any changes would not reflect in the utility unless you refresh the utility page. That means, the find transaction to receipt button may not pickup newly created transactions so make sure you refreshed the page.

 Generating Receipt Records

Receipt Records are generated from AQ Receipting Utility, here’s an excerpt from AQ zendesk:

Receipting Lightning Web Component

To access the Receipting Lightning Web Component, go to the App Launcher and select Receipting (you may need to create at tab - please see Configuration - Receipting

Receipts can be generated for a date range, by batch or individually by gift number.

Annual Receipts and Receipts Needing Approval are excluded by default, but can be added to the group to be receipted by checking the boxes.

  1. Choose Find Transactions to Receipt and you will see the number and total of the receipts to be created.

  2. Then choose Create Receipts.

Note that after creating the receipts, the tab will need to be refreshed (or new window) in order for the records created to be recognized. Otherwise, the tool will keep on fetching the same transactions to be receipted. The reset button just clears out the input boxes. Therefore, if something has changed that needed to be reflected in the Receipting Utility, it is necessary to reload the tool in a new window. Please see attached video for illustration. This has been raised to AQ Zendesk for reference https://affinaquest.zendesk.com/hc/en-us/requests/3997

video1120102716.mp4

Once receipt rows have been created and receipts generated, you can view the receipt information on the Account.

Information on the receipt is on the gift record and the check boxes can be updated if needed after gift entry.  The receipt count cannot be updated manually.  It will increment based on the number of times the receipt is issued or voided.

The electronic file will be attached to the Receipt row when issued.

How the system fetches “unreceipted” transaction is through the “Receip Number” on Transaction record. Transaction.Receipt Number links the transaction to the receipt, if this field is populated, the utility assumes a receipt has already been generated. Transaction type has to be grant payment or payment. Method can't be soft credit, transfer or service.

Jira Ticket TAP-889 - Getting issue details... STATUS had an issue because the dummy Receipt has been deleted when cleaning up receipts. Because of this, previously receipted transactions are being fetched and included into the new receipt being created.

when we run the receipting by date range it automatically voids all receipts in that date range that are attached to a modified gift. Jira ticket TAP-107 - Getting issue details... STATUS tackles an open issue on receitping where Annual receipt is being receipted by the utility and recurring gift batchs is not being receipted with batch # search.

Apsona MSR - Data Derivation for receipting

Some logic were built into the Merge doc template itself. Please see below where the values are being picked from (merge field from document template are mapped to Apsona MSR field). This is technical field mapping.

Merge Document (Doc template)

Jarvis (Apsona) - Field Mapping

Date

«ReceiptDate»

Heading

«IF CareOf»«AccountName»

«ELSE IF AccrecordType !="Household"»

«AccountName»«ENDIF»

«IF CareOf»Care Of: «CareOf»

«ELSE IF Deceased»Sir/Madam

«ELSE IF LegalCreditCheckLess100Greater0»

«IF PSalutation»«PSalutation»«ENDIF»

«PFirstName» «PLastName»«IF PSuffix»«PSuffix»«ENDIF»

and «IFSSalutation»«SSalutation»«ENDIF»

«SFirstName» «SLastName»«IF SSuffix» «SSuffix»«ENDIF»

«ELSE IF LegalCreditCheck100»

«IF LegalCreditSalutation»«LegalCreditSalutation»«ENDIF»

«LegalCreditFirstName» «LegalCreditLastName»

«IF LegalCreditSuffix» «LegalCreditSuffix»«ENDIF»«ENDIF»

«IF MailingLine1»«MailingLine1»«ENDIF»

«IF MailingLine2»«MailingLine2»«ENDIF»

«IF MailingLine3»«MailingLine3»«ENDIF»

«IF City»«City»«ENDIF» «State» «PostCode»

«Country»

  • "CareOf":"Receipt____AQB__AccountId__c___USYD_Receipting_Care_of__c"

  • "AccrecordType":"Account____RecordTypeId"

  • "AccountName":"Receipt____AQB__AccountId__c___Name"

  • "Deceased":"Receipt____AQB__ContactId__c___AQB__Deceased__c"

  • "LegalCreditCheckLess100Greater0":"Calculated_Steps____>0<100"
    where >0<100 :
    ({!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %} > 0) &&
    ({!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %} < 100) ? "PS" : ""

  • "LegalCreditCheck100": "Calculated_Steps____100%"
    where 100% :
    ({!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %}==100) ? "C" : ""

  • "PSalutation": "Account____AQB__PrimaryContact__c___Salutation"

  • "PFirstName": "Account____AQB__PrimaryContact__c___FirstName"

  • "PLastName": "Account____AQB__PrimaryContact__c___LastName"

  • "PSuffix": "Account____AQB__PrimaryContact__c___Suffix"

  • "SSalutation": "Account____AQB__SecondaryContact__c___Salutation"

  • "SFirstName": "Account____AQB__SecondaryContact__c___FirstName"

  • "SLastName": "Account____AQB__SecondaryContact__c___LastName"

  • "SSuffix": "Account____AQB__SecondaryContact__c___Suffix"

  • "LegalCreditSalutation": "Gift_Recognition_Credit____AQB__ContactId__c___Salutation"

  • "LegalCreditFirstName": "Gift_Recognition_Credit____AQB__ContactId__c___FirstName"

  • "LegalCreditLastName": "Gift_Recognition_Credit____AQB__ContactId__c___LastName"

  • "LegalCreditSuffix": "Gift_Recognition_Credit____AQB__ContactId__c___Suffix"

  • "MailingLine1": "Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineOne__c"

  • "MailingLine2": "Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineTwo__c"

  • "MailingLine3": "Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineThree__c"

  • "City": "Receipt____AQB__AccountId__c___BillingCity"

  • "State": "Receipt____AQB__AccountId__c___BillingState"

  • "PostCode": "Receipt____AQB__AccountId__c___BillingPostalCode"

Salutation

«SalutationJava»

(function () {
    var accountType = {!Account.Account.Account Type};
	var grclc = {!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %};
	var PLastName = {!Account.Primary Contact.Last Name} ? {!Account.Primary Contact.Last Name} : "";
	var PFirstName = {!Account.Primary Contact.First Name} ? {!Account.Primary Contact.First Name} : "";
	var SLastName = {!Account.Secondary Contact.Last Name} ? {!Account.Secondary Contact.Last Name} : "";
	var SFirstName = {!Account.Secondary Contact.First Name} ? {!Account.Secondary Contact.First Name} : "";
	var salutation1 = {!Account.Primary Contact.Salutation} ? {!Account.Primary Contact.Salutation} : "";
	var salutation2 = {!Account.Secondary Contact.Salutation} ? {!Account.Secondary Contact.Salutation} : "";
	var careof = {!Receipt.Account.Receipting Care of};
	
	var method = 0; // Dear Salutation + First Name + Last Name
	if ((PLastName != "" && salutation1 == "") || (SLastName != "" && salutation2 == "")){
		if ((PFirstName != "" && PFirstName.length > 1) || (SFirstName != "" && SFirstName.length > 1 )){
			method = 1; // Dear First Name
		} else {
			method = 2; // Dear Supporter
		}
	}
	if ((accountType == 'Household') && (grclc < 100) && (PLastName == SLastName)) {
			switch(method){	
				case 1:
					return (PFirstName + " " + "and" + " " + SFirstName + " " + SLastName);
					break;
				case 2:
					return ("Supporter");
					break;
				default:
					return (salutation1 + " " + "and" + " " + salutation2 + " " + SLastName);
			}
	} else if ((accountType == 'Household') && (grclc < 100) &&  (PLastName != SLastName)) {
				switch(method){
					case 1:
						return (PFirstName + " " + "and" + " " + SFirstName);
						break;
					case 2:
						return ("Supporter");
						break;
					default:
						return (salutation1 + " " + PLastName + " " + "and" + " " + salutation2 + " " + SLastName);
				}
			} else if ((accountType != 'Household') && (careof)){
					return ({!Receipt.Account.Receipting Care of});						
				} else if ((accountType != 'Household')){
							return ("Sir/ Madam");
				} else if ((grclc == 100)){
					
						switch(method){	
							case 1:
								return (PFirstName);
								break;
							case 2:
								return ("Supporter");
								break;
							default:
								return (salutation1 + " " + PLastName);
						}						
				} else {
					return "";
				}
 })()

Body

Date

«IF Pledge»«LastPaymentDate»«ELSE»«GiftDate»«ENDIF»

  • "LastPaymentDate": "Receipt__value__USYD_Gift_Date__c"

  • "GiftDate": "Receipt__value__AQB__GiftDate__c"

Received from

«GiftRecognitionCredit»

  • "GiftRecognitionCredit": "Receipt____AQB__GiftId__c___GRC_roll_up__c"

Flow: Gift Pledge Update - V6

Trigger: Gift/Pledge Created or Edited

If GRC exist:

concatenate contacts’:

Contact.Receipt Name

or

Contact.FirstName Contact.LastName

else:

Account.Account Name

Gift Pledge Update - V6

Amount

«GiftAmount»

  • "GiftAmount": "Receipt____AQB__Amount__c"

Receipt

«ReceiptNum»

  • "ReceiptNum": "Receipt____Name"

«COADesignation»

  • "COADesignation": "Receipt____USYD_Transaction_COA_Acc_Num_Roll_Up__c"

Different Apsona MSR for Generating Receipt Document

Apsona items in UAT is not currently synced with Production. remove this warning once they are both synced.

The following are the reports used in generating Receipt Documents

Apsona Multi Step Report

Merge Action

Template Field Map

Document Template

Email Template

Salutation Calculation field

Change History / Comments

Receipt - Email

Generate Email and Attach to Record

"AccountName":"Receipt____AQB__AccountId__c___Name",
"AccrecordType":"Account____RecordTypeId",
"COADesignation":"Receipt____USYD_Transaction_COA_Acc_Num_Roll_Up__c",
"CareOf":"Receipt____AQB__AccountId__c___USYD_Receipting_Care_of__c",
"City":"Receipt____AQB__AccountId__c___BillingCity",
"Country":"Receipt____AQB__AccountId__c___BillingCountry",
"DFN1":"Receipt____USYD_Transaction_1_DFN__c",
"DFN2":"Receipt____USYD_Transaction_2_DFN__c",
"DFN3":"Receipt____USYD_Transaction_3_DFN__c",
"DFN4":"Receipt____USYD_Transaction_4_DFN__c",
"DFN5":"Receipt____USYD_Transaction_5_DFN__c",
"Deceased":"Receipt____AQB__ContactId__c___AQB__Deceased__c",
"GiftAmount":"Receipt____AQB__Amount__c",
"GiftDate":"Receipt__value__AQB__GiftDate__c",
"GiftRecognitionCredit":"Receipt____AQB__GiftId__c___GRC_roll_up__c",
"LastPaymentDate":"Receipt__value__USYD_Gift_Date__c",
"LegalCreditCheck100":"Calculated_Steps____100%",
"LegalCreditCheckLess100Greater0":"Calculated_Steps____>0<100",
"LegalCreditFirstName":"Gift_Recognition_Credit____AQB__ContactId__c___FirstName",
"LegalCreditLastName":"Gift_Recognition_Credit____AQB__ContactId__c___LastName",
"LegalCreditSalutation":"Gift_Recognition_Credit____AQB__ContactId__c___Salutation",
"LegalCreditSuffix":"Gift_Recognition_Credit____AQB__ContactId__c___Suffix",
"MailingLine1":"Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineOne__c",
"MailingLine2":"Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineTwo__c",
"MailingLine3":"Receipt____AQB__AccountId__c___AQB__AccountMailingStreetLineThree__c",
"PFirstName":"Account____AQB__PrimaryContact__c___FirstName",
"PLastName":"Account____AQB__PrimaryContact__c___LastName",
"PSalutation":"Account____AQB__PrimaryContact__c___Salutation",
"PSuffix":"Account____AQB__PrimaryContact__c___Suffix",
"Pledge":"Receipt____AQB__GiftId__c___RecordTypeId",
"PostCode":"Receipt____AQB__AccountId__c___BillingPostalCode",
"ReceiptDate":"Receipt__value__AQB__ReceiptDate__c",
"ReceiptNum":"Receipt____Name",
"SFirstName":"Account____AQB__SecondaryContact__c___FirstName",
"SLastName":"Account____AQB__SecondaryContact__c___LastName",
"SSalutation":"Account____AQB__SecondaryContact__c___Salutation",
"SSuffix":"Account____AQB__SecondaryContact__c___Suffix",
"SalutationJava":"Calculated_Steps____Salutation - Java",
"SpecialWording":"Receipt____USYD_Campaign_Special_Wording__c",
"State":"Receipt____AQB__AccountId__c___BillingState",
"Today":"Receipt__value__AQB__ReceiptDate__c"

USYD_New Standard Receipt Template - Aug 26th _ 2022.docx

If Receipt.Acknowledgement type

Research Grant or

Non Research Grant

Email Receipt

Yes

AVE-176 - Getting issue details... STATUS

  • Template and mapping are updated for Email and non-email Apsona receipt reports.

  • The merge field formula on the template is removed and replaced with merge field which is mapped to a calculated field (Java) in Apsona.

  • This new java calculated field is also mapped to the Jarvis email template salutation.

Receipt - Non Email

Generate Document and Attach to Record

N/A

Yes

Reprint Receipt

Reprint Receipts

"AccountName":"Receipt____AQB__AccountId__c___Name",
"COADesignation":"Receipt____USYD_Transaction_COA_Acc_Num_Roll_Up__c",
"CareOf":"Receipt____AQB__AccountId__c___USYD_Receipting_Care_of__c",
"City":"Receipt____AQB__AccountId__c___BillingCity",
"Country":"Receipt____AQB__AccountId__c___BillingCountry",
"DFN1":"Receipt____USYD_Transaction_1_DFN__c",
"DFN2":"Receipt____USYD_Transaction_2_DFN__c",
"DFN3":"Receipt____USYD_Transaction_3_DFN__c",
"DFN4":"Receipt____USYD_Transaction_4_DFN__c",
"DFN5":"Receipt____USYD_Transaction_5_DFN__c",
"Deceased":"Receipt____AQB__ContactId__c___AQB__Deceased__c",
"GiftAmount":"Receipt____AQB__Amount__c",
"GiftRecognitionCredit":"Receipt____AQB__GiftId__c___GRC_roll_up__c",
"LastNameDifferent":"Calculated_Steps____>0<100LastNameDiff",
"LastNameSame":"Calculated_Steps____>0<100LastNameSame",
"LegalCreditCheck100":"Calculated_Steps____100%",
"LegalCreditCheckLess100Greater0":"Calculated_Steps____>0<100",
"LegalCreditFirstName":"Gift_Recognition_Credit____AQB__ContactId__c___FirstName",
"LegalCreditLastName":"Gift_Recognition_Credit____AQB__ContactId__c___LastName",
"LegalCreditSalutation":"Gift_Recognition_Credit____AQB__ContactId__c___Salutation",
"LegalCreditSuffix":"Gift_Recognition_Credit____AQB__ContactId__c___Suffix",
"MailingLine1":"Receipt____USYD_Address_Street__c",
"PFirstName":"Account____AQB__PrimaryContact__c___FirstName",
"PLastName":"Account____AQB__PrimaryContact__c___LastName",
"PSalutation":"Account____AQB__PrimaryContact__c___Salutation",
"PSuffix":"Account____AQB__PrimaryContact__c___Suffix",
"PostCode":"Receipt____AQB__AccountId__c___BillingPostalCode",
"Receipt Gift Date ":"Receipt__value__USYD_Gift_Date__c",
"ReceiptDate":"Receipt__value__AQB__ReceiptDate__c",
"ReceiptNum":"Receipt____Name",
"SFirstName":"Account____AQB__SecondaryContact__c___FirstName",
"SLastName":"Account____AQB__SecondaryContact__c___LastName",
"SSalutation":"Account____AQB__SecondaryContact__c___Salutation",
"SSuffix":"Account____AQB__SecondaryContact__c___Suffix",
"SpecialWording":"Receipt____USYD_Campaign_Special_Wording__c",
"State":"Receipt____AQB__AccountId__c___BillingState"

USYD_New Standard Receipt Template_Reprint - Edited - BP.docx

N/A

No

Consolidated Receipts - Email

Email Consolidated Receipts

"City":"Account____BillingCity",
"Country":"Account____BillingCountry",
"Different":"Calculate_Step____LC Both Different Last Name",
"Gift/Pledge Number":"Gifts_Pledges____Name",
"MailingLine1":"Account____BillingStreet",
"PFirstName":"Account____AQB__PrimaryContact__c___FirstName",
"PLastName":"Account____AQB__PrimaryContact__c___LastName",
"PSalutation":"Account____AQB__PrimaryContact__c___Salutation",
"PUSYDContactID":"Account____AQB__PrimaryContact__c___USyd_Contact_ID__c",
"PostCode":"Account____BillingPostalCode",
"Primary":"Calculate_Step____LC-P",
"SFirstName":"Account____AQB__SecondaryContact__c___FirstName",
"SLastName":"Account____AQB__SecondaryContact__c___LastName",
"SSalutation":"Account____AQB__SecondaryContact__c___Salutation",
"SUSYDContactID":"Account____AQB__SecondaryContact__c___USyd_Contact_ID__c",
"Same":"Calculate_Step____LC Both Same Last Name",
"Secondary":"Calculate_Step____LC-S",
"State":"Account____BillingState",
"TodaysDate":"systemFields::today"

USYD_Consolidated Receipt Template_Updated.docx

Consolidated Receipt

Yes

Non Email Consolidated Receipts

No Email Consolidated Receipts

N/A

No

Reprint Consolidated Receipts

Consolidated Receipts - Reprint

USYD_Consolidated Receipt Template_Reprint.docx

N/A

No

Dues

Receipt records without Sent Receipts

References:

  • No labels