Giter Site home page Giter Site logo

osi-addons's Introduction

Pre-commit Status Build Status codecov

OSI Addons

OSI Addons

Licenses

This repository is licensed under AGPL-3.0.

However, each module can have a totally different license, as long as they adhere to Open Source Integrators policy. Consult each module's __manifest__.py file, which contains a license key that explains its license.


osi-addons's People

Contributors

agyamuta avatar b-kannan avatar chanakya-osi avatar dreispt avatar hardik-osi avatar max3903 avatar nikul-osi avatar rleeosi avatar smaciasosi avatar tirth-osi avatar urvisha-osi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osi-addons's Issues

[RFC] osi_board_employee

Description

This module adds a "Employee" dashboard in Dashboard with:

  • Billability (Yearly, Monthly, Weekly)
  • Monthly Leverage
  • Monthly Goals: Forecast on project versus timesheet entries
  • Employee badges and awards

Usage

  • Go to Dashboard > Employee

[IMP] osi_analytic_segments

  • Add the 2 segments on the reconciliation widget
  • Make sure they end up on the account move line once the reconciliation is done

agreement

Service Profiles

  • Add a agreement.serviceprofile object with a required name field
  • Add a many2one field "Agreement" (agreement_id) to agreement

Agreement

  • Add a one2many field "Service Profiles" (serviceprofile_ids) to agreement.serviceprofile

[ADD] fieldservice_account_asset

Depends: fieldservice_stock, agreement_serviceprofile, account_asset
License: AGPL-3

Description

This module aims to link the FSM equipment with its accounting asset and allow tracking of its depreciation.

Usage

  • Go to Field Service
  • Create an equipment and select its asset category
  • Saving the equipment creates:
    • a new asset based on the information from the category
    • a journal entry to move the value of the equipment from the stock account to the asset account
  • When the equipment is sold, its related asset is disposed.

Technical Specifications

product.template

  • Add a many2one field "Asset Profile" (asset_profile_id) to account.asset.profile

fsm.stage

  • Add a many2one field "Force Equipments Stage" (equipment_stage_id) to fsm.stage. The list of value is filtered with the stages applying to equipment only. The field is displayed only if the stage is applied to order.
  • Add a selection field "Asset Action" (asset_action) with "Create", "Recover". The field is displayed only if the stage is applied to equipment. There can only be one record with this field set to "Recover" per company.

fsm.equipment

  • Add a many2one field "Asset" (asset_id) to account.asset. The field is readonly.

  • When the fsm.stage is changed, check the following scenario:

    • Asset creation. Conditions:
      • the equipment reaches that stage
      • the equipment is in a service location with type = internal
      • the related product has a asset profile
      • Then,
      • the accounting entry is created to transfer the value from the inventory valuation account to the asset account from the asset profile
      • an asset is created based on the asset profile and the value of the inventory item
      • the cost of the inventory item is set to 0
      • the equipment is linked to the asset
    • Asset Recovery. Conditions:
      • the equipment reaches that stage
      • the equipment is not used by any service profile
      • the equipment is linked to a running asset
      • Then,
      • the asset is removed
      • the residual value is set on the inventory item
      • Otherwise
      • Show an error message if the equipment is still used by a service profile. Provide the service profile in the error message.
  • When the current location is changed, make sure the equipment is not linked to a running asset.

stock.move.line

  • When a record with a serial number is transferred, check first if there is an equipment related to that serial number ad if the equipment is not linked to a running asset. Otherwise raise an error message with the name of the equipment.

fsm.order

  • Add an icon/button "Recover" on the equipments list to change their stage to the stage where asset_action = "Recover"
  • When the stage is changed, if equipment_stage_id is set on the new stage, set the stage of all the equipments of the order to that equipment stage.

[IMP] helpdesk_fieldservice

@max3903

Curious if I could submit a PR to remove the validation logic that checks for an end date and resolution before the call to super in the action_complete method of fsm_order.py in the helpdesk_fieldservice module

  1. This same validation logic is already in fieldservice_isp_flow.
  2. I call a wizard with the action_complete method which then sets the end date and resolution notes, so this validation would break the flow in my use case.

