QuickBooks Online Integration
BACKGROUND
If you're new to Humanitru, take a few moments to review the terminology we use to discuss the properties of your Humanitru Alpine database.
Actions
Actions represent a way to classify an entry in Alpine. There are several Action types available in Alpine but for the Quickbooks integration, we are focused on three types of Actions that carry monetary information. These include:
- Donations
- Ticket Purchases
- Membership Payments.
Action ID: This is system-defined, and globally unique within the Humanitru platform across all actions.
Amount: This is the posted amount of the transaction. For the purposes of this integration, this is what the Constituent gives, not what is received by the nonprofit. This is because your Humanitru database is for fundraising and is not an accounting platform—information like tax-deductible amounts, splitting income, etc. are accounting concerns, not development concerns.
Action Date: This is the posted date of the transaction.
Campaigns: Campaigns are a way to label Actions in Alpine. Actions can have as many Campaigns as you apply depending on your needs. For example, a Donation Action may be tagged "Annual Fund" or "Spring Gala", while a Phone Call Made action may be tagged "EOY Appeal" or " Prospecting".
Constituents
A Constituent is a record that represents an individual or entity in your database. Each Constituent will have the following properties:
- Constituent ID: This is system-defined, and globally unique within the Humanitru platform across all constituents
- Constituent Name: This is the human-readable name of the Constituent. This is usually their full name. This name field is non-unique, meaning that Constituents may share names. This is important when mapping to QB.
HOW IT WORKS
Every night (unless otherwise specified), Humanitru’s QuickBooks Online integration fetches all Actions that were created in your Alpine database since the last sync time. Each Action that is synced to QuickBooks creates a corresponding Sales Receipt with the corresponding fields.

