Transactions represent constituents’ contributions to an organization. These transactions can be either monetary or in kind. All transactions have an amount that is always positive. Some types of transactions can have $0 amounts to represent a fully discounted item, such as a free admission event ticket, or a gift that is in kind. All transactions are linked to constituent accounts, and finally, transactions are the only source of financial data in NeonCRM.
NeonCRM is a revenue focused system and cannot be used for many general accounting purposes, such as tracking expenses or outgoing funds. As a CRM, the focus of transaction data in NeonCRM is the constituent accounts to which transactions are attached. The creation of generic account records to act as a catch-all for general funds is therefore not recommended for any integrated app.
There are four transaction types in NeonCRM:
- Event Registrations
- Store Purchases
Transaction types are generally separated by their purpose, as outlined below. Each transaction type has its own unique properties and associated data types, although transaction types also share common functionality and data patterns, such as for payments.
Donations represent general purpose contributions and are the most common transaction type in NeonCRM. Donations are not associated with the exchange of goods and services and do not have fields for tracking the tax deductibility, and so, they are generally considered 100% tax deductible.
All donations must include the following data:
- Linked account
- Donation date
- Donation amount
Campaigns, Funds, and Purposes
There are 3 primary allocations for categorizing donations in NeonCRM:
Campaigns are generally the most important allocation for donations in NeonCRM and are the basis for most donation segmentation and reporting. Campaigns are typically donor-facing and have public campaign pages and donation forms associated with them. Finally, campaigns can have a multi-leveled hierarchy, allowing several campaigns to be nested under a common parent campaign.
Funds are larger efforts than campaigns or purposes. They are often used as an accounting allocation. The most common examples of funds are Restricted, Unrestricted, and Endowment (if applicable). You can have three or four campaigns that all contribute to an unrestricted fund.
Purposes are a way to flag donations to be used for specific purposes. For example, people who donate to the Red Cross can say they want their donation used specifically for disaster relief. Similar to campaigns, purposes can have a multi-leveled hierarchy as well.
Pledges represent a commitment to a gift that is typically fulfilled over multiple payments. In fundraising, pledges often have strict implications for revenue recognition and tax purposes. However, not all organizations will use pledges in NeonCRM in this way.
In NeonCRM, pledges and pledge payments are a special type of donation that share many of the same properties and relationships. In fact, pledges, pledge payments, and donations all share a common table in NeonCRM's database structure, which means your app can assume all three types share the same data models except where specified.
Event registrations allow constituents to register for events that are configured in NeonCRM. There are three primary objects that are exposed in the NeonCRM API:
- Event Registrations
- Event Attendees
The event represents the event itself, including the event date/time, location, ticket pricing and restrictions, and statistics about the event.
The event registration is the purchase of an event ticket or admission to an event. A registration is linked to a single account—the registrant—and has a payment object representing how the registrant paid for the registration.
Event attendees represent the individuals who will be attending the event. While only one registrant can be linked to a registration, a registration can have many linked attendees. Attendees can be accounts or just names listed as part of the registration.
Memberships track the collection of dues from members of an organization and contain start and end dates for determining a member's status with the organization.
Memberships may have $0 dues, allowing memberships to be used more generally for tracking an account's status with an organization over a defined period of time.
Levels & Terms
Memberships are sorted into different levels, representing the different types of memberships at an organization.
Each level can have one or many terms, representing the different costs and periods of time for which a membership level can be purchased. Membership terms are always paired with one membership term designated for first-time joining members and the other designated for renewing members.
A membership transaction must be linked to a membership level and term and will inherit the membership name, cost, term dates, and other fields, although some of these values can be overwritten on a transaction-by-transaction basis.
Store Purchases & Shopping Carts
The store is NeonCRM's ecommerce module and allows organizations to sell physical and virtual products that include shipping and tax.
The store API is also capable of purchasing store products, donations, and memberships together in a shopping cart. Please note though that it is not necessary to use the store to purchase donations and memberships, as there are dedicated API methods for purchasing those individually. You may wish to use the store for these if you want to allow constituents to purchase multiple items at the same time.
API methods related to transactions.
- Create Donation
- Create Pledge
- Create Pledge Payment
- Create Recurring Donation
- List Campaigns
- List Donations
- List Funds
- List Purposes
- List Recurring Donors
- List Solicitation Methods
- Retrieve Campaign Summary
- Create Shopping Cart
- Add Item to Shopping Cart
- Remove Item from Shopping Cart
- Add or Update Customer to Shopping Cart
- Add or Update Shipping Address to Shopping Cart
- List Shipping Methods
- Add or Update Shipping Method to Shopping Cart
- Retrieve Shopping Cart Summary
- Retrieve Order Details
- List Orders
- Retrieve Receipt
- List Products
- Retrieve Product
- Create Product
- Update Product
- Remove Product
- List Images
- Upload Image
- Remove Image
- List Options
- Create Option
- Update Option
- Remove Option
- List Catalogs
- Create Catalog
- Update Catalog
- Remove Catalog
- Add Product to Catalog
- Remove Product from Catalog
- List Categories
- Create Category
- Update Category
- Remove Category
Pledges & Pledge Payments
- Create a pledge
- Get a pledge
- Update a pledge
- Delete a pledge
- Update part of a pledge
- Get a list of pledge payments towards a specific pledge
- Create a pledge payment
- Get a pledge payment
- Delete a pledge payment
- Get a list of recurring donation schedules
- Create a recurring donation schedule
- Get a recurring donation schedule
- Update a recurring donation schedule
- Delete a recurring donation schedule
- Update part of a recurring donation schedule
- Get a list of fundraising campaigns
- Create a fundraising campaign
- Get a campaign
- Update a campaign
- Delete a campaign
- Update part of a campaign
- Create an event registration
- Calculate the correct fee for a registration for an event
- Get an event registration
- Update an event registration
- Delete an event registration
- Update part of an event registration
- Create an event
- Get an event
- Update an event
- Delete an event
- Update part of an event
- Get a list of the attendees for an event
- Get a list of the event registrations for an event
- Get a list of ticket options for an event
- Create a ticket option for an event
- Get a ticket option
- Update a ticket option
- Delete a ticket option
- Update part of a ticket option
- Create a membership
- Get a list of membership levels
- Get a list of membership terms
- Get a membership
- Update a membership
- Update part of a membership
- Delete a membership
- Get the autorenewal record for a membership
- Create and update the autorenewal record for a membership
- Add a payment to a membership
- Renew a membership
- Get a list of sub-members for a membership
- Create an order
- Calculate the total cost of an order
- Retrieve a list of shipping methods for an order
- Get an order
- Delete an order
- Add a payment to an order
- Search for orders
- Get a list of possible search fields for the orders search method
- Get a list of possible output fields for the orders search method