If you guys need to keep it, I will just modify my own locally.

[ADD] agreement_sale_subscription_suspension

Dependencies: agreement_serviceprofile, agreement_sale_subscription +

This module will suspend all the services of an agreement if the related subscription is suspended.

Usage

  • Create a subscription product and check the box "Create a Service Profile" on the "Agreement" tab
  • Create a sale order with an agreement template and the previous product
  • Confirm the sale order. The subscription, agreement and service profile get created and linked together.
  • On the subscription, click on "Suspend". The service profile is suspended.
  • On the subscription, click on "Re-Activate". The service profile is re-activated.

Technical Specifications

sale.subscription

  • When a subscription is suspended, move all the service profiles of the related agreement in the "Suspended" state
  • When a subscription is re-activated, move all the service profiles of the related agreement in the "In Progress" state

agreement_rma

Dependencies: agreement, rma from https://github.com/eficent/stock-rma
License: AGPL-3

Module description

Odoo Agreement App does not provide an easy way to access RMAs related to an agreement. Some organizations needs to have a quick access to RMAs to track the performance of an agreement.

This module allows you to link a RMA to an agreement and adds a smart button on the agreement to look at the list of related RMAs.

Usage

  • Go to Inventory > Customer RMA > RMA
  • Select or create a RMA and set the agreement
  • Go to Agreement > Agreements
  • Open the previous agreement
  • Click on the smart button "RMAs" to see the list of related RMAs

Technical Specifications

  • In the agreement module, add a setting option to install agreement_rma
  • Add a many2one field "Agreement" (agreement_id) on rma.line
  • Add a smart button on agreement to show the list of related RMAs
  • Add a many2one field "Service Profile" (serviceprofile_id) on rma.line
  • Filter the list of service profiles based on the selected agreement
  • Add a group by Service Profile in the search view

[RFC] stock_request_rma

License: LGPL
Depends on:

  • stock_request_direction
  • rma

This module allows you to change the destination location of an inbound stock request from Stock to RMA if the warehouse accepts RMA.

Configuration

  • Go to Inventory > Configuration > Warehouse Management > Warehouses
  • Select a warehouse
  • Check the box to accept RMA
  • Set the RMA location

Usage

  • Go to Stock Requests
  • Create or select a stock request
  • Select the warehouse previously configured
  • Set the direction to "Inbound". The location is set to the RMA location of that warehouse
  • Confirm the stock request.
  • Go to Inventory. A transfer has been created in the "Customer --> RMA" operation type of the warehouse.

Technical Specifications

stock.request

  • Change the location for "Inbound" to the RMA location set on the warehouse (lot_rma_id), if the warehouse accepts RMA.

Tests

  • Write a unit test to check the location is correctly set on the stock request.
  • Write a unit test to check that the created transfer has the right operation type.

[RFC] fieldservice_rma

License: LGPL
Depends on:

  • fieldservice_stock_delivery
  • rma

This module allows the dispatcher to:

  • create an RMA from a FSM order
  • notify the warehouse team of the defective item to be received

Configure

Please refer to the configuration steps of the rma module

Usage

  • Go to Field Service > Operations > Orders
  • Select or create an order
  • Click on the RMA smart button
  • Create a RMA and process it

Technical Specifications

fsm.order

  • Add a many2many field "RMA" (rma_order_line_ids) to rma.order.line
  • Add a related field "RMA Counter" (rma_counter) to compute the number of RMAs related to the ticket
  • Add a smart button on the helpdesk ticket to access and create RMAs

rma.order.line

  • Add a many2many field "FSM Orders" (fsm_order_ids) to fsm.order
  • Add a related field "FSM Order Counter" (fsm_order_counter) to compute the number of FSM orders related to the RMA
  • Add a smart button on the RMA to access and create FSM orders

Tests

  • Check that the RMA is linked to the order
  • Check that the RMA counter is computed properly
  • Check that the FSM Order counter is computed properly

