diff --git a/fedex_odoo_connector/README.rst b/fedex_odoo_connector/README.rst new file mode 100644 index 000000000..87c78754a --- /dev/null +++ b/fedex_odoo_connector/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Fedex Connector Through API +=========================== +The FedEx connector is used to connect with shipping through API + +Configuration +============= +* No additional configuration required. + +License +------- +Affero General Public License v3.0 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: (V17) Swathy K S, Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ \ No newline at end of file diff --git a/fedex_odoo_connector/__init__.py b/fedex_odoo_connector/__init__.py new file mode 100644 index 000000000..8f896a0e7 --- /dev/null +++ b/fedex_odoo_connector/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Swathy K S (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from .import models diff --git a/fedex_odoo_connector/__manifest__.py b/fedex_odoo_connector/__manifest__.py new file mode 100644 index 000000000..f43ce9b88 --- /dev/null +++ b/fedex_odoo_connector/__manifest__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Swathy K S (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'Fedex Connector Through API', + 'version': '17.0.1.0.0', + 'category': 'Sales', + 'summary': 'The FedEx connector is used to connect with ' + 'shipping through API.', + 'description': 'The FedEx connector facilitates shipping through an API', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['mail', 'stock_delivery'], + 'data': [ + 'data/shipping_method_fedex.xml', + 'views/delivery_carrier_fedex.xml', + ], + 'images': [ + 'static/description/banner.jpg', + ], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} \ No newline at end of file diff --git a/fedex_odoo_connector/data/shipping_method_fedex.xml b/fedex_odoo_connector/data/shipping_method_fedex.xml new file mode 100644 index 000000000..ae443f6ff --- /dev/null +++ b/fedex_odoo_connector/data/shipping_method_fedex.xml @@ -0,0 +1,34 @@ + + + + + + Fedex_box + Fedex + 30.0 + + + + + Deliveries + + + + Fedex + Delivery_008 + service + + + + 0.0 + order + + + + Fedex + fedex_api + + + + diff --git a/fedex_odoo_connector/doc/RELEASE_NOTES.md b/fedex_odoo_connector/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..51aed2e59 --- /dev/null +++ b/fedex_odoo_connector/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 02.03.2024 +#### Version 17.0.1.0.0 +#### ADD + +- Initial commit for Fedex Connector Through API \ No newline at end of file diff --git a/fedex_odoo_connector/models/__init__.py b/fedex_odoo_connector/models/__init__.py new file mode 100644 index 000000000..268a148c2 --- /dev/null +++ b/fedex_odoo_connector/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Swathy K S (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from .import delivery_carrier_fedex +from .import stock_package_type diff --git a/fedex_odoo_connector/models/delivery_carrier_fedex.py b/fedex_odoo_connector/models/delivery_carrier_fedex.py new file mode 100644 index 000000000..bcddca6f3 --- /dev/null +++ b/fedex_odoo_connector/models/delivery_carrier_fedex.py @@ -0,0 +1,320 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Swathy K S (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +import base64 +from datetime import datetime +from odoo import fields, models +from odoo.exceptions import UserError +from odoo.tools import json +import requests + + +class DeliveryCarrier(models.Model): + """Creating a new delivery carrier and add new fields for + enter client credentials""" + _inherit = 'delivery.carrier' + + delivery_type = fields.Selection(selection_add=[ + ('fedex_api', 'Fedex API')], ondelete={'fedex_api': 'set default'}) + fedex_developer_key = fields.Char(string="Fedex Client ID", + help="Provide fedex developer key") + fedex_developer_pwd = fields.Char(string="Fedex Client Secret", + help="Secret key of fedex") + fedex_account_number = fields.Char(string="FedEx Account Number", + help="Fedex account number") + fedex_access_token = fields.Char(string="Fedex Access Token", + help="Access token for payload") + fedex_default_package_type_id = fields.Many2one('stock.package.type', + string="Fedex Package Type", + help="Package type") + fedex_service_type = fields.Selection( + [ + ('International_priority', 'International priority'), + ('Fedex_International_priority', 'Fedex International priority'), + ], default='Fedex_International_priority', string="Fedex Service type") + fedex_duty_payment = fields.Selection( + [('SENDER', 'Sender'), ('RECIPIENT', 'Recipient')], required=True, + default="SENDER", string="Fedex duty payment", help="Here we can set sender or receiver " + "who is responsible for duty of payment") + fedex_weight_unit = fields.Selection([('LB', 'LB'), + ('KG', 'KG')], + default='LB', string="Select weight type") + fedex_label_stock_type = fields.Selection([('PAPER_LETTER', 'PAPER LETTER'), + ('STOCK_4X6', 'STOCK 4X6')], + string='Label Type', + default='PAPER_LETTER') + fedex_label_file_type = fields.Selection([('PDF', 'PDF'), + ('PNG', 'PNG'), + ('ZPL', 'ZPL')], + default='PDF', + string="Fedex Label File Type") + price = fields.Float(string="Picking Id") + + def fedex_api_rate_shipment(self, order): + """Calculating fedex rate and add to order line""" + current_date = datetime.now().date() + if order: + if self.fedex_developer_key and self.fedex_developer_pwd and self.fedex_account_number: + user_details = order[0]['create_uid'] + partner_details = order[0]['partner_id'] + url = "https://apis-sandbox.fedex.com/oauth/token" + payload = { + "grant_type": "client_credentials", + "client_id": self.fedex_developer_key, + "client_secret": self.fedex_developer_pwd + } + headers = { + 'Content-Type': "application/x-www-form-urlencoded", + } + + response = requests.post(url, data=payload, headers=headers) + if response.status_code == 200: + json_response = response.json() + access_token = json_response.get('access_token') + self.fedex_access_token = access_token + if access_token: + url = "https://apis-sandbox.fedex.com/rate/v1/rates/quotes" + payload = { + "accountNumber": { + "value": self.fedex_account_number + }, + "requestedShipment": { + "shipper": { + "address": { + "postalCode": str(user_details.zip), + "countryCode": str(user_details.country_id.code) + } + }, + "recipient": { + "address": { + "postalCode": str(partner_details.zip), + "countryCode": str(partner_details.country_id.code) + } + }, + "shipDateStamp": str(current_date), + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "serviceType": self.fedex_service_type, + "packagingType": self.fedex_default_package_type_id.id, + "rateRequestType": [ + "LIST", + "ACCOUNT" + ], + "customsClearanceDetail": { + "dutiesPayment": { + "paymentType": "SENDER", + "payor": { + "responsibleParty": None + } + }, + "commodities": [ + { + "description": "", + "quantity": 500, + "quantityUnits": str(self.fedex_weight_unit), + "weight": { + "units": str(self.fedex_weight_unit), + "value": 10 + }, + "customsValue": { + "amount": 400, + "currency": str(self.env.company.currency_id.name) + } + } + ] + }, + "requestedPackageLineItems": [ + { + "weight": { + "units": str(self.fedex_weight_unit), + "value": 10 + } + } + ] + } + } + data = json.dumps(payload) + headers = { + 'Content-Type': "application/json", + 'X-locale': "en_US", + 'Authorization': f"Bearer {access_token}" + } + response = requests.post(url, data=data, headers=headers) + res = {} + if response.status_code == 200: + response_data = json.loads(response.text) + res['price'] = \ + response_data['output']['rateReplyDetails'][0][ + 'ratedShipmentDetails'][0]['totalNetFedExCharge'] + res['carrier_price'] = res['price'] + res['success'] = True + res['warning_message'] = "Successfully added" + self.price = res['price'] + return res + else: + raise UserError(("Please Enter valid credentials")) + else: + raise UserError(("Invalid credentials")) + + def fedex_api_send_shipping(self, pickings): + """The tracking number and exact price are passed to the main function + of send shipping""" + fedex_api_shipping = self.fedex_api_shipping(pickings) + stock_picking_data = self.env['stock.picking'].browse(pickings.id) + stock_picking_data.carrier_tracking_ref = fedex_api_shipping['tracking_number'] + res = [] + res = res + [{'exact_price': fedex_api_shipping['exact_price'], + 'tracking_number': False}] + return res + + def fedex_api_shipping(self, pickings): + """Creating new request for ship api and get tracking number""" + current_date = datetime.now().date() + stock_picking_data = self.env['stock.picking'].browse(pickings.id) + sale_id = stock_picking_data[0]['sale_id'] + partner_id_data = sale_id[0]['partner_id'][0] + user_id_data = sale_id[0]['create_uid'][0] + carrier_id_details = stock_picking_data[0]['carrier_id'] + carrier_id = carrier_id_details.name + url = "https://apis-sandbox.fedex.com/ship/v1/shipments" + payload = { + "labelResponseOptions": "URL_ONLY", + "requestedShipment": { + "shipper": { + "contact": { + "personName": carrier_id, + "phoneNumber": 1234567890, + "companyName": carrier_id + }, + "address": { + "streetLines": [ + "demo" + ], + "city": str(user_id_data), + "stateOrProvinceCode": "AR", + "postalCode": str(user_id_data.zip), + "countryCode": str(user_id_data.country_id.code), + } + }, + "recipients": [ + { + "contact": { + "personName": str(partner_id_data.name), + "phoneNumber": str(partner_id_data.mobile), + "companyName": str(partner_id_data.company_id.name) + }, + "address": { + "streetLines": [ + "RECIPIENT STREET LINE 1", + "RECIPIENT STREET LINE 2" + ], + "city": str(partner_id_data.city), + "stateOrProvinceCode": "TN", + "postalCode": str(partner_id_data.zip), + "countryCode": str(partner_id_data.country_id.code) + } + } + ], + "shipDatestamp": str(current_date), + "serviceType": str(self.fedex_service_type), + "packagingType": "fedex_box", + "pickupType": "DROPOFF_AT_FEDEX_LOCATION", + "blockInsightVisibility": "False", + "shippingChargesPayment": { + "paymentType": "SENDER" + }, + "shipmentSpecialServices": { + "specialServiceTypes": [ + "FEDEX_ONE_RATE" + ] + }, + "labelSpecification": { + "imageType": str(self.fedex_label_file_type), + "labelStockType": str(self.fedex_label_stock_type) + }, + "requestedPackageLineItems": [ + {} + ] + }, + "accountNumber": { + "value": self.fedex_account_number + } + } + headers = { + 'Content-Type': "application/json", + 'X-locale': "en_US", + 'Authorization': f"Bearer {self.fedex_access_token}" + } + data = json.dumps(payload) + response = requests.post(url, data=data, headers=headers) + res = {} + if response.status_code == 200: + response_data = json.loads(response.text) + res['tracking_number'] = response_data["output"]["transactionShipments"][0][ + "completedShipmentDetail"]["masterTrackingId"]["trackingNumber"] + res['exact_price'] = self.price + encoded_label = response_data['output']['transactionShipments'][0]['pieceResponses'][0][ + 'packageDocuments'][0]['encodedLabel'] + if self.fedex_label_file_type == 'PDF': + mime_type = 'application/pdf' + name = "label.pdf" + elif self.fedex_label_file_type == 'PNG': + mime_type = 'image/png' + name = "label.png" + elif self.fedex_label_file_type == 'ZPLII': + mime_type = 'application/text' + name = "label.zpl" + else: + raise ValueError( + f"Unsupported fedex_label_file_type: {self.fedex_label_file_type}") + if isinstance(encoded_label, str): + encoded_label = encoded_label.encode('utf-8') + decoded_bytes = base64.b64decode(encoded_label) + decoded_txt = decoded_bytes.decode('utf-8') + decoded_text = decoded_txt.replace('^POI', '^PO') + url = "http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/" + headers = { + "Accept": mime_type + } + response = requests.post(url, headers=headers, data=decoded_text) + pdf_bytes = response.content + decoded_bytes = base64.b64encode(pdf_bytes) + + if self.fedex_label_file_type == 'ZPLII': + decoded_byte = decoded_text.encode('utf-8') + decoded_bytes = base64.b64encode(decoded_byte) + attachment_values = { + 'name': name, + 'type': 'binary', + 'datas': decoded_bytes, + 'mimetype': mime_type, + 'res_model': 'stock.picking', + 'res_id': pickings.id, + } + attachment_id = self.env['ir.attachment'].sudo().create(attachment_values) + pickings.message_post(body="Delivery details", attachment_ids=[attachment_id.id]) + return res + + def fedex_api_get_tracking_link(self, picking): + """Tracking button function for tracking the ship details""" + return "https://www.fedex.com/fedextrack/?action=track&trackingnumber=%s"% picking.carrier_tracking_ref + + + diff --git a/fedex_odoo_connector/models/stock_package_type.py b/fedex_odoo_connector/models/stock_package_type.py new file mode 100644 index 000000000..5ae89ef7e --- /dev/null +++ b/fedex_odoo_connector/models/stock_package_type.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Swathy K S (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class PackageType(models.Model): + _inherit = 'stock.package.type' + + package_carrier_type = fields.Selection(selection_add=[('fedex_box', 'fedex_box')]) diff --git a/fedex_odoo_connector/static/description/assets/icons/capture (1).png b/fedex_odoo_connector/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/capture (1).png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/check.png b/fedex_odoo_connector/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/check.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/chevron.png b/fedex_odoo_connector/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/chevron.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/cogs.png b/fedex_odoo_connector/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/cogs.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/consultation.png b/fedex_odoo_connector/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/consultation.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/ecom-black.png b/fedex_odoo_connector/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/ecom-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/education-black.png b/fedex_odoo_connector/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/education-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/hotel-black.png b/fedex_odoo_connector/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/hotel-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/img.png b/fedex_odoo_connector/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/img.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/license.png b/fedex_odoo_connector/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/license.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/lifebuoy.png b/fedex_odoo_connector/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/lifebuoy.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/manufacturing-black.png b/fedex_odoo_connector/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/manufacturing-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/photo-capture.png b/fedex_odoo_connector/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/photo-capture.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/pos-black.png b/fedex_odoo_connector/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/pos-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/puzzle.png b/fedex_odoo_connector/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/puzzle.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/restaurant-black.png b/fedex_odoo_connector/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/restaurant-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/service-black.png b/fedex_odoo_connector/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/service-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/trading-black.png b/fedex_odoo_connector/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/trading-black.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/training.png b/fedex_odoo_connector/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/training.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/update.png b/fedex_odoo_connector/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/update.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/user.png b/fedex_odoo_connector/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/user.png differ diff --git a/fedex_odoo_connector/static/description/assets/icons/wrench.png b/fedex_odoo_connector/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/icons/wrench.png differ diff --git a/fedex_odoo_connector/static/description/assets/misc/Cybrosys R.png b/fedex_odoo_connector/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/misc/Cybrosys R.png differ diff --git a/fedex_odoo_connector/static/description/assets/misc/email.svg b/fedex_odoo_connector/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/phone.svg b/fedex_odoo_connector/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/star (1) 2.svg b/fedex_odoo_connector/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/support (1) 1.svg b/fedex_odoo_connector/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/support-email.svg b/fedex_odoo_connector/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/tick-mark.svg b/fedex_odoo_connector/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/whatsapp 1.svg b/fedex_odoo_connector/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/misc/whatsapp.svg b/fedex_odoo_connector/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/fedex_odoo_connector/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fedex_odoo_connector/static/description/assets/modules/1.png b/fedex_odoo_connector/static/description/assets/modules/1.png new file mode 100644 index 000000000..46c4f4945 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/1.png differ diff --git a/fedex_odoo_connector/static/description/assets/modules/2.png b/fedex_odoo_connector/static/description/assets/modules/2.png new file mode 100644 index 000000000..65dca4b25 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/2.png differ diff --git a/fedex_odoo_connector/static/description/assets/modules/3.png b/fedex_odoo_connector/static/description/assets/modules/3.png new file mode 100644 index 000000000..809d13edd Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/3.png differ diff --git a/fedex_odoo_connector/static/description/assets/modules/4.png b/fedex_odoo_connector/static/description/assets/modules/4.png new file mode 100644 index 000000000..7275aaec1 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/4.png differ diff --git a/fedex_odoo_connector/static/description/assets/modules/5.png b/fedex_odoo_connector/static/description/assets/modules/5.png new file mode 100644 index 000000000..32ec06470 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/5.png differ diff --git a/fedex_odoo_connector/static/description/assets/modules/6.png b/fedex_odoo_connector/static/description/assets/modules/6.png new file mode 100644 index 000000000..be05f5d4b Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/modules/6.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/1.png b/fedex_odoo_connector/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..4b4708643 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/1.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/10.png b/fedex_odoo_connector/static/description/assets/screenshots/10.png new file mode 100644 index 000000000..9b7fc8dab Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/10.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/11.png b/fedex_odoo_connector/static/description/assets/screenshots/11.png new file mode 100644 index 000000000..fa4b8c1ac Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/11.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/12.png b/fedex_odoo_connector/static/description/assets/screenshots/12.png new file mode 100644 index 000000000..0cb4167c6 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/12.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/13.png b/fedex_odoo_connector/static/description/assets/screenshots/13.png new file mode 100644 index 000000000..e79e054f8 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/13.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/2.png b/fedex_odoo_connector/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..a0de595b8 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/2.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/3.png b/fedex_odoo_connector/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..27fc2f0bc Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/3.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/4.png b/fedex_odoo_connector/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..97e959d97 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/4.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/5.png b/fedex_odoo_connector/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..13e665165 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/5.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/6.png b/fedex_odoo_connector/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..b97f69935 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/6.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/7.png b/fedex_odoo_connector/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..61d3c22fb Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/7.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/8.png b/fedex_odoo_connector/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..c94472c87 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/8.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/9.png b/fedex_odoo_connector/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..86477b2f5 Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/9.png differ diff --git a/fedex_odoo_connector/static/description/assets/screenshots/hero.gif b/fedex_odoo_connector/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..2ca2d75fe Binary files /dev/null and b/fedex_odoo_connector/static/description/assets/screenshots/hero.gif differ diff --git a/fedex_odoo_connector/static/description/banner.jpg b/fedex_odoo_connector/static/description/banner.jpg new file mode 100644 index 000000000..4354a7b13 Binary files /dev/null and b/fedex_odoo_connector/static/description/banner.jpg differ diff --git a/fedex_odoo_connector/static/description/icon.png b/fedex_odoo_connector/static/description/icon.png new file mode 100644 index 000000000..c7bb55b24 Binary files /dev/null and b/fedex_odoo_connector/static/description/icon.png differ diff --git a/fedex_odoo_connector/static/description/index.html b/fedex_odoo_connector/static/description/index.html new file mode 100644 index 000000000..bb2e8077a --- /dev/null +++ b/fedex_odoo_connector/static/description/index.html @@ -0,0 +1,875 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Enterprise +
+
+
+
+
+
+

+ Fedex Connector Through API

+

+ The FedEx connector is used to connect with + shipping through API +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Get live rate.

+

Fetch live rate + of shipping. +

+
+
+
+
+
+
+ +
+
+

+ Shipment tracking.

+

Provide + shipment tracking by using tracking reference. +

+
+
+
+
+
+
+ +
+
+

+ Enterprise & Community Support

+

Available in + Odoo 17.0 Enterprise and Community. +

+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+

+ Setup an account in FedEx using https://www.fedex.com + Login to fedex and choose My Projects and + create a new project.

+
+
+
+
+
+
+ +
+
+

+ Here we can see a popup window and select + 'Ships with FedEx and needs to integrate + FedEx APIs in to their system'

+
+
+
+
+
+
+ +
+
+

+ Choose Ship,Rate and other APIs to include + your project

+
+
+
+
+
+
+ +
+
+

+ Enable Rates and transit time + API and Ship API then click Next. +

+
+
+
+
+
+
+ +
+
+

+ You can choose any countries you plan to ship to or from here and click Next. +

+
+
+
+
+
+
+ +
+
+

+ Accept the terms and conditions and click CREATE. +

+
+
+
+
+
+
+ +
+
+

+ When hovering over the shipping location, you will see a + button labeled "Add account country." Clicking on it will + allow you to choose the shipping location and save it, + resulting in obtaining the account number. +

+
+
+
+
+
+
+ +
+
+

+ Enable 'Delivery Methods' in sales settings, Choose + shipping methods in the configuration. + Select 'Fedex' and provide API credentials here and select fedex package + type as 'Fedex_box' +

+
+
+
+
+
+
+ +
+
+

+ Create an quotation and click 'Add shipping' + for choosing shipping method. +

+
+
+
+
+
+
+ +
+
+

+ Here select 'Fedex' and click 'Get rate' for + getting live rate, and click 'Add' then it + will be added to the order line +

+
+
+
+
+
+
+ +
+
+

+ After confirming the quotation, click + 'Delivery' button. +

+
+
+
+
+
+
+ +
+
+

+ Click on 'Validate' then the stage changed + to 'Done' stage and tracking reference + generated. +

+
+
+
+
+
+
+ +
+
+

+ Here we can see the tracking reference.

+
+
+
+
+
+
+
    +
  • + Get live + shipment rate. +
  • +
  • + Get tracking + reference for tracking the shipping details. +
  • +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on:08th January 2024 +
+

+ Initial Commit for Fedex Connector Through + API

+
+
+
+
+
+
+
+

+ Related Products

+
+
+ +
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Licensing Consultancy

+
+
+
+
+
+
+

+ Our Industries

+ +
+
+
+
+
+
+ +

Trading

+

Easily procure and sell your products

+
+
+
+
+ +

POS

+

Easy configuration and convivial experience

+
+
+
+
+ +

+ Education

+

A platform for educational management

+
+
+
+
+ +

+ Manufacturing

+

Plan, track and schedule your operations

+
+
+
+
+ +

E-commerce & + Website

+

Mobile friendly, awe-inspiring product pages

+
+
+
+
+ +

Service + Management

+

Keep track of services and invoice

+
+
+
+
+ +

+ Restaurant

+

Run your bar or restaurant methodically

+
+
+
+
+ +

Hotel + Management

+

An all-inclusive hotel management application

+
+
+
+
+
+
+

+ Support

+
+
+
+
+
+
+
+ +
+ Need + Help? +

Got + questions or need help? Get in touch.

+
odoo@cybrosys.com +
+
+
+
+
+
+
+
+ +
+ WhatsApp +

Say hi to + us on WhatsApp!

+
+91 + 99456767686 +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/fedex_odoo_connector/views/delivery_carrier_fedex.xml b/fedex_odoo_connector/views/delivery_carrier_fedex.xml new file mode 100644 index 000000000..67230fdea --- /dev/null +++ b/fedex_odoo_connector/views/delivery_carrier_fedex.xml @@ -0,0 +1,38 @@ + + + + + delivery.carrier.form.provider.fedex + delivery.carrier + + + + + + + + + + + + + + +
+ Package Length Unit +
+
+ CM + IN +
+ + +
+
+
+
+
+
+