[ERPNext Foundation Pune Chapter Code Sprint #3] - FedEx Integration

Greeting for new year.

Here, we are planning for the January’18 Code Sprint on 20th Jan, which is first in this year and third in a session.
We failed to update post our second Code Sprint as there were lot more issues at code level, we tried to resolve those first while carrying from earlier one. There were no incremental updates but we tried to streamline things in a that day to be ready for new session. (Will catch up with the lag with internal session this month).

Brief update on last session,

  • Replicate things from earlier PR (as that was closed) with updates in new fork. (messed up in course and rectified)
  • Identified some of the structural issues while looking at incremental updates. Brain stormed on it for enhancements.

Keep watching this for updates on plan of code sprint along with some visual representation of structure for your feedback.



Plan for the CodeSprint

  1. Create Shipping Plan from Delivery Note than Packing Slip.
    1.1 User should be able to select Delivery Note and load the Delivery Note being delivered through this Shipping Plan. (Packing Slip will be optional)
  2. Break down earlier decided single table combining Item Table, Item Packing Details and Package Details (as it is creating unnecessary redundant item entries) into two tables viz.
    2.1 First as combination of Item Table and Item Package Details
    2.2 Package Details.
  3. Import and create (FedEx) Postal Codes
  4. Add Validations
    4.1 Validate Delivery Note (must not be submitted)
    4.1 Validate Items (at least one item) and Quantity
    4.3 Validate postal code
    4.4 Validate package count and packages
    4.5 Add FedEx specific validations
  5. API/Integration
    5.1 Get rate API (Fetch FedEx rate as per service and details along with package details attached)
    Following points will be covered in same session or following session
    5.2 Schedule Pickup
    5.3 Track Shipment (Get FedEx Invoice and FedEx Label)

Application Flow:

  • Sales Order – > Delivery Note – > Shipping Plan – > FedEx.

Further this will able to connect,

  • Sals Order – > Shipping Plan – > FedEx
  • Stock Transfer – > Shipping Plan – > FedEx

Update for CodeSprint follows as below,

  1. Shipping Plan revamped

  2. After repetitive thought, understanding the challenge of simplifying three tables (item, package and item-package) initially into one then into two. As, it may sound simplifying but invariably affecting users to input so much of redundant data just for sake of one or two field(s) to be unique in a bunch. It is better to keep things simple and in parts where one or two fields gets redundant than bunch of as per earlier proposed design. We back to three table structure,
    2.1 Item Tale looks like this,

    2.2 Package Table looks like this,

    2.3 Item-Package combination looks like this,
  3. Added a FedEx Postal code master
    19 PM
  4. This further covers Shipping Plan linking with Delivery Note and “make” option in Delivery Note.
  5. Basic form level validations.

This has now definitely come to a stage to hit an API post FedEx validations and filters part to be done primarily. This is to be assure of, that data is being generated and sent as desired and then trigger an API call as would be the next update in this series.


1 Like


As you know we have added Master’s, their validations and basic API’s in FedEx Integration so far.

We would require the FedEx credentials to validate the API’s. We expired the earlier one available and not sure how much time will it take to get one fresh. If anybody has an access can spare for testing would be really great to expedite on hold implementation. We are sure that will not charge you anything since we can cancel a planned pick-up (or generally not charged unless pick-up from your end).

For More Details - PR




I believe vthere is a sandbox implementation you can test with same as PayPal has

What we have understood is, that access is available to their customers only. Onboarding is tedious job. So, we have written to them to grant this access so we add a channel for your business but they plainly asked, whether “We are their customer?” and then no revert after that…