[ADD] sale_subscription_suspension

Dependencies: sale_subscription
License: LGPL-3

Odoo Sale Subscription App does not allow to suspend a subscription and avoid the creation of future invoices.

This module adds a new subscription stage "Suspended" and skip the creation of invoices for suspended subscription.

Usage

  • Go to Subscriptions
  • Create or open a subscription
  • Click on "Suspend" to move the stage to "Suspended". The future invoices will not be created.
  • Click on "Re-activate" to move the stage to "In Progress" and allow the creation of the future invoices.

Technical Specifications

sale.subscription.stage

  • Add a stage "Suspended"

sale.subscription

  • Add a button "Suspend" in the "In Progress" stage to move the subscription to "Suspended" and disable the creation of new invoices
  • Add a button "Re-Activate" in the "Suspended" stage to move the subscription to "In Progress" and enable the creation of future invoices

[RFC] helpdesk_operating_unit

Dependencies: operating_unit, helpdesk
License: LGPL-3

This module adds operating unit information to Helpdesk tickets.

Usage

  • Go to Helpdesk > Operations > All Tickets
  • You only see the tickets of your operating units
  • Create a new ticket. It is assigned to your default operating unit.

Technical Specifications

helpdesk.ticket

  • Add a many2one field "Operating Unit" (operating_unit_id) to operating.unit
  • Set the default value to the OU of the connected user
  • Add the global record rules to separate fsm orders by OU. If a ticket is not assigned to a OU, it is visible by all OU.

Inventory_stock request Error

Hi,

could you help me with this error?

