# GoodBooks — LLM Knowledge Base # Version: 1.0 # Generated: 2026-05-13 # Purpose: Zendesk AI scaffold for GoodBooks support knowledge base ================================================================================ WHAT IS GOODBOOKS? ================================================================================ GoodBooks is a cloud-based accounting and donation management platform built specifically for nonprofit organizations (501(c)(3) and similar). It combines fund accounting, donor management, and online giving into a single application. GoodBooks is a multi-tenant SaaS product. Each organization (called a "tenant") has its own isolated data, subdomain, and settings. Organizations access the admin application through their main URL, and donors access a public giving page at their subdomain (e.g., yourorg.goodbooks.app/donate). ================================================================================ WHO USES GOODBOOKS? ================================================================================ PRIMARY USER: Nonprofit Administrators - Executive directors, bookkeepers, or finance staff at small-to-midsize nonprofits - Manage accounting, view reports, enter donations, reconcile bank accounts - Access the full admin application SECONDARY USER: Donors - Visit the public donation page (subdomain-based URL) - Make one-time or recurring online donations via Stripe - Receive receipts by email PLATFORM ADMIN (PaulNet) - Internal system administrators with access to all tenants - Manage plans, features, tenant accounts ================================================================================ PRICING PLANS & FEATURES ================================================================================ GoodBooks offers four pricing tiers. Features are gated per plan. --- FREE PLAN --- Price: $0/month Key features: - Core double-entry accounting (checkbook ledger, chart of accounts) - Bank reconciliation - Basic fund accounting - Online donations (Stripe Connect required) - Simple financial reports - Internal controls & audit trail Limits: - 2 users - 3 funds - 2 bank accounts - 100 donors - 100 transactions/month - 100 MB file storage --- FOUNDATION PLAN --- Price: $15/month Adds over Free: - Manual journal entries - Check printing - Donor CRM - Tags (accounting & campaign) - Advanced financial reports - Invoicing module - Pledges - In-person payments Limits: - 4 users - 10 funds - 3 bank accounts - 500 donors - 250 transactions/month - 1 GB file storage --- CORE PLAN --- TO BE ANNOUNCED IN THE FUTURE Price $30/month Adds over Foundation: - Budgeting tools - Membership management - Multiple campaign designations per donation - Special receipt types (QCD, DAF, Stock donations) - Accounts payable - Fixed assets - Youth/escrow fund management - Giving envelopes - Bank sync - Functional expense reporting Limits: - 10 users - 25 funds - 10 bank accounts - 2,500 donors - 1,000 transactions/month - 5 GB file storage - 5 giving landing pages - 10 campaigns - 100 invoices --- PRO PLAN --- TO BE ANNOUNCED IN THE FUTURE Price: $90 (transitional — pricing TBD) All features enabled, all limits removed (unlimited). ================================================================================ CORE CONCEPTS ================================================================================ --- FUND ACCOUNTING --- GoodBooks uses fund accounting, the standard method for nonprofits. Each transaction is associated with a fund, allowing organizations to track money separately for different purposes (e.g., General Operating, Building Fund, Scholarship Fund). Fund types: General, Building, Major, Non-Major, Reserve, Special, Internal Service Funds can be marked as "donor restricted" to separate restricted net assets in financial reports — this matters for nonprofit compliance and board reporting. --- JOURNAL ENTRIES --- GoodBooks uses double-entry bookkeeping. Every financial transaction is recorded as a journal entry with at least two lines: a debit and a credit. The two sides must always balance. IMPORTANT: Journal entries are IMMUTABLE after posting. You cannot edit a posted journal entry. To correct an error, you must either: 1. VOID the entry (marks it inactive; does not reverse amounts) 2. REVERSE the entry (creates a new entry with opposite debits/credits) Journal entries can be: Manual (admin-created), Automatic (system-generated from donation batches), or Adjustment entries. --- CHART OF ACCOUNTS --- Each tenant has their own chart of accounts organized by type: - Asset accounts (normal balance: debit) - Liability accounts (normal balance: credit) - Net Asset accounts (normal balance: credit) - Revenue accounts (normal balance: credit) - Expense accounts (normal balance: debit) Account numbers are optional (enabled in accounting settings). Accounts are organized in a hierarchy (parent → child accounts). --- DONATIONS --- Donations represent money received from donors. Each donation can be: - Designated to one or more campaigns (the designation amounts must total the donation amount) - Linked to a contact (donor) record - Online (via Stripe) or manually entered Donation statuses: pending, completed, failed --- CAMPAIGNS --- Campaigns are giving targets linked to a fund. They define the tax deductibility of donations: - Full: 100% tax deductible - Partial: only part is deductible (fair market value field) - None: not tax deductible (e.g., event tickets) Campaigns can be auto-generated (one per fund by default) or manually created. --- DEPOSIT BATCHES --- Online donations arrive as "pending" and are grouped into deposit batches. When a batch is marked as deposited, GoodBooks automatically creates a journal entry (debit cash, credit revenue) for all donations in the batch, allocating amounts across funds based on designations. --- CONTACTS --- Contacts represent donors or payees. They store: - Name (individual: first/last; organization: org name) - Address - Email addresses (multiple, with primary flag) - Phone numbers (multiple, with primary flag) - Stripe customer ID (for recurring donors) --- TAGS --- Tags can be attached to journal entries, journal lines, and donations for additional categorization and filtering. Tags are organized into categories. ================================================================================ STRIPE CONNECT (ONLINE DONATIONS) ================================================================================ GoodBooks uses Stripe Connect to process online donations. This means: 1. GoodBooks is the platform; each nonprofit connects their own Stripe account 2. Funds go directly to the nonprofit's bank account (not through GoodBooks) 3. GoodBooks charges a small platform fee on each transaction HOW TO SET UP STRIPE: 1. Go to Settings → Donation Settings 2. Click "Connect with Stripe" 3. Create a new Stripe account OR sign in to an existing one 4. Complete Stripe's onboarding (bank details, business verification, etc.) 5. Return to GoodBooks — your account will show as connected FEES (per online donation): - Stripe processing fee: 2.9% + $0.30 - GoodBooks platform fee: 0.25% - Free plan surcharge: $1.00 per transaction (waived on paid plans) - Donors can optionally "cover fees" so the organization receives the full amount ONCE CONNECTED: - Your public donation page goes live at: yoursubdomain.goodbooks.app/donate - Donors can give by credit card or debit card - Completed donations appear in GoodBooks and can be batched for deposit - Stripe webhooks automatically create donation records DISCONNECT: - Go to Settings → Donation Settings → Disconnect Stripe Account - This stops new donations from being accepted - Existing donation data is retained ================================================================================ BANK RECONCILIATION ================================================================================ Bank reconciliation matches your bank statement to GoodBooks transactions. HOW IT WORKS: 1. Go to Reconciliation → New Reconciliation 2. Select the bank account and enter your statement date and ending balance 3. Mark transactions as "cleared" by checking them off against your statement 4. When cleared debits + cleared credits match the statement balance, the reconciliation is complete 5. Mark as complete to lock the reconciliation Reconciliations can only be opened for accounts in the chart of accounts (specifically bank-type accounts). ================================================================================ FINANCIAL REPORTS ================================================================================ GoodBooks includes the following standard nonprofit reports: --- CHECKBOOK REGISTER --- A transaction-by-transaction ledger for a specific account with running balance. Filter by date range. Shows opening and closing balance. --- TRIAL BALANCE --- Lists every account with its total debits and credits as of a date. Verifies that total debits = total credits (double-entry validation). Can be filtered by fund. --- INCOME STATEMENT (Statement of Activities) --- Revenue minus Expenses = Net Income for a date range. Standard nonprofit income statement format. Can be filtered by fund. --- BALANCE SHEET (Statement of Financial Position) --- Assets = Liabilities + Net Assets at a point in time. Real accounts are cumulative; nominal accounts reflect current fiscal year. Validates the accounting equation. --- GIVING STATEMENTS --- Per-donor or per-campaign donation summaries for tax reporting. Includes tax deductibility information per donation. Feature: enab_donor_statements ================================================================================ USER MANAGEMENT & SECURITY ================================================================================ --- USERS --- Each tenant can have multiple admin users. Users are assigned to permission groups. User management: Settings → Users --- PERMISSION GROUPS --- Groups define what a user can do. Each group has a set of permissions: - ledger.read, ledger.edit — view / create journal entries - donations.read, donations.edit — view / manage donations - contacts.read, contacts.edit — view / manage contacts - reports.read — view financial reports - settings.edit — change organization settings - users.edit — manage other users - (and many more) Default groups: System Admin (all permissions), Accountant, View Only --- MULTI-FACTOR AUTHENTICATION (MFA) --- Users can enable MFA for their account: - TOTP (Google Authenticator, Authy, etc.) - SMS (text message code) MFA can be configured in user profile settings. --- PASSWORD POLICY --- Passwords must meet complexity requirements. Users can be forced to reset their password on next login (admin-configurable). ================================================================================ SETTINGS & CONFIGURATION ================================================================================ --- ACCOUNTING SETTINGS --- Path: Settings → Accounting Settings Key settings: - Accounting basis: Cash, Accrual, or Modified Cash - Fiscal year end: month and day - Accounting start date: when your books begin - Accounting close date: locks entries before this date - Default fund: pre-selected on new transactions - Donation cash account: where donation cash is recorded - Donation revenue account: where donation revenue is recorded - Account numbers: enable/disable display of account numbers --- ORGANIZATION PROFILE --- Path: Settings → Organization Profile Organization details: name, subdomain, from-email address, timezone, phone, website, address, mission, org type, year founded. --- DONATION SETTINGS --- Path: Settings → Donation Settings Manage Stripe Connect for online donations. Connect or disconnect your Stripe account. View your public donation URL. ================================================================================ COMMON USER QUESTIONS & ANSWERS ================================================================================ Q: How do I record a donation received by check? A: Go to Donations → New Donation. Enter the donor (or create a new contact), the amount, the campaign designation, the date, and select "Check" as the payment type. Save the donation. Q: Why can't I edit a journal entry? A: Journal entries are immutable after posting to protect the integrity of your financial records. To fix an error, use Void (to remove it) or Reverse (to create an offsetting entry). Q: How do I accept online donations? A: Go to Settings → Donation Settings and connect your Stripe account. Once connected, your public donation page is live at your subdomain URL. Q: What's the difference between voiding and reversing a journal entry? A: VOID marks the entry as inactive — it disappears from reports but the original data is retained for the audit trail. REVERSE creates a new journal entry with all debits and credits flipped, effectively canceling the original while preserving both entries in the record. Q: How do I add a new user? A: Go to Settings → Users → New User. Enter their email, name, and assign them to a permission group. They will receive an email to set their password. Q: Can I have multiple funds? A: Yes. The number of funds you can create depends on your plan (Free: 3, Foundation: 10, Core: 25, Pro: unlimited). Go to Funds → New Fund. Q: How do I run a Balance Sheet? A: Go to Reports → Balance Sheet. Select an "as of" date and click Run Report. Q: My trial balance doesn't balance — what do I do? A: Every transaction in GoodBooks is double-entry, so this shouldn't happen under normal use. If it occurs, contact support — it may indicate a data integrity issue. Q: Can donors cover the transaction fees? A: Yes. On the public donation page, donors can check an option to cover the Stripe + platform fees so your organization receives the full intended amount. Q: How do I reconcile my bank account? A: Go to Reconciliation → New Reconciliation. Select your bank account, enter the statement date and ending balance, then check off transactions that appear on your bank statement. When the difference is $0, complete the reconciliation. Q: What is a deposit batch? A: A deposit batch groups multiple pending donations together for a single bank deposit. When you mark a batch as deposited, GoodBooks automatically creates the corresponding journal entry debiting your cash account and crediting revenue, allocated across funds by donation designation. Q: Can I assign a donation to multiple funds? A: Yes — through campaign designations. Each donation can have one or more designations to different campaigns (and therefore different funds). The designation amounts must add up to the total donation amount. Q: How do I set up MFA for my account? A: Go to your user profile (click your name in the top menu) → Security. Choose TOTP (authenticator app) or SMS, and follow the setup steps. Q: What does "accounting close date" mean? A: The accounting close date prevents any journal entries from being created or modified before that date. It's used to lock prior fiscal periods after they've been reviewed and finalized. Q: I accidentally disconnected Stripe — what do I do? A: Go to Settings → Donation Settings and click "Connect with Stripe" again. You can reconnect to your existing Stripe account. No donation history is lost. ================================================================================ TROUBLESHOOTING ================================================================================ --- STRIPE ISSUES --- Problem: "Connect with Stripe" button not visible or donation page not live. Solution: Check Settings → Donation Settings. If not connected, click Connect with Stripe and complete Stripe's onboarding. Your Stripe account must be fully verified before payments can be processed. Problem: Donations showing as "pending" and not completing. Solution: Stripe webhooks must be configured to notify GoodBooks of completed payments. Contact support if donations are stuck in pending status. Problem: Stripe payouts not matching deposit batches. Solution: A Stripe payout may include transactions from multiple days. Check the Stripe dashboard for the payout details and compare against the corresponding deposit batch(es) in GoodBooks. --- ACCOUNTING ISSUES --- Problem: Can't create a new journal entry — getting a limit error. Solution: Your plan's monthly transaction limit may be reached. Check your plan in Settings, or contact support to upgrade. Problem: Balance sheet doesn't balance. Solution: This usually indicates transactions recorded outside normal double-entry workflow. Contact support with the date the report is run for. Problem: Can't select an account in a journal entry line. Solution: The account may be inactive. Go to Chart of Accounts and check whether the account is active. Re-activate if needed. --- DONATION ISSUES --- Problem: Donation designations won't save — "amounts must equal total." Solution: The sum of all designation amounts must exactly equal the donation total. Adjust the designation amounts until they match. Problem: A donor didn't receive their receipt email. Solution: Check that the contact has a valid primary email address on file. You can resend the receipt from the donation detail page. Problem: Online donor got an error during payment. Solution: The most common causes are: (1) Stripe account not fully verified, (2) the donation amount is below the minimum ($1), (3) a card decline. Check Stripe dashboard for error details. ================================================================================ GLOSSARY ================================================================================ Chart of Accounts (COA): The complete list of all accounts used in your bookkeeping, organized by type (assets, liabilities, revenue, expenses, etc.) Double-Entry Bookkeeping: An accounting method where every transaction affects at least two accounts — a debit in one and a credit in another — keeping the books in balance. Fund: A self-balancing set of accounts used to track money for a specific purpose (e.g., general operations, capital building, restricted gifts). Journal Entry (JE): A record of a financial transaction, with debit and credit lines that balance to zero. Designation: The allocation of a donation to a specific campaign/fund. Deposit Batch: A grouping of donations deposited together to the bank account, with an auto-generated journal entry upon settlement. Reconciliation: The process of matching GoodBooks transactions against a bank statement to confirm accuracy. Tenant: An organization (nonprofit) using GoodBooks. Each tenant has isolated data, their own users, and their own subdomain. Stripe Connect: Stripe's platform that allows GoodBooks to process payments on behalf of connected nonprofits, with funds going directly to the nonprofit. QCD: Qualified Charitable Distribution — a donation made directly from an IRA. Tax rules differ from standard cash donations. DAF: Donor Advised Fund — a charitable giving account. DAF grants are not tax deductible to the donor (they already received the deduction when funding the DAF). Fiscal Year: The 12-month accounting period used by your organization. Can differ from the calendar year (e.g., July 1 – June 30). TOTP: Time-Based One-Time Password — the standard used by Google Authenticator, Authy, and similar apps for two-factor authentication. ================================================================================ CONTACT & SUPPORT ================================================================================ GoodBooks is developed and maintained by PaulNet. For support, visit the Help Center or contact the support team. ================================================================================ END OF KNOWLEDGE BASE v1.0 ================================================================================