Details

    • Type: Task
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 4.3.0
    • Fix Version/s: 4.6
    • Component/s: Accounting Integration
    • Labels:
      None

      Description

      Create a sample tax extension as follows:

      • on post event for financial_item (create, edit, delete), implement code to handle the tax implementations of the financial_item by doing an appropriate thing (create, edit or delete) with a matched financial_item, and also updating the contribution total as appropriate.
        • the extension will assume that all items using a revenue financial account marked as taxable are taxable
        • the financial account for the tax will not be taxable in this simple example extension
        • name the tax HST, and use 0.13 as the amount
      • UI: change the offline New Membership form so that it displays price set amounts as follows (see image):
        • under membership Amount field, add Taxes (frozen) and Total Amount (frozen)
        • use the Name of the Financial Account that is used for the tax as the label of the field
      • add an additional record to the civicrm_financial_trxn table transferring the HST amount from the Expenses HST account to an Accounts Payable HST account representing the amount owed to the government
      • on changes and reversals, ensure that any transfer into or out of the HST expense account is matched by an additional entry in civicrm_financial_trxn making equivalent changes to the Accounts Payable HST account (ie change reducing tax results in reduction in expense and reduction in amounts owed to government)

        Attachments

          Activity

            People

            • Assignee:
              awasson Andrew Wasson
              Reporter:
              joemurray Joe Murray
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: