Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Generating Receipt Records

Expand
titleGenerating 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.

Info

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.

Info

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

Jira Legacy
serverSystem JIRA
serverIde9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
keyTAP-889
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.

Note

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

Jira Legacy
serverSystem JIRA
serverIde9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
keyTAP-107
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.

Data Derivation for receipting

Merge Document

Jarvis / Apsona

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"

Salutation

«SalutationJava»

Code Block
languagejs
(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»

Receipt__value__USYD_Gift_Date__c

Receipt__value__AQB__GiftDate__c

Received from

«GiftRecognitionCredit»

Gift/Pledge Number.GRC roll-up

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»

Receipt____AQB__Amount__c

Receipt

«ReceiptNum»

Receipt____Name

«COADesignation»

Receipt____USYD_Transaction_COA_Acc_Num_Roll_Up__c

...