ecommerce_integrations icon indicating copy to clipboard operation
ecommerce_integrations copied to clipboard

Separate setting required for Sales Invoice and Payment Entry

Open shashankshirke opened this issue 2 years ago • 2 comments

Currently, in Shopify Settings there is only one checkbox which reads "Import Sales Invoice from Shopify if Payment is marked" 👇🏻

image

When this checkbox is ticked, it does two things when an order is marked as paid in Shopify;

  1. Create and submit a Sales Invoice
  2. Create and submit a Payment Entry against the Sales Invoice

Problem

There are many business cases where direct submission of the Sales Invoice might not be necessary (only saving the Sales Invoice should be enough). This enables the business user to make changes to to the Sales Invoice. It is understood that in such a case where Sales Invoice is only saved, it is not possible to create a payment entry as that requires Sales Invoice to be in submitted state.

Proposed Solution

Instead of a single checkbox in Shopify Setting which controls the creation of both Sales Invoice and Payment Entry, there should be two checkboxes as below;

  1. Create Sales Invoice from Shopify if Payment is marked
  2. Create Payment Entry from Shopify if Payment is marked

Use Cases

  • Case 1: Only 1st checkbox is ticked Sales Invoice will be created in ERPNext and it will be Saved (not submitted)

  • Case 2: Both 1st and 2nd checkboxes are ticked Sales Invoice will be created and submitted as well as a Payment Entry will be created and submitted (this is the current functionality)

If this is implemented, it will give more granular control to the business user in terms of the sync between Shopify and ERPNext.

shashankshirke avatar Sep 15 '22 09:09 shashankshirke

@shashankshirke I agree. This option can be split... feel free to send a PR for this.

ankush avatar Sep 15 '22 10:09 ankush

Hi,

We have been using Shopify for a while and have been running an e-commerce business for 10 years. All e-commerce storefronts treat invoice/credit notes, payment/refund and fulfilment/unfulfillment as independent events. In fact, in all the e-commerce storefront UI/UX, there are three different buttons (order/cancel, payment/refund, fulfil/unfulfill) for these events.

  1. Invoice/Credit note -

These documents need to be created irrespective of payment status and stock status. Business logic: There are several COD (cash on delivery orders), and the product should be sent to the customer along with an invoice. So, an invoice needs to be generated, and then the payment is marked as complete post that.

Shopify integration: (a) order created on Shopify should create an invoice on ERP Next, and (b) an order cancelled on Shopify should create a credit note on ERP Next.

Issue with the current implementation: (i) Current implementation ties the creation of invoice only to 100% payment, and that does not allow for COD orders. At least in India, COD orders contribute to 60% of total e-commerce order volume. (ii) Order cancellation should create the credit note, but it is not being created at the moment.

  1. Payment/Refund -

Payment or refund can be made in parts as well. Not a huge use case, but it would be good to create payment/refund records even for partial payments.

Business logic: There are lot of cases where you make 10% deposit to book the product and pay the rest on delivery. This is the case for pre-release products.

Issue with current implementation: (i) Partial payment is not creating the corresponding record in ERP Next (ii) Refund (fill or partial) is not supported (iii) As someone raised in another thread, it would be good to support two deposit account - for COD payments and for online payments.

  1. Fulfilment/Unfulfillment -

Fulfilment or unfulfillment can be done in parts.

Business Logic: You order multiple items and you receive the products in different shipments, and then you later decide to keep some of them and return the rest.

Issue with current implementation: (i) Partial fulfilment is not allowed, and this causes wrong stock information. A delivery note is being created only after the entire order is dispatched. (ii) Clicking on unfulfillment in Shopify is not triggering any action in ERP Next, and this needs to be supported.

Note: All mature platforms (including Amazon) treat each of the above three events independently. It is best not to combine the actions even though they sound logical (for example: order cancellation normally will be associated with return of goods and subsequent refund, but there are lot of nuiances around real world use cases. To be most flexible, ecommerce platforms give three seperate buttons, and it is best to have one-to-one linkage between the platforms and ERP Next to ensure best compliance.

Regards,

mrpl2 avatar Dec 31 '22 13:12 mrpl2