Pactman Developer Resources · Nonprofit verification answers for developers and compliance teams
Home  /  Artifacts  /  How to Verify a Nonprofit When IRS BMF and Pub. 78 Data Conflict
Artifact · Developer How-To

How to Verify a Nonprofit When IRS BMF and Pub. 78 Data Conflict

Preserve each source independently. Use `irs_bmf_pub78_conflict` only for the private-foundation classification disagreement described by the supplied mapping. Review BMF subsection and foundation fields separately from Pub. 78 contribution fields, and compare `most_recent_bmf`, `most_recent_pub78` and `organization_info_last_modified` before applying a source-aware policy.

Updated September 28, 20266 min readFor developers, compliance teams, grantmaking platforms & fintech and nonprofit software teams

Direct answer

When BMF and Pub. 78 data conflict, preserve both source views and interpret the field that actually describes the disagreement.

The supplied mapping defines irs_bmf_pub78_conflict specifically as disagreement between BMF and Pub. 78 on the organization's classification as a private foundation. It is not documented as a universal conflict flag for names, addresses, subsection values or every other field.

  1. Normalize the EIN.
  2. Send the EIN to the Nonprofit Check Plus API.
  3. Confirm organization identity.
  4. Review BMF presence and identity.
  5. Review BMF subsection. Use bmf_subsection and subsection_description.
  6. Review foundation classification.
  7. Review Pub. 78 presence and contribution classification.
  8. Check irs_bmf_pub78_conflict.
  9. Compare source dates.
  10. Apply a source-aware policy. Do not silently overwrite one source.

Example request(s)

curl --request GET \
  --url https://entities.pactman.org/api/entities/nonprofitcheck/v1/us/ein/YOUR_EIN \
  --header 'Authorization: Bearer YOUR_API_KEY'

Implementation note: The endpoint name above reflects the Pactman single-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment.

curl --request POST \
  --url https://entities.pactman.org/api/entities/nonprofitcheckbulk/v1/us/eins \
  --header 'accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '[
    "YOUR_EIN_1",
    "YOUR_EIN_2",
    "YOUR_EIN_3",
    "YOUR_EIN_4",
    "YOUR_EIN_5"
  ]'

Implementation note: The endpoint name above reflects the Pactman bulk-EIN Nonprofit Check endpoint used in Pactman's Production/Customer Environment. You can have at most 50 EINs in a bulk-EIN Nonprofit Check endpoint request.

What your application should evaluate

Signal Why it matters Typical application decision
irs_bmf_pub78_conflict The mapping limits this flag to disagreement over private-foundation classification. Use it only for that documented conflict scope.
bmf_subsection / subsection_description Provides BMF tax-exempt subsection classification. Preserve independently from foundation and Pub. 78 fields.
Foundation fields foundation_code, foundation_code_description, foundation_509a_status, foundation_type_code and foundation_type_description provide foundation context. Use for foundation classification rather than deriving it from BMF subsection alone.
pub78_verified / organization_types Provides Pub. 78 presence and contribution classification. Preserve the Pub. 78 view separately.
Source dates most_recent_bmf, most_recent_pub78 and organization_info_last_modified provide freshness context. Use source-aware chronology rather than a blanket precedence rule.

Example decision logic

A BMF/Pub. 78 conflict workflow might:

  • confirm EIN and source identities;
  • preserve BMF subsection;
  • preserve foundation classification;
  • preserve Pub. 78 contribution classification;
  • inspect irs_bmf_pub78_conflict;
  • compare source dates; and
  • route unresolved conflicts through a documented rule.

The supplied current examples return irs_bmf_pub78_conflict: false, so they do not provide a positive conflict case.

Important: Do not use irs_bmf_pub78_conflict to claim a name, address or general status conflict.

Why use a consolidated nonprofit verification API?

BMF/Pub. 78 disagreements are easier to diagnose when source-specific classifications and dates appear in one response.

Pactman Nonprofit Check Plus preserves those dimensions separately.

One normalized response

Compare BMF, foundation and Pub. 78 fields without separate ingestion pipelines.

Separate source signals

Keep each source's classification intact.

Reusable compliance rules

Apply a consistent conflict policy across onboarding, donations and grants.

Developer-friendly automation

Detect documented conflicts and route them through predictable logic.

Frequently asked questions

What exactly does irs_bmf_pub78_conflict mean?

It indicates whether BMF and Pub. 78 differ on private-foundation classification.

Is it a universal conflict flag?

No. The supplied definition does not extend it to every field disagreement.

Which source dates can I compare?

Use most_recent_bmf and most_recent_pub78, with organization_info_last_modified as Pactman refresh context.

Should I discard one source when a conflict is detected?

The supplied files do not define a universal discard rule.

Next step

Keep BMF, foundation and Pub. 78 classifications separate, use the conflict flag only for its documented scope, and compare source freshness before applying your policy.

Ready to automate BMF/Pub. 78 conflict handling?

Use Pactman Nonprofit Check Plus API to preserve both IRS-derived source views and their freshness context.

Get an API Key →