CRM donor management: Dynamics 365 or Odoo for nonprofits
A donor management CRM has two jobs: a pipeline of constituents and appeals, and a gift ledger that can produce a written acknowledgment.
A donor management CRM has two jobs: a pipeline of constituents and appeals, and a gift ledger that can produce a written acknowledgment. For an eligible US nonprofit, Dynamics 365 Sales starts at USD 16.25 per user per month, paid yearly, as of October 2026. Odoo can hold relationships on a commercial plan and does not publish a charity discount. Neither product is the fund balance or the receipt an auditor will ask to see. If you record gifts of USD 250 or more, or donors restrict spending, name the gift system and the books before you buy.
Search engines treat the words "crm donor management" as a general CRM category. The decision in front of a development director is narrower. Can Dynamics 365 or Odoo run gifts, pledges, receipts, and appeals, or does fund accounting force a fundraising platform into the design?
What the gift file has to hold
Treat donors as a pipeline plus a ledger. The pipeline is who they are, who owns the relationship, and which appeal they are in. The ledger is the payment, the designation, and the writing you send so the donor can support a deduction.
A workable gift file covers six objects, even when they live in two products:
- Constituent and organization records, with one owner and a history of asks.
- Appeals and tasks, so a major-gift officer can see the next step.
- The gift itself: amount, dates, payment method, and whether it is one-time, pledged, or on a schedule.
- The donor's instruction for how the gift is spent, often called a designation.
- The acknowledgment or receipt, including any goods or services the donor received.
- Consent and communication preferences, stored on the constituent, not in a side spreadsheet.
Microsoft's nonprofit common data model defines a Transaction (msnfp_Transaction) as a donation: a payment from a constituent to the nonprofit. Attributes include amount, book date, received date, posted date, payment method, payment schedule, receipt-on contact, anonymity, adjustment type, and a marketing source code. That is a gift record, not an opportunity stage.
A Designation (msnfp_Designation) is the donor's instruction for how a gift is spent. The model includes a GL-relevant accounting code, restriction type, endowment type, GL debit and credit accounts, and totals disbursed. Those fields describe intent and give finance a mapping. They are not, by themselves, a posted fund balance. Have a bidder show the field on a gift, then show the separate entry that updates the books.
Recurring gifts and pledges belong in this list because month-end cares about them. A payment schedule on the gift tells development what is expected. Finance still needs the cash and the restriction in the ledger your ERP for nonprofits design uses. If those two totals are reconciled in a spreadsheet the week before the board meeting, you already have two systems of record.
Where a CRM stops and the books begin
Use three tests. If you can answer only the first, a CRM is the project. If you need the second, the CRM has to grow gift objects or you keep a fundraising platform. If you need the third, a finance system is in scope even when the CRM looks complete in a demo.
- Relationship tracking (What can hold it: Dynamics 365 Sales or Odoo CRM: constituents, appeals, owners, tasks · Where teams get stuck: Gift amounts typed into notes or a side sheet)
- Gift and receipt record (What can hold it: Transaction fields (amount, dates, schedule, receipt-on contact) or a fundraising product's receipt tools · Where teams get stuck: An opportunity marked Closed, with no acknowledgment stored)
- Restricted-fund balance (What can hold it: Business Central or your existing ledger, using designation fields as the donor's instruction · Where teams get stuck: Expecting the designation record to post the general ledger on its own)
Dynamics 365 Sales is built for pipeline work. A Dynamics 365 Sales rollout can assign fundraisers, track appeals, and keep the next action on the constituent. Opportunity amount is a forecast. It is not a posted gift, and it does not know restriction type.
Odoo CRM does the same class of work: contacts, activities, and pipeline stages. Odoo Subscriptions is a commercial recurring-revenue app. It covers plans, renewals, monthly recurring revenue, and automatic invoices. The product page does not describe charitable pledges, gift designations, or tax receipts. Turning a subscription plan on will invoice a customer. It will not produce the acknowledgment in IRS Publication 1771.
The practical split for a 20 to 100 person nonprofit is usually this. Development lives in the CRM. Finance lives in the ledger. The gift is the record both sides share, either because it is integrated or because one product is the system of record and the other receives a summarized entry. Two full copies, edited by hand, fail at audit time.
What Publication 1771 requires you to produce
Publication 1771 is the US rule set for substantiation and disclosure. It is also the test of whether the CRM is finished.
A donor cannot deduct a monetary gift without a bank record or a timely written communication from the charity. That writing must show the organization's name, the date, and the amount. A receipt, a letter, or an email can be the writing. For any single monetary or noncash contribution of USD 250 or more, the donor must obtain a contemporaneous written acknowledgment before claiming the federal charitable deduction. Contemporaneous means the donor has it by the earlier of the filing date of the original return or the return due date, including extensions.
If the donor pays more than USD 75 and receives goods or services in return, the charity must give a written disclosure of that quid pro quo. Publication 1771 also treats each payroll-deduction amount of USD 250 or more as its own contribution for the acknowledgment threshold. A monthly payroll gift can cross the line even when the annual story your appeal tells is one number.
Assume two gifts in the same week. A donor gives USD 300 in cash on March 3. That single gift is at least USD 250, so the donor needs a contemporaneous written acknowledgment showing your organization's name, the date, and the amount. The same week the donor pays USD 150 for a gala ticket and receives a meal. The payment is over USD 75 and goods or services came back, so you also owe a written disclosure. Those are two writings. If the cash gift is only in a deposit batch and the gala payment is only on the event spreadsheet, you cannot produce either one from the constituent record.
Build the receipt from the gift record, not from a mail-merge that someone retypes. The merge should pull organization name, gift date, amount, and a statement of whether goods or services were provided. Store the sent writing on the gift. When an auditor or a donor asks in March, you open one record.
This is the point where a spreadsheet plus a basic CRM breaks. Development updates the sheet after the gala. Finance enters a deposit in the ledger. The email receipt lives in one person's mailbox. None of the three can show, for a single gift of USD 250, the date, the amount, the restriction, and the disclosure. Fix the design before you add another appeal.
What Dynamics 365 costs an eligible nonprofit
As of October 2026, Microsoft's nonprofit offers and the commercial list pages show two different price levels. Read the basis column before you multiply by headcount. The Business Central nonprofit line is a discounted per-user price. The offers page does not repeat the words "paid yearly" that the commercial Business Central page uses, so do not assume the billing term.
- Dynamics 365 Sales, nonprofit, starting (Price: USD 16.25 · Basis, as of October 2026: Per user per month, paid yearly. Edition not named.)
- Dynamics 365 Customer Service, nonprofit, starting (Price: USD 12.50 · Basis, as of October 2026: Per user per month, paid yearly.)
- Dynamics 365 Business Central, nonprofit (Price: USD 32.00 · Basis, as of October 2026: Per user per month, described as a discounted price.)
- Power Apps, nonprofit (Price: USD 0, then USD 2.50 · Basis, as of October 2026: First 10 users free, then per user per month.)
- Dynamics 365 Sales Professional, commercial (Price: USD 65 · Basis, as of October 2026: Per user per month, paid yearly.)
- Dynamics 365 Sales Enterprise, commercial (Price: USD 105 · Basis, as of October 2026: Per user per month, paid yearly.)
- Dynamics 365 Sales Premium, commercial (Price: USD 150 · Basis, as of October 2026: Per user per month, paid yearly.)
- Business Central Essentials, commercial (Price: USD 80 · Basis, as of October 2026: Per user per month, paid yearly.)
- Business Central Premium, commercial (Price: USD 110 · Basis, as of October 2026: Per user per month, paid yearly.)
- Business Central Team Members, commercial (Price: USD 8 · Basis, as of October 2026: Per user per month, paid yearly.)
Sources: nonprofit offers, Sales pricing, and Business Central pricing. These figures are US dollars. Ask Microsoft if you need a quote in another currency.
Assume five development staff need Sales and the organization qualifies for the nonprofit starting price. Five times USD 16.25 is USD 81.25 per month, or USD 975 for a year of those five licenses. The same five seats on commercial Sales Professional are five times USD 65, or USD 325 per month. On Sales Enterprise they are five times USD 105, or USD 525 per month. Eligibility is the difference between those lines, not a rounding error.
Add finance only if the books move too. Assume six finance users on nonprofit Business Central at USD 32. That line is USD 192 per month. Development plus finance in this example is USD 81.25 plus USD 192, or USD 273.25 per month, before implementation. Team Members at the commercial USD 8 rate is a way to give a light login to people who should not have a full license. The nonprofit offers page does not list a Team Members price, so confirm that SKU before you count volunteers or program staff as cheap users.
Power Apps is the cheap way to hold a custom gift form if you stay inside Microsoft's stack. The first 10 users are free for an eligible nonprofit. An 11th user is USD 2.50 per month. Fifteen extra users cost USD 37.50 per month. Power Apps does not remove the need for a ledger or for Publication 1771 wording. It is a place to keep fields that Sales does not ship as standard donor objects.
Who can buy the nonprofit price
Microsoft's eligibility rules are part of the price. An organization needs recognized charitable legal status equal to US IRC 501(c)(3), or it must be a qualifying public library, public museum, or listed US healthcare organization, and it must have a not-for-profit community-benefit mission. Governments, schools and colleges, trade associations, political and labor groups, and individuals are ineligible. A social-enterprise subsidiary that is a for-profit does not inherit the parent's discount.
The person who registers the nonprofit must be an employee or a strategic volunteer. A third-party IT provider may not register on the nonprofit's behalf. We can prepare the application with your finance lead. Your employee or strategic volunteer has to submit it. Budget that step in week one. A project that waits on a vendor login will sit idle.
License use is narrower than "anyone who helps." Granted licenses are limited to paid employees and defined unpaid executive staff. Discounted licenses may be used by staff, volunteers, and temporary contracted staff. Beneficiaries, members, and donors are not eligible users. Licenses cannot be shared with another organization, including a related for-profit. A board member who is a donor can be recorded as a constituent. That person does not get a license because they gave.
If you fail eligibility, use the commercial column. Sales Professional at USD 65 and Business Central Essentials at USD 80 are the list comparisons as of October 2026. Do not model the USD 16.25 or USD 32 figures in the business case until the eligibility confirmation is in writing.
What Odoo costs when there is no charity rate
Odoo's pricing page, as of October 2026, does not list a nonprofit or charity discount. One App Free is USD 0 for one app and unlimited users on Odoo Online. That is a real offer for a single app. A donor operation that needs CRM plus accounting, or CRM plus custom gift objects, is already past one app.
Standard and Custom are shown as pairs because the yearly and monthly figures render together. Budget with both numbers. Standard shows USD 31.10 and USD 38.90 per user per month. Custom shows USD 61.00 and USD 76.20 per user per month. The page says the discount lasts 12 months for the initial users ordered. A Light User is USD 8.90, for limited self-service apps, which is short of a full CRM seat.
Subscription fees include hosting, maintenance, and email support. They do not include implementation, Odoo.sh hosting for custom code, SMS and other in-app credits, or maintenance of custom code. Standard cannot host custom modules. Custom is required for Studio, multi-company, external API, Odoo.sh, or on-premise.
That plan split is the donor-design question. If designations, receipt templates, or a pledge schedule have to be custom modules, you are on Custom, and you are paying for implementation outside the subscription. Odoo implementation then has to include those modules, the data load, and a named owner for the code after go-live.
Odoo publishes services hours as Success Packs. For new customers, the first pack only, at 15 percent off: USD 493 for 4 hours, USD 3,060 for 25 hours, USD 5,950 for 50 hours, USD 10,625 for 100 hours, and USD 21,250 for 200 hours. Returning-customer prices are USD 580, USD 3,600, USD 7,000, USD 12,500, and USD 25,000. Odoo says companies under 50 employees usually buy these packs directly and larger ones use a partner. Above 50 users, the estimator says to contact Odoo.
A 50-hour new-customer pack at USD 5,950 is USD 119 per hour. That buys configuration time. It does not buy a charitable receipt engine that the Subscriptions page does not describe. If your gift rules need custom code, ask whether 50 hours covers discovery and a receipt sample, or only setup of standard apps. Companies over 50 employees should expect the partner path Odoo describes, and should price that path as its own line.
Assume 8 finance and development users on the Custom pair, USD 61.00 and USD 76.20. Eight users times the two published Custom figures is USD 488 and USD 609.60 per month, the yearly-versus-monthly pair shown together on the pricing page. The page also prints a second Custom split of USD 49.00 and USD 61.10, so do not treat either pair as a single list price. The discount lasts 12 months for the initial users ordered. Add a Success Pack or partner services on top of the license figures. Compare that with five nonprofit Sales seats at USD 81.25 per month only after you have listed the same scope: pipeline, gift fields, receipts, and books. An 8-user Odoo Custom range is software for a broader app set. The USD 81.25 figure is Sales licenses alone.
How fundraising platforms price the same job
Per-user CRM and record-based fundraising tools move cost on different axes. Bloomerang's pricing page says "Many platforms increase costs dramatically with each tier or additional user." That sentence describes the per-user pattern. The same page prices by records, with unlimited users: CRM from USD 125 per month billed annually, Fundraising from USD 40 per month billed annually and only with CRM, Giving Platform from USD 242 per month billed annually, and Volunteer from USD 119 per month billed annually. Those are starting prices. The page lists receipts, recurring gifts, tributes, annual summaries, major gifts, and grants, and it does not publish a full schedule by record count.
Salesforce publishes a per-user nonprofit menu on an annual contract, and the page says the cards are nonprofit pricing: Sales and Service Core at USD 70 per user per month, Advanced at USD 125, and Sales Max and Service Max at USD 285 each. For-profit buyers are told to talk to an account executive. Source: Nonprofit Pricing.
Do the small-team math with the assumptions visible. Five development users at USD 70 are USD 350 per month before any finance system. CRM plus the Fundraising add-on on the record-based menu starts at USD 125 plus USD 40, or USD 165 per month, for unlimited users at the published floor. Five users on nonprofit Dynamics 365 Sales at the starting price are USD 81.25 per month, which is below both of those floors, and still does not include Business Central or a configured receipt template.
Stretch the user count. Twenty-five staff on nonprofit Sales at USD 16.25 is USD 406.25 per month. Twenty-five staff at USD 70 is USD 1,750 per month. The record-based CRM start remains USD 125 per month until record count moves it. For a large login list and a modest constituent file, that start is the lower software line. For an eligible nonprofit with a five-person development team, the Microsoft starting price can be the lower line, and it still leaves the ledger and the receipt template as project work. Ask for the record-count price before you treat USD 125 as the invoice.
DonorPerfect sells Core, Plus, and Pro and does not publish dollar prices. The quote form uses constituent-count bands from 0 to 500 up to 200,001 and above. Every system includes a donor management database, automated receipts and acknowledgments, online donation forms, and payment processing. Core does not include moves management or batch gift entry. Plus adds moves management, batch gift entry, QuickBooks integration, and automated alerts. Pro adds enterprise mail segmentation, an API, and more scheduled reports. A customer on that page says, "We're able to manage our donor database in a way we never could and thus serve our donors more personally." Receipts sit in every tier. Moves management does not sit in Core. Get the dollar quote for your band, and compare it with the license math above on the same gift scope.
Choose a fundraising platform when development is the only department that needs the system, receipts and online gifts are the core job, and finance can keep taking a summarized entry. Choose Dynamics 365 or Odoo when finance, programs, and fundraising must share constituent data, you can keep licenses to people who work in the system, and you will fund the gift objects and the ledger as one design. A second subscription that also stores gifts recreates two totals at audit time.
What to ask before you sign
Any bidder can look affordable until migration, receipts, and restrictions are separate lines. CRM implementation should be scoped that way whether the software is Dynamics 365, Odoo, or a fundraising product. Use the Success Pack menu as the public services reference, and ask every other bidder for hours.
Run this list in the proposal, in this order:
- Licenses, by named person and role, at the price tier your eligibility letter supports.
- Data migration as its own line: constituents, gifts, pledges, designations, and open receipts.
- A sample acknowledgment for a USD 250 gift and a written disclosure for a quid pro quo over USD 75, produced from your data.
- The field where restriction type lives, and the screen where the fund balance lives. Those must not be the same click unless a finance posting is demonstrated.
- Named consultants, hours, and a phase plan. Phase one should produce a usable gift record and a receipt, not a tour of every module.
- Who owns custom fields and custom code if you leave, plus an export of constituents, gifts, and receipts. Bloomerang's own FAQ raises the buyer question "Will we lose access to our data or get locked in?" Put the export in the contract instead of hoping the subscription page answers it.
- A monthly reconciliation owner: one person who ties gift totals to the ledger.
Clean data is a scope item. Deduplicate constituents before the first receipt run, write down which fields survive a merge, and name who is allowed to merge. Appeals and stages still need an owner once the gift object exists. A current next action does not create the acknowledgment.
For a team that wants one firm to configure the CRM, load the gifts, and train development and finance together, see our CRM implementation services. The work is phased: discovery, configuration, migration, training, and support after go-live. Bring the fit-check answers so the first meeting starts from your gift rules.
A few decisions should push you away from buying Dynamics 365 or Odoo for this job. If the only users are a handful of fundraisers, receipts and online forms are the whole requirement, and you will not share the database with finance, a fundraising product already packages that scope and may price it on records. If you need Custom Odoo modules before a single receipt can be sent, compare that build with a product that already includes automated receipts in every tier. If Microsoft eligibility fails, recompute at USD 65 Sales Professional and USD 80 Business Central Essentials before you tell the board the software is inexpensive.
The other case is as concrete. An eligible organization with development and finance on the same constituent file, gifts mapped to Transaction and Designation fields, and a Business Central fund balance you reconcile each month, can keep one design. Five Sales seats are USD 81.25 per month, against five seats at USD 70, which is USD 350 per month. The license is the small number. The receipt you can reprint in March, and the fund balance that matches it, are the project.
How Flectic can help
Flectic sets up Dynamics 365 Sales around how a team works its pipeline, with stage rules, lead routing and a forecast rolled up into one view. The first build puts lead and opportunity management live for one team before you commit to a wider rollout. If you want that setup walked through against your own process, start with Dynamics 365 Sales implementation. Book a free discovery call with Flectic to talk through how the CRM and the gift ledger split.
Sources
- Nonprofit offers, Microsoft, October 2026
- Nonprofit eligibility, Microsoft, October 2026
- Dynamics 365 Sales pricing, Microsoft, October 2026
- Dynamics 365 Business Central pricing, Microsoft, October 2026
- Transaction entity, nonprofit common data model, Microsoft Learn, October 2026
- Designation entity, nonprofit common data model, Microsoft Learn, October 2026
- Publication 1771, Charitable Contributions: Substantiation and Disclosure Requirements, IRS, October 2026
- Odoo pricing, Odoo, October 2026
- Odoo Success Packs, Odoo, October 2026
- Odoo Subscriptions, Odoo, October 2026
- Nonprofit Pricing, Salesforce, October 2026
- Bloomerang pricing, Bloomerang, October 2026
- DonorPerfect pricing, DonorPerfect, October 2026
Frequently asked questions
Is my organization eligible for Microsoft nonprofit pricing, and can a consultant register it?
Eligibility tracks recognized charitable status equal to US IRC 501(c)(3), or a qualifying public library, public museum, or listed US healthcare organization, plus a not-for-profit community-benefit mission. Governments, schools and colleges, trade associations, political and labor groups, and individuals are ineligible. The person who registers must be an employee or strategic volunteer. A third-party IT provider may not register on the nonprofit's behalf, so your staff member submits the application.
What is the difference between the Odoo standard plan and the custom plan?
Standard is for configuration inside Odoo's own apps and cannot host custom modules. Custom is required for Studio, multi-company, an external API, Odoo.sh, or on-premise. Gift designations or receipt formats that need custom modules push the organization onto Custom. Subscription fees still exclude implementation and maintenance of that custom code, which sit in a Success Pack or a separate services quote.
Are there hidden fees for implementation or extra features?
License pages price software, not the project. Odoo subscription fees include hosting, maintenance, and email support, and they exclude implementation, Odoo.sh hosting for custom code, SMS and other in-app credits, and maintenance of custom code. Success Packs publish hour blocks from 4 hours to 200 hours. For Dynamics 365, ask for licenses, migration, receipt templates, and training as separate lines so a low user price does not hide the project.
Will we lose access to our data or get locked in?
Put an exit export in the contract: constituents, gifts, pledges, receipts, and designations in a format finance can open. Ask who owns custom fields and code if you leave. Discounted Microsoft licenses cannot be shared with another organization, including a related for-profit, so a joint database with a social enterprise needs its own commercial license plan.
How do you keep donor data clean enough for receipts?
Decide which system stores the gift before you import history. Deduplicate constituents before the first receipt run, and store the date, amount, and organization name on the gift itself. A spreadsheet beside the CRM is how acknowledgments and the books drift apart by audit time. Name one person to reconcile gift totals to the fund ledger every month.
How scalable is pricing as we grow?
Per-user products rise when you add logins. Record-based fundraising tools can keep unlimited users and still move the price when the constituent file grows, so a starting monthly price is a floor until you have a quote at your record count. Price both axes for three years out: people who need a login, and records you will store. Then separate that software total from implementation hours.
Where can we get implementation services, and how much do they cost?
Odoo publishes Success Packs for new customers, with a first-pack discount, from a 4-hour pack through a 200-hour pack. It says companies under 50 employees usually buy those packs directly and larger ones use a partner, and that above 50 users you should contact Odoo. Microsoft does not print a donor-management project fee on the nonprofit offers page. Budget a discovery phase that locks the license mix, the receipt samples, and phase-one scope before a build.
We have complex workflows and custom fields. Can a general CRM handle that?
If the complexity is moves management, major-gift assignments, and appeals, a fundraising platform often already lists those workflows and can be the smaller project. If the complexity is shared records with finance, restricted designations, and objects your finance team will post from, price a general CRM plus a ledger. Ask for a click-through on your own gift types before you accept a feature grid.