GithubHelp home page GithubHelp logo

amutaher / cargo_management Goto Github PK

View Code? Open in Web Editor NEW

This project forked from agileshift/cargo_management

0.0 0.0 0.0 436 KB

Package Management App for ERPNext

License: Other

JavaScript 42.36% Python 52.28% HTML 3.35% SCSS 2.01%

cargo_management's Introduction

ERPNext Cargo Management

Package Tracker for Local Courier Services.

Made in Frappe Framework v13 using ERPNext for a fully fledged ERP.

EasyPost as Tracking API(Source Code)

App Includes:

  • Package
    • Workspace
    • Dashboard view
    • Settings
  • Warehouse Receipt
  • Cargo Shipment
  • Cargo Packing List
  • Cargo Shipment Receipt
  • Reports

Extra Addons

Customizations to Frappe and ERPNext:

  • Package can be linked in Sales Order and Sales Invoice:
    • Sales Invoice are used to invoice for Logistic services and items related to Business
    • Sales Order are the only choice to make purchases online on behalf of the customer:
      • WORKING(We must link the sales order with the package and content, later we must invoice the order and service.)
  • Package can be linked in Issue:
    • WORKING(on the change of status)

Description

This app allows you to track the packages sent by our customers to our warehouse. Invoice and deliver them.

Currently we can track all carriers supported by the Tracking API Provider EasyPost:

  • eg: DHL, UPS, USPS, FedEx, and more.

The customizations allow us to:

  • Invoice a Customer for the Logistic Services and Products in Stock offered.
  • Link the Sales Invoice with a Package and update its statuses.

All while using all the core functionalities from ERPNext like Accounting, Stock, HR, Assets, Payroll.

Flow

  1. Packages are created and can be related to a specific customer
    1. Content of the package can be added and its related Item for invoice Purposes.
    2. It can be tracked by the API or not.
  2. As the carrier updates the details the Tracking API send it via a webhook, we gather and update.
  3. When the package is marked as delivered at warehouse by the carrier we stop the Tracking API webhook updates
  4. A Warehouse Receipt doc its created to link the received package:
    1. Package related fields can be filled by the Warehouse: Content, Dimensions, Weight, Receipt Date
  5. Cargo Shipment is created to export Packages in bulk:
    1. Warehouse Receipts are added in them.
    2. Related information: Transportation Type, Departure date, Est Arrival Date, Dimensions, Gross Weight

WORKING on this flow

  1. Cargo Shipment Receipt is created to receive the Cargo Shipment:
    1. A Receipt loads the data of all related Packages in the Cargo Shipment through the Warehouse Receipts
    2. All Packages are sorted by Customer, and its the moment to set all related data to Create Invoices.
    3. When all the Packages have been processed, the Sales Invoices can be created.
      1. A Sales invoice will be created for the customer, it will contain all the related Packages.
  2. WORKING

Helpers

  • Cargo Packing List: is a "Packing List" for the Cargo Shipment:
    1. Gets all the content declared by the Customer and the content declared by the Warehouse of the packages in a Cargo Shipment
    2. It allows to modify the content and amount declared only for Print.
    3. WORKING

This is work in progress. But it's stable for usage

  • WORKING
    1. Packing Slip for customs:
    2. Fetching data of prices and quotations from packages to Cargo Shipment Receipt: WORKING
  • FUTURE:
    1. Setting data of prices in CSR to Sales Invoice
    2. Working in the Sales Orders!
Code related TODO:
  1. Add custom Doctypes to Global Search: https://github.com/frappe/erpnext/pull/24055/files
  2. Migrate SQL to QueryBuilder? usign Pypika?

cargo_management's People

Contributors

jeansreal avatar deepsourcebot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.