Constituents correspond to Customers in Quickbooks. The integration will search the Quickbooks Customer database using Humanitru’s Constituent name as an exact match.
For example, if within Humanitru, a Constituent has the name "John Doe", we will look within Quickbooks for a Customer with the DisplayName "John Doe". If none is found, then we will create a Quickbooks Customer with the DisplayName matching the Humanitru Constituent Name.
The integration will attempt to find Items already created within QB, with the following names:
- Humanitru Alpine Donation
- Humanitru Alpine Ticket
- Humanitru Alpine Membership.
If Items do not exist, the integration will create them. However, these Items must have an associated IncomeAccountRef. We will look for an Account named "Humanitru Alpine Income". If no Account with that name is found, we will create one as an Income Account.
TxnDate: This corresponds to the Humanitru Action Date
Line: We will only create one Line within the SalesReceipt
Description: We will attempt to load this field with as much relevant information as possible. Things like the Humanitru Action ID, Humanitru Action Constituent ID, Humanitru Action Campaigns, and the original Humanitru Action Notes field will all be represented here.
NOTE: The integration does not match Actions to existing Sales Receipts due to ambiguous criteria without strict matching rules.
SETUP
When connecting the Quickbooks integration, you the have two configuration options
Option 1. Humanitru Predefined Option
Choose this option if you don't need to separate different types of giving into different QuickBooks accounts. With the Predefined Option, all of your Donations, Ticket Purchases, and Membership Payments sync into QuickBooks in a simple, consistent way — no account mapping decisions required on your end.
How it works
When you choose this option, Humanitru automatically sets up everything it needs in QuickBooks on your behalf:
- A single income account called Humanitru Alpine Income is created (if it doesn't already exist) to receive all synced transactions.
- Three Products/Services are created and linked to that account: Humanitru Alpine Donation, Humanitru Alpine Ticket, and Humanitru Alpine Membership.
Every night, Humanitru syncs any new Donation, Ticket Purchase, or Membership Payment Actions from your Alpine database into QuickBooks as Sales Receipts. Each Sales Receipt is automatically assigned the matching Product/Service based on the Action type, and all of them post to the same Humanitru Alpine Income account.
Example
Jane Doe donates $250 to your Spring Gala. The next night, a Sales Receipt appears in QuickBooks for Customer "Jane Doe," using Product/Service "Humanitru Alpine Donation," posted to "Humanitru Alpine Income." Details like her Constituent ID, the Action ID, and her "Spring Gala" Campaign tag appear in the Sales Receipt's Description field — they don't create separate accounts or line items.
What this option does not do
Because everything routes through one income account and three fixed items, the Predefined Option does not let you:
- Separate different types of giving (for example, individual vs. corporate donations, or gifts to different funds/programs) into different QuickBooks accounts.
- Sync your QuickBooks Chart of Accounts into Alpine as Campaigns.
If you need that level of separation in your books, see the Advanced Option instead.
Option 2. Specify Default Quickbooks Online Option (Advanced)
Choose this option if you need different types of giving to land in different places in your books — for example, separating individual from corporate donations, or routing memberships to a different account than one-time gifts. This option gives you control over exactly where transactions post in QuickBooks, but it requires your Chart of Accounts (Products/Services, Classes, Deposit-to Accounts) to already be set up in QuickBooks the way you want Alpine to map to it.
How it works
Instead of Humanitru creating one fixed income account and three fixed items on your behalf, you choose:
- The default Product/Service to use for synced transactions
- The default Class
- The default Deposit-to Account
These become the standard mapping applied to incoming Actions when they sync to QuickBooks as Sales Receipts.
This option also syncs your existing QuickBooks Accounts into Alpine as Campaigns. That means the structure you've already built in your Chart of Accounts becomes available inside Alpine as taggable Campaigns — for example, a QuickBooks Class like "2200 - Individual Giving" becomes a Campaign your staff (or a Smart Automation rule) can apply to specific Actions to route them differently than the default.
Example
Jane Doe donates $250 to your Spring Gala. Because you've set your default Class to "2200 - Individual Giving," and no override Campaign has been applied to this Action, it posts to QuickBooks using your default Product/Service and that Class. Later, if your team needs to reclassify a batch of Actions — for instance, donations tied to gifted memberships that should post as membership income rather than individual giving — a staff member (or an automated rule) applies the corresponding "[QuickBooks Online] Class" and "[QuickBooks Online] Product/Service" Campaigns to those specific Actions to redirect them.
Before you set this up
Because this option maps to your existing Chart of Accounts rather than creating one for you, make sure your Products/Services, Classes, and Deposit-to Accounts are already created in QuickBooks the way you want them before connecting.
Beyond the default mapping
If your mapping needs are more complex than a single default plus manual Campaign overrides — for example, rules that automatically route Actions based on their source, fund, or other criteria — contact your Customer Success Manager. They can help design and deploy custom mapping logic using Smart Automation.
Sales Receipt
When configuring integration settings, you can specify fields within action notes to populate the QuickBooks Online Sales Receipt reference number. For example, if you use the ACME integration, you can push the ACME “Order Number” field into the QuickBooks Online Sales Receipt “Reference No” field.
SYNC DETAILS
Timing: Nightly
This integration syncs on a nightly basis every 24 hours. The integration knows when the last time it was run (if ever). This is known as the last sync time. If this does not exist (e.g. first time), then it will be set to 100 years ago.
FAQ
Will in-kind donations be posted?
In-kind donations will not go into Quickbooks.
What if I have multiple Constituents with the same name?
Because Quickbooks enforces unique DisplayNames, and Humanitru doesn't, here is a problem: Customers with the same Name. For example, within Humanitru you may have:
- Constituent ID: 23 with the name "Mary Sue"
- Constituent ID: 29 with the name "Mary Sue"
They may have separate Actions, etc. However, when it maps into QB, they will be mapped to the same Customer.
Alternative options, such as attaching the Constituent ID to the Customer (e.g. "Mary Sue ID: 23") were deemed confusing and not immediately obvious on what logic is being applied.
For example, if you rename the Customer within QB—this will break the mapping.
Is there a difference between the Action date and the Transaction Date? How will transactions entered outside of the open reporting period be managed?
Alpine records two dates specific to Actions; the “Action Date”, which is externally displayed and can be back-dated, as well as the “Creation Date”, which is internal to the platform. Transactions entered after the “open reporting period”, e.g. back-dated, will be synced into Quickbooks Online after they are created. The nightly integration operates off of the “Creation Date” of Actions, rather than the “Action Date”. However, what will be reported into Quickbooks Online will be the Action Date corresponding to the Transaction Date on the Sales Receipt.
We need to separate corporate from individual donations, how is that managed?
This depends on how you have chosen to set up your Chart of Accounts. Within Quickbooks Online, Products/Services can be mapped to specific Income Accounts—therefore, depending on how your Chart of Accounts is set up and mapped, you can replicate that mapping in Alpine to separate corporate from individual donations.
What is IncomeAccountRef?
IncomeAccountRef simply refers to an Income Account. If you choose to use the “Pre-Defined Option”, then the integration will attempt to find (and if it doesn’t, it will create) a ledger income account called Humanitru Alpine Income in order to sync Actions into Sales Receipts.