Error:
Odoo Server Error

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 651, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/usr/lib/python3/dist-packages/odoo/http.py", line 693, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 342, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 335, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 937, in call
return self.method(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons-extras/helpdesk_stock/models/helpdesk_ticket.py", line 49, in action_inventory_request
if self.fsm_location_id and self.line_ids:
AttributeError: 'helpdesk.ticket' object has no attribute 'fsm_location_id'

[RFC] helpdesk_rma

License: LGPL
Depends on:

  • helpdesk_stock
  • rma

This module allows the helpdesk user to:

  • create an RMA from a ticket
  • notify the warehouse team of the defective item to be received

Configure

Please refer to the configuration steps of the rma module

Usage

  • Go to Helpdesk > Tickets > All tickets
  • Select or create a ticket
  • Click on the RMA smart button
  • Create a RMA and process it to get the shipping label
  • Send the shipping label to the customer

Technical Specifications

helpdesk.ticket

  • Add a many2many field "RMA" (rma_order_line_ids) to rma.order.line
  • Add a related field "RMA Counter" (rma_counter) to compute the number of RMAs related to the ticket
  • Add a smart button on the helpdesk ticket to access and create RMAs

rma.order.line

  • Add a many2many field "Tickets" (ticket_ids) to helpdesk.ticket
  • Add a related field "Ticket Counter" (ticket_counter) to compute the number of tickets related to the RMA
  • Add a smart button on the RMA to access and create helpdesk tickets

Tests

  • Check that the RMA is linked to the ticket
  • Check that the RMA counter is computed properly
  • Check that the Ticket counter is computed properly

helpdesk_ticket_parent

Dependencies: Helpdesk
License: LGPL-3

Module description

Odoo Helpdesk does not allow to relate tickets with each others.

Helpdesk teams need a way to track several individual issues under one parent ticket. This type of ticket is usually created during troubleshooting when an agent (Levels II and II) detects that the issue is further away from the end-user who reported it and it is affecting or will potentially impact other end-users or dependent products/services.

This module allows the helpdesk user to set a parent-children relationship between helpdesk tickets.

Usage

  • Go to Helpdesk
  • Create or select a ticket
  • Set his parent
  • Go to the parent to see all his children
  • In the search view, use the Parents filter to get the list of tickets whose parent is not set. Use the Children one to get the ones whose parent is set.

Technical Specification

  • Add a many2one field "Parent" (parent_id) on helpdesk.ticket
  • Add a one2many field "Children" (child_ids) on helpdesk.ticket
  • Add a "Parents" filter in the search view to only show tickets whose parent_id is not set
  • Add a "Children" filter in the search view to only show tickets whose parent_id is set
  • Add a test to create 2 tickets A and B. Set A as the parent of B. Check that B is a child of A.

agreement_helpdesk

  • Add a many2one field "Service Profile" (serviceprofile_id) on helpdesk.ticket
  • Add a group by Service Profile in the search view
  • Filter the list of service profiles based on the selected agreement

[ADD] sale_subscription_financial_risk

Dependencies: account_financial_risk, sale_subscription_suspension

This module allows you to define credit and overdue control with dynamic limit based on subscriptions.

Usage

  • Go to Contacts
  • Create or select a partner
  • Go to the "Financial risk" tab
  • Set the credit limit type: "Fixed Amount" or "Based on Subscriptions" and their attributes
  • Set the overdue limit

A scheduled action will run everyday to update the subscriptions (suspend or not) based on the customer credit and overdue statuses.

Technical Specifications

res.partner

  • Add an integer field "Overdue Limit" (overdue_limit_qty) with the following tooltip (help): If one invoice is due for more than the duration specified here, all the subscriptionsof the customer will be suspended.
  • Add a selection field "Unit of Measure" (overdue_limit_uom) with "Days", "Weeks" and "Months"
  • Add a selection field "Credit Limit Type" with "Fixed Amount" and "Based on Subscriptions"
  • Hide the "Credit Limit" field if "Credit Limit Type" is not "Fixed"
  • Add an integer field "Using the last" (credit_limit_subscription_qty)
  • Add a selection field "Unit of Measure" (credit_limit_subscription_uom) with "Weeks", "Months", "Quarters" and "Years"
  • Hide the last 2 fields only if the type is not "Based on Subscriptions"

ir.cron

  • Add a scheduled action to
  • get all the "In Progress" and "Suspended" subscriptions of all the customers or just a specific one get their respective customers
  • for each customer
  • compute their credit and their credit limit (based on the type)
  • compare the credit with their limit
  • get the age of the oldest open invoice
  • if credit > credit limit or age > overdue limit, move all the subscriptions of the customer to "Suspended"
  • otherwise, if the subscriptions are in "Suspended", move them to "In Progress"

account.payment

  • When a payment is registered, re-run the scheduled action for that specific customer to re-activate the subscription

Fix pre-commit errors

account_bank_statement_extend/report/account_bank_statement.py:29:29: B007 Loop control variable 'move' not used within the loop body. If this is intended, start the name with an underscore.
account_bank_statement_extend/report/account_bank_statement.py:37:37: E741 ambiguous variable name 'l'
account_bank_statement_extend/report/account_bank_statement.py:50:49: F821 undefined name 'b_state'
account_bank_statement_extend/report/account_bank_statement.py:99:104: B950 line too long (103 > 88 characters)
account_bank_statement_extend/report/account_bank_statement.py:116:29: B007 Loop control variable 'move' not used within the loop body. If this is intended, start the name with an underscore.
account_bank_statement_extend/report/account_bank_statement.py:123:37: E741 ambiguous variable name 'l'
account_bank_statement_extend/report/account_bank_statement.py:177:104: B950 line too long (103 > 88 characters)
account_bank_statement_extend/wizard/parser_report_bank_statement.py:46:39: E741 ambiguous variable name 'l'
account_bank_statement_extend/wizard/parser_report_bank_statement.py:61:5: C901 'BankStatementReport.get_bank_statement_report_data' is too complex (23)
account_bank_statement_extend/wizard/parser_report_bank_statement.py:97:29: B007 Loop control variable 'move' not used within the loop body. If this is intended, start the name with an underscore.
account_bank_statement_extend/wizard/parser_report_bank_statement.py:104:37: E741 ambiguous variable name 'l'
account_bank_statement_extend/wizard/parser_report_bank_statement.py:163:29: B007 Loop control variable 'move' not used within the loop body. If this is intended, start the name with an underscore.
account_bank_statement_extend/wizard/parser_report_bank_statement.py:170:37: E741 ambiguous variable name 'l'
fieldservice_mobile/models/ir_attachment.py:37:36: B007 Loop control variable 'create_uid' not used within the loop body. If this is intended, start the name with an underscore.

agreement_helpdesk

Dependencies: helpdesk, agreement
License: LGPL-3

Module description

Odoo Agreement App does not provide an easy way to access helpdesk tickets related to an agreement. Some organizations needs to have a quick access to helpdesk tickets to track the performance of an agreement.

This module allows you to link a helpdesk ticket to an agreement and adds a smart button on the agreement to look at the list of related helpdesk tickets.

Usage

  • Go to Helpdesk > Tickets
  • Select or create a helpdesk ticket and set the agreement
  • Go to Agreement > Agreements
  • Open the previous agreement
  • Click on the smart button "Tickets" to see the list of related helpdesk tickets

Technical Specifications

  • Add a many2one field "Agreement" (agreement_id) on helpdesk.ticket
  • Add a smart button on agreement to show the list of related helpdesk tickets

[RFC] osi_board_company

Description

This module adds a "Company" dashboard in Dashboard with:

  • Hall of Fame: Employees sorted by number of badges and awards
  • Monthly Goals: Forecast on project versus Timesheet Entries
  • Daily Reports: Billability report by employee

Usage

  • Go to Dashboard > Company

[RFC] helpdesk_stock_account

Depends on:

This module allows you to invoice or expense the inventory items shipped to a customer while processing a helpdesk ticket. It releases the value from the stock output account.

Usage

  • Go to Helpdesk > Operations > All Tickets
  • Create or select a ticket
  • Add stock requests to a customer location and process them
  • Click on:
    • Invoice to transfer the value to the expense account of the product category/product (Cost Of Good Sold)
    • Expense to transfer the value to the secondary expense account of the product category/product (Expense)

Technical Specifications

helpdesk.ticket

  • Only when the ticket is closed, display the following 2 buttons
  • "Invoice": to call the _invoice method on all the done stock requests delivered to a customer location with an empty "Journal Entry" and "Invoice Line" where the partner is the "Contact" of the ticket.
  • "Expense": to call _expense(partner) on all the done stock requests delivered to a customer location with an empty "Journal Entry" and "Invoice Line" where the partner is the "Contact" of the ticket.

[ADD] connector_voicent_helpdesk_ticket

Depends on OCA/connector-telephony#186

Description

Odoo Helpdesk App does not provide an automated way to trigger phone calls when a ticket reaches a specific stage in the process.

For companies with a large number of tickets or when a ticket impacts many people, calling everyone one by one is a time-consuming option.

This module aims to automate calls to customer or impacted third parties when a ticket reaches a specific stage.

Configuration

  • Go to Connectors > Backends > Voicent Backends
  • Create a Voicent Backend with the host and port, time lines and call lines
  • Go to Contacts
  • Review customers to set the "Can Call" box or not

Usage

  • Go to Helpdesk
  • Create a ticket and assign it to a customer who accepts phone calls
  • Move the ticket to the stage specified in the call lines of the backend
  • Check the chatter for the call status

Technical Specifications

  • Add a "Helpdesk Ticket" option to the "Applies On" selection field of backend.voicent.call.line
  • Add a many2one field "Helpdesk Ticket Stage" (helpdesk_ticket_stage_id) to backend.voicent.call.line
  • When a helpdesk ticket enters a selected stage, create a job in the queue if the customer accepts calls.
  • When the worker executes the job and if the current time is after the Next Call:
    • Check the stage of the helpdesk.ticket and cancel the job if the stage has changed.
    • Connect to Voicent with the host and port from the backend
    • Create the file to provide the customer information for the call with the following structure:
    • Call Voicent API to import and run a campaign with the previous file and Voicent App from the backend
    • Store the campaign ID in the job
    • Change the status of the job to "Waiting Voicent Status"
    • Log an internal note on the ticket
  • Update the scheduled action to check the Voicent status of the running jobs to add:
    • Log an internal note on the ticket "Status Call on : "

[ADD] helpdesk_stage_server_action

Depends: helpdesk
License: AGPL-3

Odoo Helpdesk App does not provide a way to communicate with third parties within the process of a ticket.

Organizations may need to communicate with different contacts or workers to notify them, to get information or a decision from them.

This module provides a server action on each stage of the process so you can create child actions to send different email templates to different groups of people. Those actions are executed when you click on the buttons to move the ticket within the process.

Configuration

  • Go to Settings > Technical > Email > Templates
  • Create or select an email template
  • Go to Helpdesk > Configuration > Stages
  • Create a or select a stage
  • Add or open the server action
  • Create a server action as a child action to send an email using the previous template

Usage

  • Go to Helpdesk
  • Create a ticket and go through the process
  • Actions will be executed and email sent as the ticket move from one stage to another

Technical Specifications

  • Add a many2one field "Server Action" (action_id) to ir.actions.server on helpdesk.stage
  • Add one server action for each stage:
    • Name = "Ticket is " + Name of the stage
    • Model = helpdesk.ticket
    • Action To Do = Execute Several Actions
  • Execute the server action when a ticket enters a stage

MRP inventory valuation for serial product get wrong

Description:-
1)Product with serial tracking, Force Removal Strategy: -FIFO ,Costing Method:-FIFO.
Have issue of if we having the product as followed.
1
2) Create MO with Following Component.
Check the Cost for Finnish Product.
2
3
As we can see the issue here is component with Sr.no:- 4563 Cost is $50. But is calculated the cost of finish good base of FIFO.
3) If we created MO with Component cost $100 it will take $50 cost price as per the FIFO.
4
5
##################################################################################################

Solution:-

We have module osi_fifo_serialized_fix in which this issue is fix for Sale Order Delivery Order.
Enhances the module for MRP Inventory Valuation
Following Output after enhancement:-

  1. PO the product with 3 different rate
    6
  2. Create MRP with Following compounds and select the serial non-FIFO structure.
    6 1
    As we see the above serial no have cost price is $50
    3 Check the finish goods Cost.
    7
  3. Create Another MO with same Component Selected the different Serial check the Cost of Finish Goods
    8
    9

agreement_sale_subscription

Dependencies:

License: LGPL-3

Module description

Odoo Sales Subscription App does not support the management of legal content for agreement and contract. It's also not integrated with the Agreement App. The Agreement App does not support recurring invoicing with all the reporting and accounting that comes with subscriptions and deferred revenues.

This module will allow you to perform recurring invoicing of subscription products and review their performance from the agreement.

Configuration

  • Create a subscription template
  • Create an agreement template
  • Set the agreement sections on the subscription product

Usage

  • Go to Sales
  • Create a quotation, set the agreement template and add a subscription product
  • Confirm the quotation --> The agreement is linked to the created subscription and vice versa.

Technical Specifications

  • Add a readonly many2one field "Subscription" (subscription_id) on the agreement to sale.subscription
  • Add a readonly many2one field "Agreement" (agreement_id) on the subscription to agreement
  • When the sales order is confirmed and the subscription created, the subscription is linked to the agreement and vice versa.

