Changeset - 49efe41741d4
[Not reviewed]
0 1 0
Brett Smith (brett) - 7 years ago 2016-08-31 18:04:15
brett@sfconservancy.org
Pre-approval can wait until after the first release.

This is a very valuable feature, and we want it soon, but it doesn't
have to be in literally the first release.
1 file changed with 15 insertions and 12 deletions:
0 comments (0 inline, 0 general)
Reimbursements/Requirements.mdwn
Show inline comments
...
 
@@ -25,13 +25,13 @@ sysadmin-level technical expertise to do this, but ultimately it should be
 
doable by a bookkeeper with appropriate privileges.
 

	
 
## Requirements for first release
 

	
 
### Defining the request form
 

	
 
Requests for payment have five states: Pre-Approval, In Progress, Submitted,
 
Requests for payment have four states: In Progress, Submitted,
 
Accepted, and Rejected.
 

	
 
Administrators can define questions to ask the requestor about the entire
 
request, and about each expense in the request.  The system can display
 
forms, validate answers, and record answers for questions with the following
 
types of answers:
...
 
@@ -63,27 +63,19 @@ receipt, amount), and then a series of conditional questions based on those
 
answers (e.g., follow-up questions specific to airfare expenses,
 
accommodations expenses, etc.).
 

	
 
### Requestor workflow
 

	
 
Requestors can log in and see the status of all their requests.  They can also
 
create a new request, which starts either the Pre-Approval or the In Progress
 
create a new request, which starts in the In Progress
 
state.
 

	
 
When they view a report, it shows the questions and answers about the entire
 
report, and a list of associated expenses.  Viewing a specific expense
 
similarly shows all the questions and answers about it.
 

	
 
When a report is in the Pre-Approval state, the requestor is submitting not
 
receipts or invoices, but documents regarding potential expenses that have
 
not yet been incurred, but for which organization policies require
 
preapproval by organizational management ahead of time.  The appropriate
 
management representatives are duly notified by the system of pending
 
Pre-Approval requests, and their approval moves the request into the In
 
Progress state.  Their rejection moves the request to the Rejected sate.
 

	
 
When a report is In Progress state, the requestor can edit any answer in the
 
report or an associated expense.  They can also add an expense, which begins
 
by asking them unconditional questions associated with expenses, and then
 
follow-up questions as necessary based on those answers.
 

	
 
When an In Progress report has at least one expense associated with it, and
...
 
@@ -154,14 +146,25 @@ know that they've been considered and aren't immediately possible.
 
be extended to address the case of "other question isn't answered"
 

	
 
* Additional exporters:
 
  * Export to SQLedger
 
  * [Certainly many more, feel free to add them here]
 

	
 
* Richer lifecycle management: A leader may need to approve a request before
 
  it's added to the books, like an employee's manager or a program director
 
* Richer lifecycle management
 
  * Support requests for pre-approval, probably with two states
 
    "Pre-Approval In Progress" and "Pre-Approval Submitted."  In the
 
    Pre-Approval state, the requestor is submitting not receipts or
 
    invoices, but documents regarding potential expenses that have not yet
 
    been incurred, but for which organization policies require preapproval
 
    by organizational management ahead of time.  The appropriate management
 
    representatives are duly notified by the system of pending Pre-Approval
 
    requests, and their approval moves the request into the In Progress
 
    state.  Their rejection moves the request to the Rejected sate.
 

	
 
  * A leader may need to approve a request before
 
    it's added to the books, like an employee's manager or a program director
 

	
 
* Various currency improvements:
 
   * Automatic currency conversion for validation (e.g., validate that an amount
 
     in an aribtrary currency is within a limit in USD)
 

	
 
   * Validate currency amounts from outside data sources: The main case for
0 comments (0 inline, 0 general)