[9486442] | 1 | Design of Remit |
---|
| 2 | =============== |
---|
| 3 | |
---|
[c167f76] | 4 | Remit aims to be a general system for managing MIT student group finances. The |
---|
| 5 | name comes from "MIT" and the term "remit": One core piece of functionality is |
---|
| 6 | generating the documentation required to make SAFO remit money to students. |
---|
[9486442] | 7 | |
---|
| 8 | Core functionality objectives |
---|
| 9 | ----------------------------- |
---|
| 10 | |
---|
| 11 | * Self-service reimbursement request submission --- individual members |
---|
| 12 | should be able to request reimbursement through a web interface, providing |
---|
| 13 | (almost?) all of the data required to generate a voucher |
---|
| 14 | * Allow multi-stage approval processes --- e.g., a committee chair approves |
---|
| 15 | a reimbursement request and then the group treasurer approves the request |
---|
| 16 | * Integrate with budgeting, for example by notifying the treasurer before |
---|
| 17 | approving a request for more money than remains in an account |
---|
| 18 | * Allow printing of vouchers |
---|
| 19 | * Support basic reporting |
---|
| 20 | * Allow import and export in useful formats (e.g., CSV) |
---|
| 21 | |
---|
| 22 | Basic financial support (finance_core) |
---|
| 23 | -------------------------------------- |
---|
| 24 | |
---|
| 25 | finance_core provides a basic double-entry bookkeeping system. |
---|
| 26 | |
---|
| 27 | It includes the following core models: |
---|
| 28 | * BudgetArea, representing an account |
---|
| 29 | * BudgetTerm, representing a financial period |
---|
| 30 | * Transaction, representing a transaction |
---|
| 31 | * LineItem, representing a line item within a transaction |
---|
| 32 | |
---|
[c167f76] | 33 | This module uses the Treebeard project |
---|
| 34 | (http://docs.tabo.pe/django-treebeard/tip/) to implement a tree of BudgetAreas. |
---|
| 35 | |
---|
[9486442] | 36 | Basic request and voucher workflow (vouchers) |
---|
| 37 | --------------------------------------------- |
---|
| 38 | |
---|
| 39 | vouchers provides the core of the request/voucher workflow. |
---|
| 40 | |
---|
| 41 | It includes the following core models: |
---|
| 42 | * ReimbursementRequest, representing a single request |
---|
| 43 | * Voucher, representing a single generated voucher |
---|
| 44 | |
---|
| 45 | This package also currently includes the import_budget script, designed to |
---|
| 46 | take a budget spreadsheet and committee list like the UA has and automatically |
---|
| 47 | input it into the system. The script should probably be moved out into a new |
---|
| 48 | "tools" project or the like. |
---|