Allow user to cancel orders

UXPROD-3257 - Getting issue details... STATUS

Problem(s):

  1. There is no logic in place to manage the cancellation of orders and order lines. User currently need to understand and take all individual steps needed to completely cancel an order and release all encumbrances etc. This also makes it difficult/impossible for other applications to trigger the cancelation of an order.

Use Cases & Requirements:

RequirementStatusUse cases
Allow user to cancel a POL by adjusting the payment and receipt status

VALIDATED

Ongoing orders may include multiple POLs. The library may choose to cancel one or more of those titles but not all. This could be for monetary reasons, lack of use or lack of availability.

Release any remaining encumbrance when order line payment status is set to canceled

VALIDATED

When an order line is canceled the library would expect any remaining encumbered values would be release back into the budget so it is less likely that value will remain unused.
Allow users to cancel a PO with one action

VALIDATED

Out right canceled

Cancel because item will not be published

Not available from the supplier

Because we are changing the supplier

Budgets have been cut and can no longer maintain sub

The supplier have contacted and said they have canceled the order

Thought it would be published but turns out it will not

Allow users to cancel orders that may be partially paid or received

VALIDATED

Partially fulfilled and canceled

Rarely cancelling for partially fulfilled

Generally A multi vol where the second (third, etc.) volume isn’t published

Much more frequent with ongoing orders

Allow users to reopen an order that has been closed as "canceled".

Allow users to change the receipt or payment status of a POL that has been set to "canceled". Can change to Awaiting..., Partially..., Fully..., ...Not Required, or Ongoing

VALIDATED

Reinstate order

This is done in Aleph just by changing the status back to a previous one.

Subscription said no cancel that thing and someone from higher up vetos it after the fact.

Supplier tells us order can't be fulfilled and sometime later they say they found another copy and library reopens





Proposed workflow:


PO workflow status transition table - when all POLs on a PO transition to the corresponding receipt and payment status below. The workflow state is change to the following:




Payment statuses
DraftNon-resolutionResolutions

Order "Workflow status"PendingAwaitingPartiallyOngoingFullyPayment not requiredCanceled
Receipt statusesDraftPendingPendingNANANANAPendingNA
non-resolutionAwaitingNAOpenOpenOpenOpenOpenOpen
PartiallyNAOpenOpenOpenOpenOpenOpen
OngoingNAOpenOpenOpenOpenOpenOpen
ResolutionsFullyNAOpenOpenOpenClosedClosedClosed
Receipt not requiredPendingOpenOpenOpenClosedClosedClosed
CanceledNAOpenOpenOpenClosedClosedClosed

When orders are closed with POLs that have the corresponding statuses the Reason for closure is set to the following:



Payment statuses
DraftNon-resolutionResolutions

Order "Reason for closure"PendingAwaitingPartiallyOngoingFullyPayment not requiredCanceled
Receipt statusesDraftPendingNANANANANANANA
non-resolutionAwaitingNANANANANANANA
PartiallyNANANANANANANA
OngoingNANANANANANANA
ResolutionsFullyNANANANACompleteCompleteCanceled
Receipt not requiredNANANANACompleteCompleteCanceled
CanceledNANANANACanceledCanceledCanceled

Note: All POLs on an order must be considered "Canceled" for the order status to be given a reason for closure of canceled. If one POL is considered complete the order is closed as Complete.

Questions:

Question

Status

Conclusion

Comments

Are there use cases for "Un-cancelling" orders or order lines?

OPEN

We will need to allow users to uncancel orders

Yes, see the requirements table above

Work Breakdown Structure:

Features:

UXPROD-3257 - Getting issue details... STATUS

UI Stories

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh

MOD Stories

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh