Receiving canceled lineitem / copy not fully implemented
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Evergreen 2.4+
Evergreen 2.3 experiences the same issue, but the code has diverged some and this is as much a new feature as a bug. Debatable..
1. Cancel a lineitem from the PO interface.
2. Receive the lineitem
3. The lineitem is now in the 'received' state, but the cancel_reason is still attached to the lineitem. Ditto the linked, canceled copies.
This was discovered as a result of testing bug #1029591, which surfaces the cancel_reason to the UI.
If the lineitem/copies are received, the cancel_reason value should be cleared (set to NULL).
Question: What should we do about cancel_reason's that have keep_debits=false ? These items will have no debits attached. Should the receive action be prevented? Should the system attempt to recover the debits (using the estimated_price from the lineitem)? Org settings?
Note that even if no debits exist, they will be created during invoicing as needed, so it may not be a problem at all.
Changed in evergreen: | |
milestone: | 2.5.0-alpha2 → 2.5.0-beta1 |
tags: | added: 2.5-beta-blocker |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
I would say, receiving should be possible for lineitems with cancel_reasons that have keep_debits=false and that the debits should be recovered using the estimated price. If a line item is mistakenly canceled using a cancel_reason that does not retain debits, there is a need to be able to correct the error. If the line item was canceled in error, invoicing may not take place immediately, so reinstating the debit is important. Further, once the lineitem/copies are marked received, it should be possible to un-receive them to set them back to a state of on-order.