Skip to content
Snippets Groups Projects
overview.md 1.67 KiB
Newer Older
  • Learn to ignore specific revisions
  • homotechsual's avatar
    homotechsual committed
    !!! abstract
        This area of CiviCRM code and documentation is a work-in-progress. Not all features
        will be documented and the core code underlying this area may change from version
        to version.
    
    
    JoeMurray's avatar
    JoeMurray committed
    The financial subsystem in civicrm encompasses:
    
    Rich Lott's avatar
    Rich Lott committed
    
    
    JoeMurray's avatar
    JoeMurray committed
    - contributions
    - recurring contributions
    - payments
    - refunds
    - prices
    - discounts
    
    Eileen McNaughton's avatar
    Eileen McNaughton committed
    - premiums (things given away to contacts who donate a lot)
    
    JoeMurray's avatar
    JoeMurray committed
    - accounting information
    - integrations with payment processors
    - integrations with accounting systems
    
    There are strong relationships between the financial area of CiviCRM and memberships, event registrations, and pledges.
    
    Due to the importance of data integrity, the tight coupling of related business operations, and large number of tables in the implementation, there is a strong focus on using higher level business APIs rather than lower level table oriented operations. 
    
    Key concepts include:
    
    Rich Lott's avatar
    Rich Lott committed
    
    
    JoeMurray's avatar
    JoeMurray committed
    - order (sometimes called invoice)
    - line item
    - bookkeeping entries which encompass at a minimum a debit and credit financial account, an amount and a date
    - financial account, which corresponds to an account in a financial system's (like QuickBooks) chart of accounts
    
    Rich Lott's avatar
    Rich Lott committed
    - financial type, which organisations can use to categorise their contributions (like "Donation") for their own management purposes (e.g. "Donation for X"), accounting purposes (which financial accounts are used) and regulartory requirements (e.g. to identify taxable contributions)
    
    The main purpose of this documentation is to support
    
    JoeMurray's avatar
    JoeMurray committed
    
    - non-core systems for creating orders, eg a Drupal webform or WordPress Caldera Forms replacement of CiviCRM Contribution and Event Pages.
    - payment processor integrations in all of their variety.