docs: README and "Get your CRM export in" omit the Nonprofit Cloud, Bloomerang, DonorPerfect and Blackbaud CRM readers

Open
#339 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@HarshRajSinghania is already working on this.

Since Nov 3, 2026.

  • #355 by @HarshRajSinghania — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Stale
Tech stack
python
Domain
documentation

Research direction

Start with the read_gifts row and the Raiser's Edge and NPSP paragraphs in README.md, then the DonorPerfect section of docs/how-to/get_your_crm_export_in.md. Take each missing reader's filter description from its docstring in philanthropy/ingest/ and index the readers in docs/reference/index.md. Done when the four readers appear in both pages and mkdocs build --strict passes. Open pull request #355 already targets this, so check it before starting.

Written by the indexing model from the issue text.

Description

beginner documentation good first issue roadmap

The ingest docs list fewer CRMs than the package supports. read_gifts has seven presets (GIFT_SOURCES), but:

  • README.md (the "Blackbaud Raiser's Edge / RE NXT" and "Salesforce NPSP" paragraphs around line 218, and the API table around line 285) only describes CiviCRM, Raiser's Edge and NPSP, and its read_gifts row still says "One entry point over the CiviCRM / Raiser's Edge / NPSP presets".
  • docs/how-to/get_your_crm_export_in.md covers Raiser's Edge, DonorPerfect and the generic path, but never mentions Salesforce Nonprofit Cloud, Bloomerang or Blackbaud CRM (Enterprise).

docs/reference/index.md already has a row for each reader, so the information exists; it just has not reached the pages a new user reads first.

What to do

  1. In README.md, update the read_gifts table row to say it covers every preset in GIFT_SOURCES (no list of names, so it does not go stale again), and add a one-line table row each for nonprofit_cloud_gifts_to_features / read_nonprofit_cloud_gifts, bloomerang_transactions_to_features / read_bloomerang_transactions, donorperfect_gifts_to_features / read_donorperfect_gifts and blackbaud_crm_revenue_to_features / read_blackbaud_crm_revenue.
  2. In docs/how-to/get_your_crm_export_in.md, add a short paragraph for each of the three missing CRMs, following the DonorPerfect section's shape: the read_gifts(..., source="...") call and what the default filter drops. Take the filter description from each function's docstring, not from memory.
  3. Run mkdocs build --strict to check links.

No fundraising knowledge needed; everything is in the module docstrings under philanthropy/ingest/.

Dominant language
Python
Stars
11
Forks
23
Avg merge
15h 13m
Merged PRs (30d)
30

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PhilanthroPy-Project/PhilanthroPy

All issues in PhilanthroPy-Project/PhilanthroPy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.