Additional request state: Pre-Approval

Many travel policies, for example, require that certain expenses be
approved before tickets can be purchased.  An example from Conservancy's
travel policy include: hotel bookings beyond the GSA/Dept-of-State Per
Diem hotel rate, and flights that exceed the with-$100-of-cheapest rule.

As such, requestors need the ability to request preapproval.

These changes herein committed, however, do *not* account for the fact
that a request may already be "In Progress" when another expense comes
up.  An example of that is a flight was booked already in policy and the
requestor, and uploaded, and the requestor then discovers later that the
hotel is out-of-policy and needs preapproval.  We can perhaps ignore
this scenario for the first specification of this to avoid
feature-creep, but I wanted to flag it as a potential issue for future.

The work around might be that the Bookkeeper is allowed to move a
request between any state to another, so the work-around in this
specific instance may have to require an out-of-band conversation
between bookkeeper and requestor.  That's not disaster.
This commit is contained in:
Bradley M. Kuhn 2016-08-30 09:55:50 -07:00 committed by Brett Smith
parent cb902d08af
commit 6e91d81ce1

View file

@ -28,7 +28,7 @@ doable by a bookkeeper with appropriate privileges.
### Defining the request form ### Defining the request form
Requests for payment have four states: In Progress, Submitted, Requests for payment have five states: Pre-Approval, In Progress, Submitted,
Accepted, and Rejected. Accepted, and Rejected.
Administrators can define questions to ask the requestor about the entire Administrators can define questions to ask the requestor about the entire
@ -66,12 +66,21 @@ accommodations expenses, etc.).
### Requestor workflow ### Requestor workflow
Requestor can log in and see the status of all their requests. They can also Requestor can log in and see the status of all their requests. They can also
create a new request, which starts in the In Progress state. create a new request, which starts either the Pre-Approval or the In Progress
state.
When they view a report, it shows the questions and answers about the entire 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 report, and a list of associated expenses. Viewing a specific expense
similarly shows all the questions and answers about it. 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 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 report or an associated expense. They can also add an expense, which begins
by asking them unconditional questions associated with expenses, and then by asking them unconditional questions associated with expenses, and then