Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ import {
faqLinkCss,
faqListCss
} from 'src/components/widget/components/Faq/styles';
import {getTaxDeductibleStatement} from 'src/components/widget/components/Footer/helpers';
import {
DAF_DEDUCTIBLE_STATEMENT,
getTaxDeductibleStatement,
IRA_DEDUCTIBLE_STATEMENT
} from 'src/components/widget/components/Footer/helpers';
import {GridCard} from 'src/components/widget/components/GridCard';
import {useConfigContext} from 'src/components/widget/hooks/useConfigContext';
import {useFundraiserOrUndefined} from 'src/components/widget/hooks/useFundraiser';
Expand All @@ -24,6 +28,7 @@ import {
} from 'src/components/widget/hooks/useNonprofit';
import {useWidgetContext} from 'src/components/widget/hooks/useWidgetContext';
import {ArrowIcon} from 'src/components/widget/icons/ArrowIcon';
import {PaymentMethod} from 'src/components/widget/types/PaymentMethod';
import {BASE_URL, FUNDRAISER_ROUTE} from 'src/constants/url';

interface FaqItemTypes {
Expand Down Expand Up @@ -75,8 +80,8 @@ export const Faq = () => {
<Fragment>
<p>
Your donation is made to Every.org, a US 501(c)(3) public charity.
Every.org will immediately send you a receipt by email.{' '}
{getDisbursementDescription(nonprofit)}
Once a gift has completed processing, Every.org will immediately
send you a receipt by email. {getDisbursementDescription(nonprofit)}
</p>
<p>
This process ensures your eligibility for a tax deduction, enables
Expand All @@ -91,32 +96,34 @@ export const Faq = () => {
title: 'Are there any fees?',
description: getFeeDescription(selectedPaymentMethod, nonprofit)
},
{
id: 'tax',
title: 'Is this donation tax-deductible?',
description: (
<p>
Yes,{' '}
{getTaxDeductibleStatement(nonprofit, fundraiser, parentNonprofit)}
</p>
)
},
{
id: 'receipt',
title: 'Will I receive a receipt for my donation?',
description: (
<Fragment>
<p>
Yes, after your donation payment is confirmed, you will immediately
get a receipt emailed to you.
</p>
<p>
Additionally, if you have an Every.org account, you can always get a
single itemized receipt that shows all your donations in a given
year.
</p>
</Fragment>
)
title: 'Will I receive a tax-deductible receipt for my donation?',
description:
selectedPaymentMethod === PaymentMethod.DAF ? (
<p>{DAF_DEDUCTIBLE_STATEMENT}</p>
) : selectedPaymentMethod === PaymentMethod.IRA ? (
<p>{IRA_DEDUCTIBLE_STATEMENT}</p>
Comment thread
johnemau marked this conversation as resolved.
Resolved
) : (
<Fragment>
<p>
Yes. After your donation payment is confirmed, you will
immediately get a tax-deductible receipt emailed to you.
</p>
<p>
{getTaxDeductibleStatement(
nonprofit,
fundraiser,
parentNonprofit
)}
</p>
<p>
Additionally, if you have an Every.org account, you can always get
a single itemized receipt that shows all your donations in a given
year.
</p>
</Fragment>
)
}
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@ export function isOfficialFundraiser(fundraiser: Fundraiser): boolean {
return fundraiser.nonprofitId === fundraiser.creatorNonprofitId;
}

const DAF_DEDUCTIBLE_STATEMENT =
export const DAF_DEDUCTIBLE_STATEMENT =
'If you use a Donor Advised Fund (DAF), your receipt from Every.org will not be tax-deductible as the tax deduction was already received at the time you contributed to your DAF. For any other payment method, you will get a tax-deductible receipt emailed to you';

export const IRA_DEDUCTIBLE_STATEMENT =
'If you give through a Qualified Charitable Distribution (QCD) from your IRA, your receipt from Every.org will not be tax-deductible as QCD gifts are excluded from your taxable income rather than deducted. For any other payment method, you will get a tax-deductible receipt emailed to you';

export const getTaxDeductibleStatement = (
nonprofit: Nonprofit,
fundraiser?: Fundraiser,
Expand All @@ -37,6 +40,8 @@ export const getTaxDeductibleStatement = (
const deductibleStatement =
paymentOption === PaymentMethod.DAF
? DAF_DEDUCTIBLE_STATEMENT
: paymentOption === PaymentMethod.IRA
? IRA_DEDUCTIBLE_STATEMENT
: '100% of your donation is tax-deductible to the extent allowed by US law';

const main = `${deductibleStatement}. Your donation is made to Every.org, a tax-exempt US 501(c)(3) charity that
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
useNonprofitOrError,
useParentNonprofit
} from 'src/components/widget/hooks/useNonprofit';
import {useWidgetContext} from 'src/components/widget/hooks/useWidgetContext';
import {
TERMS_URL,
HELP_URL,
Expand All @@ -34,11 +35,17 @@ export const Footer = () => {
const nonprofit = useNonprofitOrError();
const fundraiser = useFundraiserOrUndefined();
const parentNonprofit = useParentNonprofit();
const {selectedPaymentMethod} = useWidgetContext();

return (
<GridCard className={footerCardCss}>
<p>
{getTaxDeductibleStatement(nonprofit, fundraiser, parentNonprofit)}{' '}
{getTaxDeductibleStatement(
nonprofit,
fundraiser,
parentNonprofit,
selectedPaymentMethod
)}{' '}
<FooterLink href={TERMS_URL}>See Terms</FooterLink>
</p>
<p>
Expand Down
Loading