If you add a donation field (financial type 'donation' which is deductible) to a membership price set that includes membership types that are nondeductible, and then use that price set for a membership contribution form, the deductible value on the contribution is saved as membership fee + donation amount instead of just the membership fee portion of the contribution. This means the nondeductible value can not be trusted.
We use the CDN Tax Receipts extension so to get around the issue we wiped out the nondeductible value from all relevant contributions and let the extension + a custom extension calculate the correct values.
This was replicated on https://dmaster.demo.civicrm.org/ running 5.26.alpha1
How to replicate:
- add a test organization and test individual - create a nondeductible financial type and a deductible financial type - create 2 new membership types for your test organization with a fee and set one to the deductible type, and one to the nondeductible type - create a price set with 2 fields: - radio option with the 2 membership types - radio option with a couple of donation values to choose from, financial type 'donation' - create a new contribution form, default financial type your custom deductible financial type, and enable your price set on the memberships tab - now use your new form to create a membership for your test individual and make sure to select the nondeductible membership type & a donation value. - go to the individual's profile and pull-up the contribution on the contributions tab
To me, it would make sense if the nondeductible value included the donation amount if the contribution status were anything other than 'complete' (pending check for example, because we wouldn't want to issue a tax receipt for monies not receive), but once that status is set to complete then the nondeductible value should respect the financial types of the individual line items.
If this is by design, how would we get around it?