[ADD] sale_subscription_brand

This module allows you to propagate the brand from the sales order to the subscription and the customer invoices.

Configuration

Usage

  • Go to Sales > Quotations
  • Create or select a quotation
  • Set the brand
  • Add a subscription product to the quotation
  • Confirm the quotation --> The brand on the subscription is set and has the same brand as the sales order.
  • Generate the first invoice --> The brand on the customer invoice is set and has the same brand as the subscription.

Technical Specifications

sale.subscription

  • Add a many2one field "Brand" (brand_id) to res.partner with a domain: type = brand

sale.order

  • When the quotation is confirmed and contains a subscription product, set the brand_id on the subscription to the same value as the one on the sale order

account.invoice

  • When an invoice is created from a subscription which has a brand, set the brand on the invoice to the same value as the one on the subscription

helpdesk_fieldservice 11.0.0.2.0

  • Rename the module from helpdesk_fsm to helpdesk_fieldservice

fsm.order.work

  • Add a many2one field "Ticket" (ticket_id)

helpdesk.ticket

  • Remove the field ticket_id on fsm.order
  • Replace the many2one field "Service Requests" from pointing to fsm.order to point to fsm.order.work using ticket_id
  • Show the field "Field Service Order" (order_id) of fsm.order.work

fieldservice_helpdesk_stock 11.0.0.0.1

License: LGPL-3
Dependencies: fieldservice_stock, helpdesk_stock
Auto Install: True

Module Description

Odoo Field Service App allows to manage service requests and orders. The app does not support the logistic side of those activities: Sometimes, the dispatcher need to ship materials to the field service person or to the serviced location.

Odoo Helpdesk App allows to manage support tickets or customer service requests. The app does not support the logistic side of those activities: Sometimes, helpdesk users need to ship materials to the customer or to the serviced location to solve a ticket.

This module allows to integrate material request between a helpdesk ticket and field service order to be shipped to the customer location or serviced location and follow up with the Inventory team.

Usage

  • Create a service order with a customer and a ticket
  • In Inventory, add products with quantity
  • Click on Confirm
    • The delivery order is created
    • The transfer is set on the ticket
    • The state is updated to Confirmed
    • The product, description and quantity requested cannot be changed
  • Transfer partially the delivery order
    • The state is updated to Partially Shipped
  • Transfer completely the delivery order
    • The state is updated to Done

Technical Specifications

Field Service Order Line

  • Add a many2one field "Helpdesk Ticket Line" (helpdesk_ticket_line_id) to helpdesk.ticket.line

Helpdesk Ticket Line

  • Add a many2one field "Field Service Order Line" (fsm_order_line_id) to fsm.order.line

Field Service Order

  • When a fsm.order.line is created, if the service order is linked to a ticket, a helpdesk.ticket.line is created with the same information and linked to the field service order line
  • When a fsm.order.line is confirmed, the related helpdesk.ticket.line is confirmed and linked to the same delivery order.
  • When a helpdesk.ticket.line is confirmed, if the "Field Service Order Line" is set, then the field service order line is also confirmed and linked to the same delivery order.

helpdesk_stock

License: LGPL-3

Module description

Odoo Helpdesk App allows to manage support tickets or customer service requests. The app does not support the logistic side of those activities: Sometimes, helpdesk users need to ship materials to the customer or to the serviced location to solve a ticket.

This module allows the Helpdesk user to request materials to be shipped to the customer location or serviced location and follow up with the Inventory team.

Usage

  • Create a helpdesk ticket with a customer
  • In Materials, add products with quantity
  • Click on Confirm
    • The delivery order is created
    • The transfer is set on the ticket
    • The state is updated to Confirmed
    • The product, description and quantity requested cannot be changed
  • Transfer partially the delivery order
    • The state is updated to Partially Shipped
  • Transfer completely the delivery order
    • The state is updated to Done

Helpdesk Ticket Line

  • Add a helpdesk.ticket.line object
  • Add a required char field "Description" (name).
  • Add a many2one field "Product" (product_id) to product.product. Only stockable product can be selected. Like the sale order line, selecting the product set the description.
  • Add a float field "Quantity Requested" (qty_ordered)
  • Add a readonly float field "Delivered" (qty_delivered)
  • Add a selection field "State" (state) with: Draft, Confirmed, Partially Shipped, Done. If the state is not Draft, the other fields are readonly.
  • Add a readonly many2one field "Transfer" (picking_id) to stock.picking

Helpdesk Ticket

  • Add a one2many field "Materials" (line_ids) to helpdesk.ticket.line
  • Add a button to confirm all draft lines. Like a sales order, the confirmation creates a procurement in the location of the customer and relate the delivery order to the ticket (picking_id is set)
  • When the delivery order is transferred, the quantity delivered is updated.
  • When all the quantity has been delivered, the state is updated to Done.

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.