Currently the Vend integration does not properly support Returns & Exchanges, especially when they are not returned against an original Sale.
Returns made against an original sale will go through as a Credit Note correctly, however the transaction number mapping is now lost in Dear as Vend generates a new transaction number (appropriately) and Dear still references the original transaction number only via the 'Customer Reference' field.
Returns not made against an original sale in Vend can't currently be processed since it is a negative stock order thus understating SOH.
Exchanges made against an original sale simply creates a Credit Note against the original Sale and adds an 'Additional Charge' line for the replacement unit which doesn't actually adjust the stock levels in Dear thus overstating SOH.
Exchanges not made against an original sale are processed as a sale of the replacement product with an 'Additional Charge' for the returned product to balance the payments thus also not adjusting stock levels to reflect the transaction.
The following system/API changes need to be made:
1. Create a combined 'Product/Service' Sale transaction type.
2. Remove the restriction on Credit Notes/Restock that block them from returning products not on the original order.
(I honestly can't think of a single reason why a customer can't return any product against an order, although maybe not logical, there shouldn't be a reason actively restricting it)
3. Map Vend transactions 1:1 in Dear, this is especially important since Vend creates a new transaction number on sale, return and exchange so this should reflect in Dear's 'Customer Reference' field to reflect the associated transaction number.
Returns – Solution
For every return, create a new 'Product/Service' Sale with an 'Additional Charge' of a 'Sale Return' service @ $0.0, after this a Credit Note/Restock can be raised returning the products to stock and capturing the refund to the customer for the correct amount. Use this method for EVERY return made in Vend ONLY, that way it is logically distinct from regular Dear sale/returns.
Exchanges – Solution
Create a new 'Product' Sale selling the replacement product and apply a Credit Note/Restock for the return product. With the restriction removed from Credit Notes/Restock not being able to remove un-ordered product then any item can be returned this way.
There is one issue with this solution that sticks out to me, that being the ability to know the COG for a returned product that was not on the original order since there is no inventory record. In reality, the COG for a randomly returned product can only ever be assumed to be the average cost of the product since there is no way to ascertain it's original COGS unless it has a serial#. I would say that assigning the Average Cost is far more preferable than having untraceable stock variances.
If anyone has a better suggestion i'm all ears, either way, i think this definitely needs to be resolved for the following key reasons:
1. An integration with a POS is critical for Dear product appeal with retailers
2. The existing integration undermines Dear's purpose of being able to accurately track stock and completely undermines FIFO since stock may be both under and over stated.
As an example, our company relies on Vend figures for SOH and average cost since there is no guarantee that Dear figures are correct at any given time since we know there is the potential for variance.
I am not sure about this specific implementation, but more robust features to support returns is definitely an area where DEAR could be improved.