Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add integration to shiprocket, delhivery, aramex, envia, shippo #50

Open
wants to merge 9 commits into
base: version-15
Choose a base branch
from

Conversation

ravibharathi656
Copy link

As a part of this PR, I am introducing a new doctype called Shipping Provider to refactor the existing design and introducing the following integration.

  • Shiprocket (In Indian context)
  • Delhivery (In Indian context)
  • Aramex (In Oman context)
  • Envia (In Indian context)
  • Shippo (In US context)

The existing ones such as letmeship, sendcloud is not affected by this refactoring.

This PR also changes how the shipping providers are configured. As ERPNext can have multiple companies in it, we need to configure multiple shipping accounts of the same shipping provider.

Copy link
Collaborator

@barredterra barredterra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the Shipping Provider doctype: when you want to contribute new features, it's a bad idea to change the architecture at the same time. Please stick to the existing architecture. I'm sure there are pros and cons to both. But I think there is not a good reason to change or use two different architectures at the same time.

@Vigneshsekar
Copy link
Collaborator

Hi @barredterra ,

The existing way is creating new single doctypes for each of the providers. We will end up creating 5 new single doctypes for this. Also, when there are multiple companies on the same site, when two different companies have to use the same shipping provider with two different accounts (and so their credentials), the existing way isn't supporting it. That is limiting.

We should consider moving LetmeShip and Send Cloud to the Shipping Provider in a different PR with a patch to migrate their data. What do you suggest?

@barredterra
Copy link
Collaborator

It is a very established practice that every integration gets its own settings doctype. (except when all use the same protocol, e.g. social login). Here, every shipping provider is different, as indicated by the many conditional fields and individual interfaces. Trying to fit them all into the same DocType isn't helpful and breaks with the existing architecture. You get one overly complex DocType instead of many simple ones.

Regarding multi-company support, the individual provider settings could be a list with one entry per company.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants