Skip to main content

501(c)(3) tax exemption

501(c)(3) refers to federal tax-exempt status for qualifying nonprofits. SwyftFilings offers a standalone service to prepare and file the IRS application for recognition of exemption (typically Form 1023 series), subject to your partner agreement.

Related: Partner products overview · State requirements reference

When to use this flow

Use the standalone 501(c)(3) service cart when the customer is forming or operating a nonprofit and needs federal exemption recognition as a discrete order. If 501(c)(3) is bundled with nonprofit formation, follow Incorporation Service Example or your package configuration.

Service slug and catalog

  1. Call Get Service Carts and find the 501(c)(3) / nonprofit exemption entry.
  2. Use that item’s slug for Get Service Configuration and Create New Order.

The OpenAPI specification includes 501c3 as a service value on Create New Order. Examples below use the slug 501c3. Replace with the slug returned for your account if it differs.

API flow

StepMethodEndpoint
1. List cartsGETexternalCart.index
2. Configuration, input_fields, catalogGETexternalCart.getCart
3. NAICS / classification (if required)GETbusinessClassification.index
4. Create orderPOSTorder.store
5. Submit order (if required)POSTorder.submitOrder
6. Post-checkout (optional)GETorder.getOrderPostCheckout
7. Get order (optional)GETorder.getOrder

Follow Standalone Service Example for whether submit is required.

State-specific requirements (discovery)

Exemption applications are federal, but business_data.formation_state and nonprofit address fields still anchor jurisdiction. Use Get Service Configuration for the 501c3 slug to obtain the exact input_fields (governance, purpose, finances) for your build.

Example: Get Service Configuration

GET {baseUrl}/service-carts/501c3?service=501c3
Authorization: Bearer {token}

Abbreviated success payload:

{
"success": true,
"data": {
"name": "501(c)(3) Tax Exemption",
"slug": "501c3",
"description": "IRS application for recognition of tax exemption.",
"input_fields": [
{
"name": "Organization legal name",
"key": "business_data.name",
"type": "string",
"description": "Legal name of the nonprofit",
"validation_rules": ["required"]
},
{
"name": "Formation state",
"key": "business_data.formation_state",
"type": "enum",
"description": "State of incorporation (two-letter code)",
"validation_rules": ["required", "exists:states,abbr"]
}
],
"catalog": [
{
"sku": "SF_501C3_EXAMPLE_SG_0",
"name": "501(c)(3) Application Package",
"item_type": "product",
"has_gov_fee": true,
"price": 599,
"package": false
}
]
}
}

Example: Create order

{
"service": "501c3",
"email": "[email protected]",
"first_name": "Pat",
"last_name": "Jordan",
"phone_number": "5552221111",
"consent_sms": false,
"business_data": {
"name": "Community Garden Alliance",
"type": "Nonprofit",
"formation_state": "CA",
"category": "813410",
"address": "400 Civic Center Dr",
"city": "San Francisco",
"state": "CA",
"zip": "94102"
}
}

Abbreviated response:

{
"success": true,
"data": {
"message": "Order created successfully",
"order_uuid": "e5f6a7b8-c9d0-1234-ef01-345678901234"
}
}

Example: Submit order

{
"order_uuid": "e5f6a7b8-c9d0-1234-ef01-345678901234",
"skus": ["SF_501C3_EXAMPLE_SG_0"],
"total_amount": 599.0,
"payment_method_nonce": null,
"service": "501c3"
}

Fulfillment

  1. Customer Portal: Exemption applications usually require extensive questionnaires and document uploads; implement Swyft Customer Portal.
  2. Webhooks: Track order and processing status via Webhooks.
  3. IRS determination: Completion is when the IRS issues a determination letter (timeline varies).

Errors and edge cases

  • Entity type: Nonprofit-specific validations may apply; honor input_fields and catalog.conditions.
  • User fees: IRS user fees change; reflect amounts from catalog and current IRS guidance.