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.
Choose Find Transactions to Receipt and you will see the number and total of the receipts to be created.
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
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.
Image Removed
The electronic file will be attached to the Receipt row when issued.
Image Removed
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
server
System JIRA
serverId
e9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
key
TAP-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
server
System JIRA
serverId
e9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
key
TAP-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.
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
...
language
json
...
Table of Contents
minLevel
1
maxLevel
7
outline
true
Process Diagram
Drawio
mVer
2
zoom
1
simple
0
inComment
0
pageId
2856616143
custContentId
2916811124
lbox
1
diagramDisplayName
Jarvis Receipting Process
contentVer
6
revision
6
baseUrl
https://sydneyuni.atlassian.net/wiki
diagramName
Jarvis Receipting Process
pCenter
0
width
1051
links
tbstyle
height
679
Prerequisite to generate the Receipt
There must be a Contact that is directly linked to the account (Account is NOT Orphaned) for the receipt record to be created(That is why we were forced to use Sir/Madam dummy contact). However on version 24, that will no longer be the case. There is a new feature where a special indirect contact relationship can be linked to the account and the receipt will be created.
The Contact Role of Signator can be used in a Contact to Account relationship to relate a Contact from a Household Account to a Non-Household Account to allow for receipting of the Non-Household Account.
Gift Date is not in the future
Transaction has not already been receipted
Transaction’s Do Not Receipt is not ticked
Direct Linked contact scenarios
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)
Organization Account no direct linked contacts
Gift created
directly link 2 contacts (do not mark as primay)
Organization Account no direct linked contacts
Gift created
directly link 2 contacts (mark one a primary)
primary contact
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
signator
manually added
Household Account (assume always created with direct contact)
no primary contact selected on account
Gift Created
signator
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
signator (secondary)
forced to select in batch creation
AQ Receipting Utility - Generating Receipt Records
...
Criteria for the Transaction to be pulled in for receipting:
Transaction.Receipt Number field has to be null in order for the transaction to be looked at (links the transaction to the receipt, if this field is populated, the utility assumes a receipt has already been generated)
On transaction type has to be Grant Payment or Payment
Image Added
Method can't be soft credit, transfer or service
If using the start and end dates, note that it is based on the UTC time of creation date of the transaction, not the transaction date.
Note
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.
Info
Information coming form AQ developer :
#receipts to void
selects the transactions based on the criteria from form
Uses the gifts for those tranactions to select all of the gifts transactions
If any of those transctions are marked as Voided (using isVoided flag on transaction)
Looks at those voided transaction if they are linked to a receipt and that receipt is not marked as voided, then the receipt is counted in # of Receipts to Void
# transactions receipted
Selects the transactions based on the criteria from form
Uses the gifts for those transactions to select all of the gifts transactions
If gift for the transaction is marked as No Receipt false and the gift date is less than or equal to today's date
If the transaction is not voided and the transaction not linked to a receipt row or linked receipt is already voided AND it is running on a selected gift number or a Batch Number (not annual receipts) OR running annual receipts and gift is marked for annual receipt and if running for approval and gift is marked as receipt approved.
Then quids are checked to validate if the quid amount is covered (see explanation below) and then there must be a signator or a valid contact to receive the receipt.)
# new receipts
Selects the transactions based on the criteria from form
Uses the gifts for those transactions to select all of the gifts transactions
If gift for the transaction is marked as No Receipt false and the gift date is less than or equal to today's date
If the transaction is not voided and the transaction not linked to a receipt row or linked receipt is already voided AND it is running on a selected gift number or a Batch Number (not annual receipts) OR running annual receipts and gift is marked for annual receipt and if running for approval and gift is marked as receipt approved.
Then quids are checked to validate if the quid amount is covered (see explanation below) and then there must be a signator or a valid contact to receive the receipt.)
Count is based on the Signator/Contact to receipt, so if 1 Signator has 3 receipts it is only counted as 1.
Expand
title
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.
When running the receipting utility and selecting by batch, it does not skip receipts with annual flag
When selecting by batch, it should select all the items in the batch that have been processed but not receipted. It does not currently skip based on Annual Receipt or Receipt Needs Approval. This is going to have some options in the next release.
Choose Find Transactions to Receipt and you will see the number and total of the receipts to be created.
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
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.
Image Added
The electronic file will be attached to the Receipt row when issued.
Image Added
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
server
System Jira
serverId
e9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
key
TAP-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
server
System Jira
serverId
e9de0c6d-9ef6-3ada-b4ce-7168c44d7e8a
key
TAP-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.
Apsona MSR - Data Derivation for receipting General Template/Mapping
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.
(function () {
// define all merge fields to be used as variables for shorter reference
var accountType = {!Account.Account.Account Type};
var grclc = {!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %};
// it is actually not accurate to assume that the GRC is given to the Primary and Secondary contacts of the account.
// it is actually possible to have the primary and secondary contact not set and still award the GRC records, in the off
// chance that this happens to be, the receipt will print blank names on salutaion.
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;
var PstandaloneSal = {!Contact Primary.Salutation Link.Standalone Salutation};
var SstandaloneSal = {!Contact Secondary.Salutation Link.Standalone Salutation};
// if standalone salutation, don't print the names
if (PstandaloneSal) {
PLastName = "";
PFirstName = "";
}
// if standalone salutation, don't print the names
if (SstandaloneSal) {
SLastName = "";
SFirstName = "";
}
if (grclc == 100) {
// only one contact gets legal credit, we get the first GRC record and the credit contact of that GRC Record
PLastName = {!Gift Recognition Credit.Contact Credited.Last Name} ? {!Gift Recognition Credit.Contact Credited.Last Name} : "";
PFirstName = {!Gift Recognition Credit.Contact Credited.First Name} ? {!Gift Recognition Credit.Contact Credited.First Name} : "";
// if standalone salutation, don't print the names
if (PstandaloneSal) {
PLastName = "";
PFirstName = "";
}
salutation1 = {!Gift Recognition Credit.Contact Credited.Salutation} ? {!Gift Recognition Credit.Contact Credited.Salutation} : "";
// second contact is blank
salutation2 = "";
SLastName = "";
SFirstName = "";
}
// if no salutation to either of the two contacts, set the Method : use first name or Supporter
if ((PLastName != "" && salutation1 == "") || (SLastName != "" && salutation2 == "")){
if (PFirstName != "" && PFirstName.length > 1 && SFirstName == ""){ // one contact, first name is not one character,
method = 1; // use first name
} else if (PFirstName != "" && PFirstName.length > 1 && SFirstName != "" && SFirstName.length > 1){ // two contacts, first name is not one character
method = 1; // use first name for both contacts
} else {
method = 2; // no salutation and no first name, use Dear Supporter
}
}
// Household and two contact same surname - Dear Mr Ryan and Mrs Francesca Bryant
if ((accountType == 'Household') && (grclc < 100) && (PLastName == SLastName)) {
switch(method){
case 1: // Dear Ryan and Francesca Bryant
return (PFirstName + " " + "and" + " " + SFirstName + " " + SLastName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr and Mrs Bryant or Dear Chancellor and Mrs Bryant
return (salutation1 + " " + "and" + " " + salutation2 + " " + SLastName);
}
// Household and two contact different surname - Dear Mr Ryan Bryant and Mrs Francesca Parkes
} else if ((accountType == 'Household') && (grclc < 100) && (PLastName != SLastName)) {
switch(method){
case 1: // Dear Ryan and Francesca
return (PFirstName + " " + "and" + " " + SFirstName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr Bryant and Mrs Parkes or Dear Chancellor and Mrs Parkes
return (salutation1 + " " + PLastName + " " + "and" + " " + salutation2 + " " + SLastName);
}
// Not Household with careof
} else if ((accountType != 'Household') && (careof)){
return ({!Receipt.Account.Receipting Care of});
} else if ((accountType != 'Household')){
return ("Sir/ Madam");
} else if ((grclc == 100)){ // Household and only one LC
switch(method){
case 1: // Dear Ryan
return (PFirstName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr Bryant or Dear Chancellor
return (salutation1 + " " + PLastName);
}
} else {
return "";
}
})()
Body
Thank you on behalf of the University of Sydney for your donation of «GiftAmount» to support «IF DFN2»«DFN1»«ELSE IF DFN1»«DFN1».«ENDIF»«IF DFN3», «DFN2»«ELSE IF DFN2» and «DFN2».«ENDIF»«IF DFN4», «DFN3»«ELSE IF DFN3», and «DFN3».«ENDIF» «IF DFN5», «DFN4»«ELSE IF DFN4», and «DFN4».«ENDIF»«IF DFN5», and «DFN5».«ENDIF»Please find below your official University tax receipt.
«IF SpecialWording»«SpecialWording»«ELSE»The University of Sydney is a vibrant teaching and research institution dedicated to solving real world problems. Your gift will help us to ignite the potential of our brightest minds. For generations we have recognised the power of education to lead change. With your help, we will continue this tradition of creating a community where individuals and their ideas can flourish.«ENDIF»
USYD_New Standard Receipt Template_Reprint - Edited - BP (3).docx
N/A
No
Consolidated Receipts - Email
Email Consolidated Receipts
a2P8v0000001UCeEAM
Code Block
language
json
"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",
"