# Annual Summary of Giving
The Annual Summary of Giving (opens new window) section provides downloadable, PDF summaries of a donor's giving for a period of up to five years prior to the current calendar year. These PDFs are generated by the PDF Generator application and powered by smart fields from BBIS.
# PDF Generator
Laravel v6 (opens new window) application (stc/2019/pdf-generator (opens new window)) responsible for accepting donor details (i.e. year of receipt, annual sponsorship donations, annual partner for children donations, etc...) via query string and returning a downloadable PDF in response. PDFs are rendered via API2PDF.
This application is hosted in Save the Children's AWS account on an EC2 instance named "stc-tools-server" at the following domains:
- pdfs-dev.savethechildren.org - (DEVELOPMENT site)
- pdfs.savethechildren.org - (PRODUCTION site)
Note: Updates to the codebase's develop and master branches are automatically
deployed to the development and production sites, respectively.
# API2PDF
API2PDF (opens new window) is a PDF generation service leveraged by the
PDF Generator for the purpose of converting HTML content into
a PDF document. The application is accessing the service with permissions
granted by the API key labeled Member Center PDF Generator.
The primary login for the service is mfaber@savechildren.org as of this
writing.
# Smart Fields from BBIS
The details for each annual summary are extracted from smart fields returned
from the BBIS window. The following smart fields are used to generate a PDF
download link for a given year. ${year} is a four-digit representation of the
year (ex. 2019).
Annual Summary of Giving - ${year} All Non-Recurring Donations: Sum of all non-recurring donations for a given year.
Annual Summary of Giving - ${year} Sponsorship Payments: Sum of sponsorship donations for a given year.
Annual Summary of Giving - ${year} Recurring Gift Payments: Sum of recurring, non-sponsorship donations for a given year (a.k.a Partner For Children donations).
Annual Summary of Giving - ${year} FMV Recipient: When present and equal to "1", the link for this year is replaced by a notice asking the user to contact the Supporter Experience Team.
Annual Summary of Giving - High Profile Web Notification: When present and equal to "1", intro copy and all Annual Summary of Giving links are suppressed and replaced by a message to contact the Supporter Experience Team.
Annual Summary of Giving - General Web Notification: When present and equal to "1", intro copy and all Annual Summary of Giving links are suppressed and replaced by a message to contact the Supporter Experience Team.
Note: If no smart fields exist for a given year, no PDF download link is displayed for that year.
# Annual Setup Tasks
All that is required to add a new PDF download link to the Annual Summary of Giving section is to ensure that the necessary smart fields for that year are present on the user's record and available via the BBIS Proxy. The resultant PDF download link will be available as of January 1st at midnight (user's local time) of the following year.
For example, to prepare a new PDF download link for the year 2025, the following smart fields must be present on the user's record:
- Annual Summary of Giving - 2025 All Non-Recurring Donations
- Annual Summary of Giving - 2025 Sponsorship Payments
- Annual Summary of Giving - 2025 Recurring Gift Payments
- Annual Summary of Giving - 2025 FMV Recipient
The download link for reporting year 2025 will be available as of 1/1/2026 at 12am regardless of when the smart fields were created. The link will be available for five years provided the necessary smart fields remain on the user's record.
# Modifying Content
# Member Center
Front-end content for this section can be found in the three Vue.js components outlined below. Changes to these components must be committed to the code repository and deployed per standard development procedures for the repository.
- src/js/member-center/components/annual-summary-of-giving-exclusion-notice.js
- src/js/member-center/components/annual-summary-of-giving-pdf.js
- src/js/member-center/components/annual-summary-of-giving-section.js
# PDF Content
PDF content can be found in the
/resources/views/summary-of-giving/index.blade.php (opens new window)
blade template of the PDF Generator app. This
template is conditionalized to display dynamic content for
all use-cases (i.e. donor, sponsor, partner for children and combo).
All updates to that codebase should be made using a Gitflow workflow and automatically deployed by pushing code to the "develop" and "master" branch, as required.