[
https://issues.apache.org/jira/browse/OFBIZ-5352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13797065#comment-13797065 ]
Christian Carlow commented on OFBIZ-5352:
-----------------------------------------
I was thinking the same thing (soft delete) like is done for OrderItem. Extra logic would be needed for handling the associated Shipment.
Invoice items are created for all of a Shipment's issued items when the statusId is changed to "Pick" or "Pack". If one of those itemIssuance invoices are deleted (cancelled) then should the Shipment statusId be changed back to "Input"? Doing so would mean adding logic to prevent duplicating already invoiced shipment items if the statusId were changed back to "Pick" or "Pack".
It doesn't seem like the Shipment statusId should necessarily be dependent on whether all itemIssances have been invoiced or not. However it does seem that there should be some logic to prevent a Shipment from being assigned a statusId of "Shipped" if not all of the Shipment's issued items have been invoiced unless there is some case where issued items should be shipped without necessarily having been invoiced but I cannot think of one.
> Invoice Item Removal doesn't work when billing records exist
> ------------------------------------------------------------
>
> Key: OFBIZ-5352
> URL:
https://issues.apache.org/jira/browse/OFBIZ-5352> Project: OFBiz
> Issue Type: Bug
> Affects Versions: Release Branch 12.04
> Reporter: Christian Carlow
>
> Invoice Items cannot be removed if the billing records have been created for the item. Billing records in tables such as orderItemBilling are created when a Shipment statusId is changed to Pick or Pack which triggers the invoice to be created.
> For such cases, after clicking the "Remove" button for an item on the Invoice Items page, a primary key violation error occurs due to the invoice item being referenced in orderItemBilling.
> It seems the "removeInvoiceItem" service in InvoiceServices.xml should be improved to delete billing records or any other records that would prevent the invoice item from being removed.
> The shipmentItemBilling table may also cause a primary key violation so it should be handled also.
> It also seems that the billing information should be displayed and that is should be able to be edited. It seems that picking/packing a shipment is the only way to associate an orderItem with an invoiceItem.
> Shouldn't there exist a way to associate an invoice item with an order item through some invoice editor? Perhaps this should be a separate issue as an Improvement.
--
This message was sent by Atlassian JIRA
(v6.1#6144)